Drosha, Спасибо, действительно теперь работает
. А что дает эта строка??? И почему из-за этого дисплей на одном компе заработал, а на другом нет???
Drosha, Спасибо, действительно теперь работает
. А что дает эта строка??? И почему из-за этого дисплей на одном компе заработал, а на другом нет???
ну вам написало ошибку
error: variable 'logoBmp' must be constя от этого и пляшу )
Доброго времени суток.
Скажу сразу - я чайник в электронике. но не путаю + и -. какую нибудь цепь собрать смогу.
Есть задача сделать светодиодное решение из 4-х светодиодных линеек ( в линейке 15-20 светодиодов). нужно задать алгоритм зажигания каждой линейки в определённой последовательности, с затухание одной из линеек или мигание другой...
обычных контроллеров с такой программой не купишь, а вот с Arduino возможно? а
Вопрос: например обойтись микроконтроллером Arduino Micro это возможно? и что ещё понадобится для воплощения задумки, понято что надо блок питания, светодиоды..
Заранее благодарю!
Misha_03:У кого есть нормальная библиотека и программа для опроса АМ 2302 DHT22 датчика.
#include <DHT.h>dht DHT;
#define DHT22_PIN 6
void setup()
{
Serial.begin(115200);
Serial.println("DHT TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT_LIB_VERSION);
Serial.println();
Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}void loop()
{
// READ DATA
Serial.print("DHT22, \t");
int chk = DHT.read22(DHT22_PIN);
switch (chk)
{
case DHTLIB_OK:
Serial.print("OK,\t");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,\t");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print("Time out error,\t");
break;
default:
Serial.print("Unknown error,\t");
break;
}
// DISPLAY DATA
Serial.print(DHT.humidity, 1);
Serial.print(",\t\t");
Serial.println(DHT.temperature, 1);delay(2000);
}
Никто не поможет?
Uladzimar, есть для RGB ленты, но можно переделать под обычные http://cxem.net/beginner/beginner61.php
Drosha , Спасибо за линк, вроде всё понятно, только теперь надо научится писать программы)
Привет всем. Arduino круто конечно) Но вот это будет поинтереснее. Сейчас с ней работаю, довольно занятная плата.
Линуксоиды, я думаю, заинтересуются) Можно программировать как через среду ардуино( что довольно несерьезно для данной устройства), так и через набор разработчика intel, но только используя javascript Она очень новая, но комьюнити быстро развивается, за счет плюшек от Intel)
На сайте Intel много информации про Intel Edison.
Я даже замутил компанию на Indiegogo по сбору средств на корпус для данного устройства.
Кому интересно, пишите, могу и вживую данную платку показать.

