Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Подключение символьного ЖК дисплея




ПОДКЛЮЧЕНИЕ ДАТЧИКА ТЕМПЕРАТУРЫ И ВЛАЖНОСТИ 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 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...