Ви не увійшли.
Можно. Работает. Просто пользуетесь ними как обычными цифровыми выводам. Нумерация идет дальше по порядку: 14, 15, 16...
http://arduino.ru/Tutorial/AnalogInputPins
В данном случае, ничего.
Был у меня случай:
int16_t A
int16_t B
uint16_t C
A = B - C
Не помню на какой версии IDE, но результат вычислялся неправильно.
Все инициализация пишется в секции setup, выполняется эта секция один раз при старте, далее по кругу крутится секция loop.
Все умолчания которые вам не нравятся делаются в setup. Хорошим тоном считается принудительная инициализация всего, что вам надо, тогда вы не будете зависить от компилятора и чипа.
З,Ы, Потрудитесь прочитать хотя бы основы программирования.
Можно начать с банального "1-wire как удлинить провода", дальше вчитываемся в результаты и получаем:
https://www.maximintegrated.com/en/app-notes/index.mvp/id/148
Еще есть микросхемка DS2409, должна помочь.
З.Ы. На 10 метрах витой пары DS18B20 будет работать и без танцев с бубном.
DS18B20 - датчик с цифровым выходом. От длины кабеля зависит не погрешность, а возможность считать данные: при слишком длинном кабеле будут затянутые фронты и/или помехи, "благодаря" которым считывание данных будет невозможно. Для борьбы с данным явлением придумали кучу способов - гугл в курсе и охотно делится информацией.
Nefreemen, а как этот модуль работает индуктивной нагрузкой - подсчитывает только активную составляющую?
MadHorse, реальность очень сильно отличается от идеала: в протеусе нет дребезга контактов, нет наводок от соседних проводников, нет паразитных индуктивностей и емкостей, нет нестабильностей питания и т. д. Это конечно все можно добавить для приближения к реальности, но в вашем случае модель идеальна, а реальность - нет.
По сути. Есть такое понятие как "дребезг контактов", подробно описано везде: дядя гугл дает полный комплект информации по данной теме. Пока не освоите данный вопрос - дальнейшая работа с кнопками у вас будет вызывать тяжело вылавливаемые глюки. Именно освоите, а не возьмете первый попавшийся рабочий пример.
1. target doesn't answer
2. Double check connections and try again, or use -F to override
3. переводчик в помощь
Я про то, что если какое либо устройство перегрузит БП - он уйдет в защиту (выключится). Включить его можно будет только после отключения от сети секунд на 10-20. Надо будет БП с запасом брать.
Кроме этого выходные напряжения зависимы - изменение потребляемого тока каким либо устройством будет сказываться на всех. Это касается мощных потребителей.
Ага и одна неисправность будет вырубать все. Кроме того в комповых БП нет автоматического перезапуска после аварии: все будет обесточено пока ручками не перезапустить блок.
Если потребители слаботочные, то пойдет, а вот с сильноточными импульсными потребителями и длинными проводами возникнут проблемы.
Green, на скриншоте вроде и версию видно и как hex файлики получить. Да и более ранние версии IDE тоже умели генерить hex и с бутом и без. Откатываться назад и искать версию с какой началось умение создавать 2 hex файла нет ни малейшего желания.
bogob, В IDE делаете экспорт любого скетча, создастся hex с правильным бутом. Далее любым способом залить полученный hex в плату. Данный способ проверен мной многократно. Можно и с самой IDE бут записать, есть там такая функция, но я ее не тестировал, по этому ничего про нее не скажу. Если IDE сильно старая - качаем последнюю и радуемся жизни.
Например эта:
Про загрузку без бута через SPI читал.
IDE создаст 2 hex файла: с бутом и без. Проверяем фьюзы, заливаем с бутом и при удачном раскладе имеем новорожденную плату.
Пока человек через "это" не пройдет - будет возиться. Его величество опыт. Он дорогого стоит.
З.Ы. Как вариант сделать экспорт скетча из оболочки и записать его программатором через SPI. Минутное дело, при наличии программатора.
1. Частоту понизить
2. Впаять помехоподавляющие RC цепочки
3. Грамотно расположить провода в кабеле, чтоб взаимных помех не было
Этого должно хватить.
if(условие) {выполняемая команда если условие истинна}
else {выполняемая команда если условие не истинно}
(условие) - может быть что угодно (в рамках разумного конечно), компилятор все это приведет в виду "0"=не истинно или "не 0"= истинно. Сравнивать с чем либо переменную не обязательно: если она = 0 - это ложь, иначе - истинна.
Иначе говоря:
if(0) - не истинна
if(1) - истинна
if(2) - истинна
if(0==0) - истинна
if(5==5) - истинна
if(1!=1) - не истинна
if(1==HIGH) - истинна
if(0==FALSE) - истинна
digitalWrite(Пин, Значение) Пин (нога контроллера) = LedPin = 13, Значение = логическое 0 или 1, оно же ложь или истинна, LOW или HIGH...
Оператор "!" - инверсия : меняет 0 на 1 и наоборот
digitalRead(LedPin) - чтение текущего состояния вывода LedPin, в данном случае = 13
Итого:
1. digitalRead(LedPin) - читаем значение вывода LedPin
2. !digitalRead(LedPin) - инвертируем полученное значение
3. digitalWrite(LedPin, !digitalRead(LedPin)) - пишем на вывод LedPin инвертированное считанное значение
Проще говоря это прости инверсия значения вывода LedPin
З,Ы, Как вам писали, без азов ничего не будет
З,Ы,Ы, пишу на несовсем трезвую голову, сорри, если что...
Для капельного полива наверно лучше будет применить сервокран, чем клапан - не надо будет его под напряжением несколько часов держать.
Для ардуино вполне подойдет датчик за $1: http://arduino-ua.com/prod521-Datchik_vlajnosti_pochvi
Вполне реально.
Если система автономна: Pro mini + датчик влажности + солнечная батарея + акум небольшой (солнце в самый неподходящий момент может спрятаться) + блок зарядки акума + клапан.
Если нужен центральный модуль, ну типа для сбора информации, принудительного полива с центрального пульта... Вместо Pro mini берем ESP8266. На чем собрать центральный модуль зависит от возложенных на него задач.
В чем проблема? Берем даташит на протокол обмена с rfid метками и пишем скетч. Гугл в помощь. Информации море.
Например: https://www.google.com.ua/search?q=%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C+%D0%BD%D0%B0+rfid&oq=%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C+%D0%BD%D0%B0+rfid&aqs=chrome..69i57j0l3.4854j0j7&sourceid=chrome&ie=UTF-8
Наверно стоит начать с Arduino uno или micro.
P.S. 3.3В точно также стандартны как и 5В.
З.Ы. Если имелось ввиду определение физического расстояния между передатчиками в метрах то это технически невозможно. Не заточены под это данные модули.
Универсального способа рассчитать максимальное расстояние устойчивой связи не существует - очень много различных факторов влияет. Если модуль может отдавать ардуине что-то типа уровня принимаемого сигнала - тогда можно програмно организовать динамическое изменение мощности передатчика, организовать предупреждение о слабом сигнале и т.д.
При беглом просмотре даташита такой возможности я не заметил. Возможно не внимательно глядел, возможно HC-12 этого не умеет.
http://forum.arduino.ua/viewtopic.php?id=910
Присоединяюсь. Или дать возможность опытным пользователям чистить сообщения гостей.