И я уже могу поделиться своим небольшим проектиком. Местами конечно не совсем моим, но кое-чего и сам допиливал.
Гигростат на ардуине. К слову сказать, просто надоело оставлять включенным на всю ночь гудящий увлажнитель воздуха. Вот и задумался над автоматическим отключением этого самого увлажнителя, и последующим его включением при минимальном пороговом значении влажности. Опять же, самый дешевый увлажнитель с уже встроенным гигростатом стоит от 600.000, а обычный от 200.000. Я думаю даже за эту разницу по деньгам, можно купить весь необходимый набор т.е.: сама ардуино уно, датчик влажности - я использовал DHT11, он может и не совсем точный (есть некоторая погрешность), но в любом случае будет точнее, чем готовые увлажнители уже со встроенным гигрометром), дисплей от Nokia 5110, реле (я использовал реле 5V и 10А) и транзистор BC 337 (можно и другой, лишь бы хватило для катушки реле).
Вот и весь комплектик. Скетч я полностью не писал, (да и куда мне, пока я только начал ознакамливаться с ардуиной) и лишь дополнил несколько строчек для реле. Впрочем там все описано.
Собственно сам скетч:
byte read_dht11_dat() //далее функция считывания одного байта данных с датчика
{
byte i = 0;
byte result=0;
for(i=0; i< 8; i++)
{
while (!digitalRead(dht11_pin)); // ожидание получения "1" с датчика
delayMicroseconds(30);
if (digitalRead(dht11_pin) != 0 ) // если значение осталось "1" через 30 мксек
bitSet(result, 7-i); // запись бита в результат
while (digitalRead(dht11_pin)); // ожидание окончания "1"
}
return result;
}
void setup()
{
pinMode(ledPin, OUTPUT);
myGLCD.InitLCD(); // инициализация дисплея
pinMode(dht11_pin, OUTPUT); //установка порта dht11_pin в режим выхода
digitalWrite(dht11_pin, HIGH); //установка на нем высокого уровня
}
void loop()
{
byte dht11_dat[5];
byte dht11_in;
byte i;// start condition
myGLCD.setFont(SmallFont); // установка набора символов LCD
myGLCD.print("MiG", CENTER, 24);
myGLCD.print("HomeClimat", CENTER, 32);
digitalWrite(dht11_pin, LOW); // установка низкого уровня
delay(18); // задержка 18 мс
digitalWrite(dht11_pin, HIGH); // установка высокого уровня
delayMicroseconds(1); // задержка 1 мкс
pinMode(dht11_pin, INPUT); //установка порта dht11_pin в режим входа
delayMicroseconds(40); // задержка 40 мкс
if (digitalRead(dht11_pin)) // далее проверка получения сигналов готовности датчика
{
myGLCD.print("cond. 1 not met", 0, 0);
delay(1000);
return;
}
delayMicroseconds(80);
if (!digitalRead(dht11_pin))
{
myGLCD.print("cond. 2 not met", 0,
;
return;
}
delayMicroseconds(80); // задержка 80 мкс
for (i=0; i<5; i++) // прием 5 байт данных
{ dht11_dat = read_dht11_dat();} // с помощью функции read_dht11_dat
pinMode(dht11_pin, OUTPUT); //установка порта dht11_pin в режим выхода
digitalWrite(dht11_pin, HIGH); // установка высокого уровня
byte dht11_check_sum = dht11_dat[0]+dht11_dat[2];// проверка контрольной суммы
if(dht11_dat[4]!= dht11_check_sum)
{
myGLCD.clrScr();
myGLCD.print("DHT11 checksum error", 0, 16);
}
// при влажности меньше 40% включаю 13 контакт на Ардуине
if (dht11_dat[0]<40) // Если меньше 40% включен
{
digitalWrite(ledPin, HIGH); // включен 13 вывод
}
else
{
digitalWrite(ledPin, LOW); // иначе выключен
}
myGLCD.print("TEMP-", 0, 0); // далее вывод показаний датчика на дисплей
myGLCD.printNumI(int(dht11_dat[2]), RIGHT, 0);
myGLCD.print("VLAJN(%)`-", 0,
;
myGLCD.printNumI(int(dht11_dat[0]), RIGHT,
;
delay(2000); // задержка 2 с
}
Транзистор подключил по следующей схеме. Выбрал именно 13-ый контакт, чтобы параллельно была и индикация включения.

А само реле спрятал во внешнюю розетку, дабы спрятать высоковольтную часть от греха подальше.
Вот фотки. Пока оставил все просто на монтажной платке. Может потом появится желание сделать все это культурно.
А еще потом попробую привязать к этой системе и время - сделать включение еще и по расписанию.


#include <DHT.h>
dht DHT;
выдает ошибку: error: 'dht' does not name a type
как исправить?
Misha_03:#include <DHT.h>
dht DHT;выдает ошибку: error: 'dht' does not name a type
как исправить?
dht11
или
dht22
Открой библиотеку и глянь объявления.
Если мне не изменяет память последняя модная библиотека оба модуля путем указания пользовала.
А с такими градусниками влажностемерами не игрался.
А что мешает пример приведенный МиГ-ом без библиотеки попользовать?
//------------------------------------------------------------------
byte read_dht11_dat(){ //далее функция считывания одного байта данных с датчика
byte i = 0;
byte result=0;
for(i=0; i< 8; i++){
while (!digitalRead(dht11_pin)); // ожидание получения "1" с датчика
delayMicroseconds(30);
if (digitalRead(dht11_pin) != 0 ) // если значение осталось "1" через 30 мксек
bitSet(result, 7-i); // запись бита в результат
while (digitalRead(dht11_pin)); // ожидание окончания "1"
}
return result;
}
//---------------------------------------------------------------
и т.д.
МиГ:не понял и что это ?
Если есть быстрый тЫрнет 70 мегабайт кино посмотри увидишь и услышишь сказки на стыке прошлого и будущего. ![]()
|
офлайн
Неизвестный кот
Member
|
|
|
289 |
20 лет на сайте Город:
|
Подыскиваю напарника для выполнения проектов на AVR микроконтроллерах. Чаще всего - Ардуино.
Проекты оплачиваемые.
Периодически есть несложные проекты. Периодически не хватает времени. да и проекты хочется посложнее брать...
Пока работа часов на 10 в неделю.
Желающие - пишите в личку.
ARTexpress:Подыскиваю напарника для выполнения проектов на AVR микроконтроллерах. Чаще всего - Ардуино.
Проекты оплачиваемые.
Периодически есть несложные проекты. Периодически не хватает времени. да и проекты хочется посложнее брать...
Пока работа часов на 10 в неделю.Желающие - пишите в личку.
Сочувствую. Я тоже думал проект вытянуть в одиночку. Бросил проект. Проблема рассосалась-отложилась. Видать окружение не созрело. Загружен теперь тем, что обществу-окружению нужно.
у меня время есть, но опыта в написании программ 0))) только и могу просить о помощи... Схемы самрисую (интернет, заготовки..., форумы...), но пока по необходимости, от скуки...