| Поделиться |
Здравствуйте, гость ( Вход | Регистрация )
| Поделиться |
11.4.2014, 20:00
Сообщение
#1
|
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20
|
Наконец-то собрался и купил Arduino Uno и к нему разных шилдов
Теперь можно всласть напаяться и напрограммироваться ( естественно под ALT Linux ) Кому интересно пишем в эту тему. Несколько полезных ссылок : Для начала : http://arduino.ru./ http://f1p.ucoz.ru/publ/9-1-0-34 Простой примерчик : http://www.freeduino.ru/arduino/sample_PhysicalPixel.html - проверил , работает при помощи встроенного в программу arduino монитора порта:
___________________.png ( 83.21 килобайт )
Кол-во скачиваний: 6Паяльник как всегда рулит : http://cxem.net/arduino/arduino.php PS Все это безобразие напоминает мне старые добрые времена Сообщение отредактировал kostyalamer - 11.4.2014, 20:15 |
|
|
|
![]() |
17.5.2014, 16:56
Сообщение
#2
|
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20
|
Продолжаю тему про Arduino, теперь устройство немного посложнее - регулятор температуры / влажности , кроме Arduino Uno были использованы :
релюхи - http://fixled.ru/shields/4relay-shield.html экранчик - http://fixled.ru/microcontrollers/modules/serial-lcd.html датчик - http://fixled.ru/sensors/dht22.html потенциометры для задания температуры и влажности свои из старого хлама. ссылки привел специально, там можно скачать соответствующие этим устройствам библиотеки Код : Код // регулятор температуры и влажности #include "DHT.h" #include <Wire.h> #include "rgb_lcd.h" int ledT = 13; // выход регулятора температуры int ledH = 12; // выход регулятора влажности int sensorPinT = A1; // вход установки температуры int sensorPinH = A0; // вход установки влажности int sensorValueT = 0; // показания датчика температуры int sensorValueH = 0; // показания датчика влажности int scaleT = 10; // масштабатор уставки температуры int scaleH = 10; // масштабатор уставки влажности int deltaT = 2; // дельта между включением и выключением регулятора по T int deltaH = 2; // дельта между включением и выключением регулятора по H rgb_lcd lcd; const int colorR = 0; // цвета подсветки дисплея const int colorG = 0; const int colorB = 150; unsigned int RelayPin[]={4,6,5,7}; #define DHTPIN 2 // what pin we're connected to // Uncomment whatever type you're using! //#define DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301) // Connect pin 1 (on the left) of the sensor to +5V // Connect pin 2 of the sensor to whatever your DHTPIN is ( pin 2) // Connect pin 4 (on the right) of the sensor to GROUND // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor DHT dht(DHTPIN, DHTTYPE); void setup() { int i=0; for(i=0;i<4;i++) pinMode(RelayPin[i],OUTPUT); // релейные входы 1-4 pinMode(ledT, OUTPUT); // выход регулятора температуры pinMode(ledH, OUTPUT); // выход регулятора влажности lcd.begin(16, 2); lcd.setRGB(colorR, colorG, colorB); lcd.print("Regulator!"); delay(1000); dht.begin(); } void loop() { // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); float t = dht.readTemperature(); sensorValueT = analogRead(sensorPinT)/scaleT; if ( sensorValueT > 100 ) sensorValueT = 100; // макс. значение уставки T sensorValueH = analogRead(sensorPinH)/scaleH; if ( sensorValueH > 100 ) sensorValueH = 100; // макс. значение уставки F // проверка на ошибочные значения модуля DHT if (isnan(t) || isnan(h)) { lcd.print("Failed to DHT"); } else { // блок отображения информации // температура lcd.setCursor(0, 0); lcd.print("T: "); lcd.setCursor(3, 0); lcd.print(" "); lcd.setCursor(3, 0); lcd.print(t); lcd.print(" C"); lcd.setCursor(11, 0); lcd.print(" "); lcd.setCursor(11, 0); lcd.print(sensorValueT); // влажность lcd.setCursor(0, 1); lcd.print("H: "); lcd.setCursor(3, 1); lcd.print(" "); lcd.setCursor(3, 1); lcd.print(h); lcd.print(" %"); lcd.setCursor(11, 1); lcd.print(" "); lcd.setCursor(11, 1); lcd.print(sensorValueH); // блок регуляторов температуры и влажности if ( t < sensorValueT - deltaT/2) { digitalWrite( ledT, HIGH ); digitalWrite(RelayPin[1],HIGH); } else if ( t > sensorValueT + deltaT/2) { digitalWrite( ledT, LOW ); digitalWrite(RelayPin[1],LOW); } if ( h < sensorValueH - deltaH/2) { digitalWrite( ledH, HIGH ); digitalWrite(RelayPin[2],HIGH); } else if ( h > sensorValueH + deltaH/2) { digitalWrite( ledH, LOW ); digitalWrite(RelayPin[2],LOW); } delay (200); } } А вот как вся эта радость выглядит, слева на экране фактическая температура и влажность, справа заданная потенциометрами, релюшки как и положено щелкают
98.jpeg ( 212.68 килобайт )
Кол-во скачиваний: 9 |
|
|
|
kostyalamer Arduino 11.4.2014, 20:00
IVK Это интересно И что он у тебя будет делать? 12.4.2014, 9:09
kostyalamer Цитата(IVK @ 12.4.2014, 9:09) Это интерес... 12.4.2014, 12:26
and У меня тоже есть Nano и UNO. А язык там вроде како... 12.4.2014, 18:38
kostyalamer Цитата(and @ 12.4.2014, 18:38) У меня тож... 12.4.2014, 19:09
and Насчет названия языка не знаю, серьезно не изучал ... 12.4.2014, 21:42
kostyalamer Вот и простейшая программка, для начала схемка ( к... 19.4.2014, 16:13
IVK Отделил отсюда тему "Юные программисты в Арха... 20.4.2014, 8:46
IVK Цитата(kostyalamer @ 19.5.2014, 22:27) 1 ... 20.5.2014, 15:56
kostyalamer Вот еще очень интересная штука : http://www.polesi... 21.5.2014, 7:43
YYY Купил набор
http://ru.aliexpress.com/item/Pro-Mini... 21.5.2014, 20:08
kostyalamer Небольшой отчет о проделанной работе :
Синтезатор... 12.6.2014, 23:13
YYY Цитата(kostyalamer @ 12.6.2014, 23:13) мо... 13.6.2014, 9:17
kostyalamer Цитата(YYY @ 13.6.2014, 9:17) Прикольно... 13.6.2014, 9:51
YYY спасибо ! 13.6.2014, 11:28
YYY Получил вторую часть.
В системе
usb 2-2: pl2303 co... 15.6.2014, 8:44
kostyalamer Цитата(YYY @ 15.6.2014, 8:44) Получил вто... 15.6.2014, 18:19
IVK Цитата(kostyalamer @ 15.6.2014, 18:19) В ... 15.6.2014, 18:35
kostyalamer Цитата(IVK @ 15.6.2014, 18:35) Вот-вот, м... 15.6.2014, 20:00
IVK Но я же вообще на популяризацию ориентирован - и в... 15.6.2014, 20:38
YYY http://s4a.cat/ конечно хорошо... Я за... но для о... 16.6.2014, 10:46
kostyalamer Цитата(YYY @ 16.6.2014, 10:46) http://s4a... 16.6.2014, 21:42
kostyalamer Ну вот продолжение банкета
Синтезатор, кроме то... 25.6.2014, 21:27
kostyalamer Что-то тема как обычно потухла, подброшу дровишек ... 31.1.2015, 19:20
kostyalamer Очередное продолжение банкета, система визуального... 28.11.2015, 12:25
kostyalamer Давно сюда ничего не писал , внесу небольшой вкла... 18.8.2016, 22:01
kostyalamer Из остатков от старого стола и arduino сделал себе... 11.3.2017, 20:27
kostyalamer Написал небольшую статейку по ардуине :
http://we.... 28.9.2017, 23:27
Смит Цитата(kostyalamer @ 28.9.2017, 22:27) На... 10.10.2017, 15:41
kostyalamer Спасибо , исправил - вот работающая ссылка :
http:... 10.10.2017, 21:06
YYY Сегодня (через три с половиной года после получени... 8.2.2018, 1:26
Смит Цитата(kostyalamer @ 11.3.2017, 19:27) Из... 8.2.2018, 15:28
kostyalamer Успехи средние . Заработало в принципе нормально, ... 8.2.2018, 23:16
YYY Цитата(kostyalamer @ 8.2.2018, 23:16) To ... 10.2.2018, 13:44
kostyalamer Цитата(YYY @ 10.2.2018, 13:44) У меня уже... 10.2.2018, 23:51
YYY Цитата(kostyalamer @ 10.2.2018, 23:51) Кс... 11.2.2018, 1:16
knn [не знаю куда правильней разместить..]
Попалось (п... 12.8.2020, 19:24![]() ![]() |
|
Текстовая версия | Сейчас: 29.10.2025, 8:50 |