Arduino: Опыты с набором 37-in-1, ##8-9 ( DHT11, Bicolor LED)

Nov 08, 2016 15:00

На днях викитаил через ebay некоторые дополнения для Arduino. Часть ее в пути, но уже можно продолжить начатые опыты модулями из набора 37-в-1.




Набор датчиков 37-in-1

Сегодня пойдем по второй строке датчиков, начиная с 8-го - датчика температуры и влажности. Итак:

8. Датчик температуры и влажности DHT11. За основу беру пример отсюда: http://edurobots.ru/2015/02/arduino-dlya-nachinayushhix-urok-9-podklyuchenie-datchika-temperatury-i-vlazhnosti-dht11-i-dht22/. Только у меня датчик уже собран на модуле с нужными регистрами и мне надо его лишь подсоединить к питанию и данным. Соответственно, никакие ножки никуда подтягивать мне не надо. По сравнению с примером, иначе добавляю библиотеку, через Скетч->Подключить библиотеку->Управлять библиотеками:


Заметьте, что выбрана не последняя версия библиотеки, а более старая. На новую программа при компиляции ругалась. Еще одна тонкость - строка:
Serial.print("Влажность: "+h+" %\t"+"Температура: "+t+" *C ");
не компилируется. Компилируется так:
Serial.println(String ("Влажность: ")+h+String (" %\tТемпература: ")+t+String (" *C "));
Выглядит примерно так:

image Click to view


Повышение температуры и влажности в конце обусловлено дыханием. Слышно, наверное. Кстати, тут впервые использован штативчик для телефона, с которого лучше снимать, чем с трясущихся от похмелья рук. Еще одна проблема - непонимание русской кодировки. Но для целей занятий это безразлично.

9. Two-color. По смыслу это двухцветный диод. Если обратите внимание, то их в наборе два. Второй во втором ряды (9) и предпоследний в последнем ряду (5/5 назовем, чтобы не пересчитывать все ряды). Вставим сразу два и заодно их проверим. За основу возьму https://tkkrlab.nl/wiki/Arduino_KY-011_2-color_LED_module, резисторы мне опять не нужны, я считаю. Они есть на модуле. Скетч будет такой:
// Arduino test code for KY011
int redpin = 11; // select the pin for the red LED
int greenpin = 10; // select the pin for the green LED
int redpin2 = 6; // select the pin for the red LED
int greenpin2 = 5; // select the pin for the green LED
int val;
void setup () {
pinMode (redpin, OUTPUT);
pinMode (greenpin, OUTPUT);
pinMode (redpin2, OUTPUT);
pinMode (greenpin2, OUTPUT);
}
void loop () {
analogWrite (greenpin2, 255);
for (val = 255; val> 0; val--)
{
analogWrite (greenpin, val);
analogWrite (redpin, 255-val);
delay (15);
}
analogWrite (greenpin2, 0);
analogWrite (redpin2, 255);
for (val = 0; val <255; val++)
{
analogWrite (greenpin, val);
analogWrite (redpin, 255-val);
delay (15);
}
analogWrite (redpin2, 0);
}
То есть, один LED светит промежуточными цветами, а другой - зеленым или красным. Чтобы похвастаться, покажу еще и источник питания. Он подключается через адаптер питания в сеть и получает от него 12V. Соответственно, подключение через USB не нужно. Вот так это работает с маленькой экспозицией, чтобы видно было цвета диодов:

image Click to view


А на сегодня все. До новых встреч.

arduino, картинка, видео, ябьютиблогер, лабораторный журнал

Previous post Next post
Up