Подключение символьного ЖК дисплея
Стр 1 из 3Следующая ⇒ ПОДКЛЮЧЕНИЕ ДАТЧИКА ТЕМПЕРАТУРЫ И ВЛАЖНОСТИ DHT11 И DHT22. Датчики DHT11 и DHT22 не обладают высоким быстродействием и точностью, но зато просты, недороги и отлично подходят для обучения. Они выполнены из двух частей — емкостного датчика влажности и термистора. Чип, находящийся внутри, выполняет аналого-цифровое преобразование и выдает цифровой сигнал, который можно считать с помощью любого микроконтроллера. Список деталей для сборки модели Для сборки проекта, описанного в этой работе, понадобятся следующие детали: 1. Плата Arduino; 2. Датчик DHT11 или DHT22; 3. Breadboard; 4. Резистор на 10 кОм; 5. Программа Arduino;
Подключение сенсоров DHT к Arduino Датчики DHT имеют стандартные выводы и их просто установить на breadboard. Датчики DHT имеют 4 вывода: 1. питание. 2. вывод данных 3. не используется. 4. GND (земля). Между выводами питания и вывода данных нужно разместить резистор номиналом 10 кОм. Датчик DHT часто в виде готового модуля. В этом случае он имеет три вывода и подключается без резистора, т.к. резистор уже есть на плате. Схема подключения датчика с резистором: Рис.1. Схема подключения датчика DHT к Arduino
Arduino скетч Воспользуемся библиотекой DHT.h, созданной специально для датчиков DHT. Пример программы для работы модели с датчиком DHT22: #include "DHT.h" #define DHTPIN 2 // номер пина, к которому подсоединен датчик // Раскомментируйте в соответствии с используемым датчиком // Инициируем датчик DHT dht(DHTPIN, DHT22); //DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { // Задержка 2 секунды между измерениями delay(2000); //Считываем влажность float h = dht.readHumidity(); // Считываем температуру float t = dht.readTemperature(); // Проверка удачно прошло ли считывание.
if (isnan(h) || isnan(t)) { Serial.println("Не удается считать показания"); return; } Serial.print("Влажность: "+h+" %\t"+"Температура: "+t+" *C "); } Загрузите скетч в контроллер и проверьте правильность работы при помощи Сервис->Монитор порта: Вы должны увидеть температуру и влажность. Изменения можно увидеть, например, выдыхая на датчик (как для затуманивания окна). Дыхание увеличивает влажность.
ПОДКЛЮЧЕНИЕ ФОТОРЕЗИСТОРА Подключаем фоторезистор (фотоэлемент) к плате Arduino. Фоторезисторы используются в робототехнике как датчики освещенности. Встроенный в робота фоторезистор позволяет определять степень освещенности, определять белые или черные участки на поверхности и в соответствие с этим двигаться по линии или совершать другие действия. Для сборки модели с сервоприводом нам потребуется: 1. Плата Arduino 2. 6 проводов “папа-папа” 3. фоторезистор 4. светодиод 5. резистор на 220 Ом 6. резистор на 10 кОм 7. программа Arduino Схема подключения модели Arduino с фоторезистором:
Рис.2. Схема подключения фоторезистора на Arduino
Для работы этой модели подойдет следующая программа int led = 13; //переменная с номером пина светодиода int ldr = 0; //и фоторезистора void setup() //процедура setup { pinMode(led, OUTPUT); //указываем, что светодиод - выход } void loop() //процедура loop { if (analogRead(ldr) < 800) digitalWrite(led, HIGH); //если показатель освещенности меньше 800, включаем светодиод else digitalWrite(led, LOW); //иначе выключаем } Если светодиод не реагирует на изменение освещенности, то попробуйте поменять число 800 в программе, если он все время горит — уменьшите, если не горит — увеличьте.
МОДЕЛЬ С СЕРВОПРИВОДОМ.
Сервоприводы используются в робототехнике для управления движениями робота. Сервопривод — это мотор, положением вала которого мы можем управлять. От обычного мотора он отличается тем, что ему можно точно в градусах задать положение, в которое встанет вал. Сервоприводы используются для моделирования различных механических движений роботов.
Для сборки модели с сервоприводом потребуется: 1. плата Arduino 2. 3 провода “папа-папа” 3. сервопривод 4. программа Arduino Схема подключения модели Arduino с сервоприводом: Рис.3. Схема подключения сервопривода на Arduino Для работы этой модели подойдет следующая программа #include <Servo.h> //используем библиотеку для работы с сервоприводом Servo servo; //объявляем переменную servo типа Servo void setup() //процедура setup { servo.attach(10); //привязываем привод к порту 10 } void loop() //процедура loop { servo.write(0); //ставим вал под 0 delay(2000); //ждем 2 секунды servo.write(180); //ставим вал под 180 delay(2000); //ждем 2 секунды } Последние четыре команды программы задают угол поворота вала сервопривода и время ожидания (в миллисекундах) до следующего поворота.
ПОДКЛЮЧЕНИЕ СИМВОЛЬНОГО ЖК ДИСПЛЕЯ У дисплея 1602 есть 16 выводов. Обычно они нумеруются слева-направо, если смотреть на него так как на картинке. Иногда выводы подписываются, типа: DB0, DB1, EN и т.п. А иногда просто указывают номер вывода. В любом случае, список выводов всегда одинаковый: 1 — «GND», земля (минус питания); 2 — «Vcc», питание +5В; 3 — «VEE», контраст; 4 — «RS», выбор регистра; 5 — «R/W», направление передачи данных (запись/чтение); 6 — «EN», синхронизация; 7-14 — «DB0», «DB1″,.., «DB7″- шина данных; 15 — анод подсветки (+5В); 16 — катод подсветки (земля). Линии VEE, RS и четыре линии данных DB4, DB5, DB6, DB7 подключаем к цифровым выводам контроллера. Линию «R/W» подключим к «земле» контроллера (так как нам потребуется только функция записи в память дисплея).
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|