Вериги

Как да изградим робот - Урок 6: Изграждане на робот Arduino, който може да наблюдава плътността на CO2: 11 стъпки

игра на гармони Тиче вода в ярок

игра на гармони Тиче вода в ярок

Съдържание:

Anonim

Това е петият урок на поредицата „Как да се изгради робот“. В този урок ще комбинираме платформата за робот със сензора за CO2, така че да можете да откриете плътността на CO2 в дадена област.

Също като последните четири урока, като пример е използван комплект за робот Arduino (Pirate: 4WD Arduino Mobile Robot Kit с Bluetooth 4.0).

Меню уроци:

Урок 1: Въведение

Урок 2: Създайте основен робот Arduino

Урок 3: Изграждане на Arduino Robot

Урок 4: Изграждане на робот Arduino, който може да избегне препятствия

Урок 5: Изградете робот Arduino със светлинни и звукови ефекти

Урок 6: Изграждане на робот Arduino, който може да наблюдава околната среда

Урок 7: Изграждане на управляван с Bluetooth Arduino робот

Хардуерни компоненти

Сензор за газ CO2 за Arduino × 1

градина:

Етап 1:

Цифров сензорен сензор × 1

Стъпка 2:

Щит за LCD клавиатура за Arduino × 1

Стъпка 3:

M3 * 6MM Найлонови колони и тай-опаковки

Стъпка 4:

ИНСТРУКЦИЯ ЗА СКЛЮЧВАНЕ:

СТЪПКА 1: Добавете сензор за докосване

На сензорния сензор има два отвора за фиксиране на найлоновите колони.

Фиксирайте найлоновите колони. Моля, не прекалявайте тези колони.

Стъпка 5:

След това закрепете сензора за допир върху плочата.

Стъпка 6:

Стъпка 2: Добавете LCD екрана

Плъзнете бреговете в четирите отвора на LCD екрана и ги фиксирайте. Нарежете останалата част от тай-опаковките.

Стъпка 7:

Стъпка 3: Добавете сензора за CO2

Фиксирайте найлоновите колони на CO2 датчика. Прикрепете сензора за CO2 към сензорната плоча.

Стъпка 8:

Почти завършвате сглобяването. Моля, не фиксирайте горната плоча върху платформата, тъй като трябва по-късно да работим по свързването на веригата.

Стъпка 9:

СВЪРЗВАЙТЕ ОБОРУДВАНЕТО:

Моля поддържайте кабелите по ред.

Интерфейсът е оцветен по следния начин:

Червеното означава мощност

Черното показва земята

Синьото обозначава Pin Analog Input

Зеленият цвят показва цифров I / O Pin

LCD мониторът трябва да бъде свързан към VCC, GND, SCL и SDA в съответния ред.

Стъпка 10:

КОДИРАНЕ

Намерете кода с име DHT11_Display.ino и го изтеглете. Не забравяйте библиотеката за LiquidCrystal_I2C и CO2.

Стъпка 11:

След успешно изтегляне на кода, плътността на CO2 в реално време ще бъде показана на LCD екрана. Тук сензорът за докосване има две функции:

1. Ако не докоснете сензора след известно време, той ще се изключи автоматично.

2. Ако искате да добавите повече сензори за наблюдение на други данни за околната среда, сензорът за докосване може да превключи данните за мониторинга на LCD дисплея.

CODE SYNOPSIS Библиотеката е важна. Трудно е да се разбере библиотеката без библиотека.

#include #include

LiquidCrystal_I2C lcd (0x20,16,2);

#include "CO2.h"

СО2Сензор CO2ppm;

Тук трябва да знаете за CO2Pin, променлива, която се използва за деклариране на щифтовете на сензора.

int CO2Pin = A1;

А именно, DHT11Pin представлява Analog Pin1. Това означава, че нашият CO2 сензор е свързан към аналогов Pin1.

Следващите са някои декларации за променливите във времето. TouchPin представлява сензор за докосване, а 13 означава цифров щифт.

long currentMillis = 0;

дълга предишнаMillis;

дълъг Интервал = 4000;

int count = 0; / броене на числа

int touchPin = 13;

Въведете функцията setup (), която е настройка за инициирането.

pinMode (touchPin, INPUT);

След това дръжте сензорния сензор с режим на въвеждане. За конкретна информация можете да проверите справочника Arduino в уебсайта на Arduino (www.arduino.cc), който въвежда функцията на pinMode ().

