Теперь мы отложим настроенные Xbee-модули и займемся настройкой Arduino Mini, который у нас ляжет в основу выносного датчика станции.
Выносной датчик на основе Arduino Mini
Кстати, у Arduino Mini, несмотря на его миниатюрные размеры, портов даже больше, чем у Arduino Uno, — обратите на его схеме внимание на выводы AD6 и AD7 (см. http://arduino.ru/Hardware/ArduinoBoardMini). Правда, они могут использоваться только по прямому назначению — как аналоговые входы. По аналогии с выводами AD0-AD5 (цифровые порты 14–19) может показаться, что им должны соответствовать цифровые порты с номерами 20 и 21, но это не так: AD6 и AD7 представляют собой отдельные входы АЦП контроллера ATmega328 (ADC6 и ADC7), которые, в отличие от остальных, никак не связаны с цифровыми выводами портов.
Отсутствие входов AD6 и AD7 в большинстве остальных модификаций Arduino объясняется просто: выводы ADC6 и ADC7 имеются лишь у ATmega328 в плоских корпусах TQFP и MLF, где число выводов увеличено до 32, а в PDIP-корпусе с 28 выводами, на которых построено большинство обычных модификаций Arduino, они отсутствуют.
Для программирования Arduino Mini нам придется создать отдельную конструкцию, включающую внешний USB-Serial адаптер, который придется приобрести отдельно. В датчике такой адаптер нам не нужен, и он все равно будет конфликтовать с Xbee-модулем. Потому мы создадим отдельную схему для программирования платы, а отладку функций энергосбережения, чтения показаний датчика SHT1x и работы с Xbee-модулем вынесем на отдельный макет.
Схема для программирования 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. Его мы будем вводить в режим энергосбережения, потому придется принять ряд схемотехнических мер.
Читать дальше
Конец ознакомительного отрывка
Купить книгу