Схема для программирования Arduino Mini показана на рис. 22.3.
Рис. 22.3.Схема для программирования Arduino Mini
Обратите внимание, что линии RxD и TxD платы и адаптера соединены перекрестно. Конденсатор между выводами Reset адаптера и платы выбирается в пределах 0,1–0,5 мкФ — он служит для сброса контроллера перед программированием. Его можно не подключать, но тогда перед программированием на всякий случай нужно сбрасывать контроллер вручную, кнопкой на плате (нажимать не сразу, а когда появляется надпись Uploading, или, в русском варианте Загружаем).
При подключении этой схемы через кабель mini-USB к компьютеру, USB-Serial адаптер должен самостоятельно прописаться в системе — в разделе Порты (СОМ и LPT) Диспетчера задач возникнет еще одно устройство под названием Arduino USB Serial Light Adapter (СОМxx). Запустите Arduino IDE, укажите ей через меню Сервис | Плата тип платы Arduino Mini w/ATmega328), а затем через меню Сервис | Порт — номер порта, который показывает Диспетчер задач для USB-Serial адаптера. При подключении должны гореть два светодиода: на адаптере и на плате контроллера.
Убедимся, что все работает, загрузив в контроллер какую-нибудь простенькую программку, вроде стандартного мигания светодиода на выводе 13. В Arduino Mini такого светодиода нет, но на этом выводе имеется балластный резистор 1 кОм, потому светодиод к нему можно подключать непосредственно (отрицательным выводом к «земле»). Текст всемирно известной тестовой программы на всякий случай привожу:
void setup()
{
pinMode(13, OUTPUT); // настраиваем 13 вывод на выход
}
void loop()
{
digitalWrite(13, HIGH); // включаем светодиод
delay(1000); // ждем 1000 миллисекунд
digitalWrite(13, LOW); // выключаем светодиод
delay(1000); // ждем 1000 миллисекунд
}
Если с первого раза получаете «отлуп» (в виде того самого красного сообщения avrdude: stk500_getsync(): not in sync: resp =0x1c), то проделайте следующее: запустите Диспетчер задач и найдите там устройство Arduino USB Serial Light Adapter. Затем выдерните USB-кабель из адаптера и сразу включите вновь (в Диспетчере задач устройство исчезнет и опять появится). Теперь ему следует сделать дополнительный программный сброс — в контекстном меню Arduino USB Serial Light Adapter разыщите пункт Отключить. Отключите устройство и сразу же включите опять (напомню, что в Windows 7 и 8 пункт меню будет называться Задействовать). Если после этих манипуляций связь с платой все равно не заработает, как надо, то перезагрузите компьютер — должно помочь.
Схема выносного датчика показана на рис. 22.4. Его мы будем вводить в режим энергосбережения, потому придется принять ряд схемотехнических мер.
Рис. 22.4.Схема выносного датчика метеостанции
Подключение Xbee-модуля к Arduino Mini отличается от стандартного наличием линии Sleep (контакт 9 платы Xbee-модуля). По этой линии мы будем загонять модуль в режим низкого потребления в паузах между измерениями. Обратите внимание, что выходы Arduino подключены к модулю через согласующие делители R1/R2 и R3/R4 с довольно большим сопротивлением, — без согласования, как мы говорили, ток через эти выводы резко возрастет. В этих же целях придется выпаять из платы Arduino Mini желтый неуправляемый светодиод, который сигнализирует о подаче питания (его не было в ранних релизах Arduino Mini). Этот светодиод мы заменим на красный, подключенный к стандартному 13-му выводу платы и заставим его кратковременно включаться в момент считывания показаний и передачи их в станцию (напомним, что к 13-му выводу на плате уже подключен балластный резистор 1 кОм).