След това трябва да инициализирате LCD екрана и да включите LCD светлината, която показва, че LCD екранът е готов.

lcd.init ();

lcd.backlight ();

забавяне (100);

lcd.setBacklight (0);

Сега е ред на функцията loop (). Първо трябва да прочетем стойността от сензорния сензор и след това да съхраним тези данни с едно променливо докосване.

int touchState = digitalRead (touchPin);

След това проверете дали контролерът ще получи сигнал за HIGH, след като докоснете сензора за допир с пръстите си, 1 се добавя към брояча.

if (touchState == HIGH) {count ++; previousMillis = millis (); }

С това броят означава колко пъти сте докоснали екрана. Но ако докоснете сензора само веднъж, тогава времето за всяко докосване ще бъде включено във функцията на millis ().

Променяме продължителността на времето на докосване с под-изречение, което започва с if. Интервалът тук означава периодът на докосване, който създаваме. По този начин, ние знаем какви действия трябва да бъдат предприети в рамките на четири секунди на допир и повече от четири секунди докосване съответно.

if (currentMillis - previousMillis <Интервал) {// направи нещо за 4 секунди

else {// направи нещо повече от 4 секунди}

lcd.setBacklight (0);

Функцията setBacklight () се използва за изключване на лампата на LCD подсветката.

Какви действия трябва да се предприемат, когато докосваме сензора за повече от четири секунди

Ако докоснем сензора за повече от четири секунди, знаем, че лампата на LCD подсветката може да бъде изключена.

какви действия трябва да се предприемат в рамките на четири секунди от допира.

if (count == 1) {// Едно докосване, LCD екранът няма да показва никаква разлика

иначе, ако (count == 2) {// Докоснете два пъти, стойността ще бъде показана на LCD екрана}

Натиснете сензорния сензор още веднъж в рамките на четири секунди; екранът все още ще бъде изключен. Само ако го докоснете два пъти по едно и също време, ще се включи подсветката на LCD дисплея и ще се покажат цифрите за плътността на CO2.

Не забравяйте да държите брояча като нула, след като докоснете сензора за последен път.

брои = 0;

Така пълният код е:

if (count == 1) {lcd.setBacklight (0); }

иначе, ако (count == 2) {lcd.backlight (); DustShow (); брои = 0; }

След това трябва да следим текущото време, като можем да го сравним с предишните Millis. Тази точка е много важна.

currentMillis = millis ();

Функцията на CO2ppm.Read () се използва за четене на данни. Променливата CO2Value ще се използва за съхраняване на данните от CO2 сензора.

int CO2Value = CO2ppm.Често (CO2Pin);

Ето как бихме използвали функцията, свързана с LCD екрана.

lcd.setCursor (0,0);

lcd.setCursor (0,1);

Функцията setCursor (колона, ред) се използва, за да се покаже коя колона и ред е показан курсора, започвайки от нула в скобите.

lcd.print (CO2Value);

print () означава, че тази цифра може да бъде показана директно на екрана.

lcd.print ("");

lcd.print ("") означава празно пространство, показано на екрана. Използва се за изчистване на екрана.

Комбинация от множество сензори Как можете да комбинирате няколко сензора за околната среда, след като сте закупили някакви сензори?

Не се притеснявайте. Ще ви предложим шаблон за кодиране за тестване на множество сензори. Можете да направите корекции на комбинацията, като се обърнете към споменатия шаблон. В действителност, теорията е същата като един сензор, с изключение на това, че има стъпки за промяна на LCD екрана.

Червеното кодиране трябва да бъде променено. По-рано споменахме, че този брой се отнася до това колко пъти пръстите докосват сензора. Така броят = 2 означава, че сме натиснали два пъти и показва цифрите за първия сензор. Продължавай! Моля, имайте предвид, че трябва да държите отново нула.

Примерен код:

if (currentMillis - предишенMillis <Интервал) {

if (count == 1) {lcd.setBacklight (0); }

иначе, ако (count == 2) {//No.1 сензор Sensor1Show (); lcd.backlight (); }

иначе, ако (count == 3) {// No.2 Sensor Sensor2Show (); lcd.backlight (); брой = 0; }

Разбира се, началната настройка, декларирането на променливи в началото, за сензора е важно.

Можете да проверите примерния код, наречен WeatherStation.ino, за справка, ако все още нямате представа как да промените кодовете си.