Ответить
  • МиГ Senior Member
    офлайн
    МиГ Senior Member

    2168

    19 лет на сайте
    пользователь #53792

    Профиль
    Написать сообщение

    2168
    # 1 декабря 2014 20:50

    Drosha, Спасибо, действительно теперь работает :beer: . А что дает эта строка??? И почему из-за этого дисплей на одном компе заработал, а на другом нет???

  • Drosha Senior Member
    офлайн
    Drosha Senior Member

    1966

    18 лет на сайте
    пользователь #86205

    Профиль
    Написать сообщение

    1966
    # 1 декабря 2014 21:07

    ну вам написало ошибку

    код выделить все
    error: variable 'logoBmp' must be const

    я от этого и пляшу )

  • Uladzimar Junior Member
    офлайн
    Uladzimar Junior Member

    49

    12 лет на сайте
    пользователь #847244

    Профиль
    Написать сообщение

    49
    # 4 декабря 2014 15:38 Редактировалось Uladzimar, 1 раз.

    Доброго времени суток.
    Скажу сразу - я чайник в электронике. но не путаю + и -. какую нибудь цепь собрать смогу.
    Есть задача сделать светодиодное решение из 4-х светодиодных линеек ( в линейке 15-20 светодиодов). нужно задать алгоритм зажигания каждой линейки в определённой последовательности, с затухание одной из линеек или мигание другой...
    обычных контроллеров с такой программой не купишь, а вот с Arduino возможно? а
    Вопрос: например обойтись микроконтроллером Arduino Micro это возможно? и что ещё понадобится для воплощения задумки, понято что надо блок питания, светодиоды..
    Заранее благодарю!

  • Misha_03 Senior Member
    офлайн
    Misha_03 Senior Member

    847

    16 лет на сайте
    пользователь #167409

    Профиль
    Написать сообщение

    847
    # 4 декабря 2014 15:59
    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);
    }

    Никто не поможет?

  • Drosha Senior Member
    офлайн
    Drosha Senior Member

    1966

    18 лет на сайте
    пользователь #86205

    Профиль
    Написать сообщение

    1966
    # 4 декабря 2014 16:12

    Uladzimar, есть для RGB ленты, но можно переделать под обычные http://cxem.net/beginner/beginner61.php

  • Uladzimar Junior Member
    офлайн
    Uladzimar Junior Member

    49

    12 лет на сайте
    пользователь #847244

    Профиль
    Написать сообщение

    49
    # 4 декабря 2014 16:29

    Drosha , Спасибо за линк, вроде всё понятно, только теперь надо научится писать программы)

  • maxxlife Member
    офлайн
    maxxlife Member

    230

    15 лет на сайте
    пользователь #325167

    Профиль
    Написать сообщение

    230
    # 4 декабря 2014 21:25 Редактировалось maxxlife, 1 раз.

    Привет всем. Arduino круто конечно) Но вот это будет поинтереснее. Сейчас с ней работаю, довольно занятная плата.
    Линуксоиды, я думаю, заинтересуются) Можно программировать как через среду ардуино( что довольно несерьезно для данной устройства), так и через набор разработчика intel, но только используя javascript Она очень новая, но комьюнити быстро развивается, за счет плюшек от Intel)
    На сайте Intel много информации про Intel Edison.
    Я даже замутил компанию на Indiegogo по сбору средств на корпус для данного устройства.
    Кому интересно, пишите, могу и вживую данную платку показать.

  • МиГ Senior Member
    офлайн
    МиГ Senior Member

    2168

    19 лет на сайте
    пользователь #53792

    Профиль
    Написать сообщение

    2168
    # 5 декабря 2014 19:28 Редактировалось МиГ, 4 раз(а).

    И я уже могу поделиться своим небольшим проектиком. Местами конечно не совсем моим, но кое-чего и сам допиливал.
    Гигростат на ардуине. К слову сказать, просто надоело оставлять включенным на всю ночь гудящий увлажнитель воздуха. Вот и задумался над автоматическим отключением этого самого увлажнителя, и последующим его включением при минимальном пороговом значении влажности. Опять же, самый дешевый увлажнитель с уже встроенным гигростатом стоит от 600.000, а обычный от 200.000. Я думаю даже за эту разницу по деньгам, можно купить весь необходимый набор т.е.: сама ардуино уно, датчик влажности - я использовал DHT11, он может и не совсем точный (есть некоторая погрешность), но в любом случае будет точнее, чем готовые увлажнители уже со встроенным гигрометром), дисплей от Nokia 5110, реле (я использовал реле 5V и 10А) и транзистор BC 337 (можно и другой, лишь бы хватило для катушки реле).
    Вот и весь комплектик. Скетч я полностью не писал, (да и куда мне, пока я только начал ознакамливаться с ардуиной) и лишь дополнил несколько строчек для реле. Впрочем там все описано.

    Собственно сам скетч:

    #include <LCD5110_Basic.h> //подключение библиотеки 5110 LCD
    #define ledPin 13
    #define dht11_pin 14 // определение номера порта
    LCD5110 myGLCD(8,9,10,11,12);// инициализация библиотеки с
    // указанием пинов подключения к Arduino
    extern uint8_t SmallFont[]; //объявление внешнего массива символов

    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, 8);
    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, 8);
    myGLCD.printNumI(int(dht11_dat[0]), RIGHT, 8);
    delay(2000); // задержка 2 с
    }

    Транзистор подключил по следующей схеме. Выбрал именно 13-ый контакт, чтобы параллельно была и индикация включения.

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

  • art100 Клуб Самоделкиных
    офлайн
    art100 Клуб Самоделкиных

    5114

    14 лет на сайте
    пользователь #397580

    Профиль
    Написать сообщение

    5114
    # 5 декабря 2014 21:43

    ссылка "Cкетч" не рабочая

    Круиз-контроль 88 км/ч. Радость никакая печаль.
  • МиГ Senior Member
    офлайн
    МиГ Senior Member

    2168

    19 лет на сайте
    пользователь #53792

    Профиль
    Написать сообщение

    2168
    # 5 декабря 2014 22:22

    Подправил.

  • Misha_03 Senior Member
    офлайн
    Misha_03 Senior Member

    847

    16 лет на сайте
    пользователь #167409

    Профиль
    Написать сообщение

    847
    # 7 декабря 2014 13:40

    #include <DHT.h>
    dht DHT;

    выдает ошибку: error: 'dht' does not name a type

    как исправить?

  • Drosha Senior Member
    офлайн
    Drosha Senior Member

    1966

    18 лет на сайте
    пользователь #86205

    Профиль
    Написать сообщение

    1966
    # 7 декабря 2014 17:24 Редактировалось Drosha, 1 раз.

    Misha_03, а библиотека подключена в IDE ?

  • art100 Клуб Самоделкиных
    офлайн
    art100 Клуб Самоделкиных

    5114

    14 лет на сайте
    пользователь #397580

    Профиль
    Написать сообщение

    5114
    # 7 декабря 2014 19:50 Редактировалось art100, 5 раз(а).
    Misha_03:

    #include &lt;DHT.h&gt;
    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&lt; 8; i++){
    while (!digitalRead(dht11_pin)); // ожидание получения &quot;1&quot; с датчика
    delayMicroseconds(30);
    if (digitalRead(dht11_pin) != 0 ) // если значение осталось &quot;1&quot; через 30 мксек
    bitSet(result, 7-i); // запись бита в результат
    while (digitalRead(dht11_pin)); // ожидание окончания &quot;1&quot;
    }
    return result;
    }
    //---------------------------------------------------------------
    и т.д.
    Круиз-контроль 88 км/ч. Радость никакая печаль.
  • art100 Клуб Самоделкиных
    офлайн
    art100 Клуб Самоделкиных

    5114

    14 лет на сайте
    пользователь #397580

    Профиль
    Написать сообщение

    5114
    # 8 декабря 2014 20:40 Редактировалось art100, 1 раз.

    Что-то монологи толкаю. Ну еще 70 мегов демо-кино джаз-блюз толкну https://yadi.sk/i/TtL_OghRdEiY3

    Круиз-контроль 88 км/ч. Радость никакая печаль.
  • МиГ Senior Member
    офлайн
    МиГ Senior Member

    2168

    19 лет на сайте
    пользователь #53792

    Профиль
    Написать сообщение

    2168
    # 8 декабря 2014 21:23 Редактировалось МиГ, 1 раз.

    не понял и что это ? :-?

  • art100 Клуб Самоделкиных
    офлайн
    art100 Клуб Самоделкиных

    5114

    14 лет на сайте
    пользователь #397580

    Профиль
    Написать сообщение

    5114
    # 10 декабря 2014 06:18
    МиГ:

    не понял и что это ? :-?

    Если есть быстрый тЫрнет 70 мегабайт кино посмотри увидишь и услышишь сказки на стыке прошлого и будущего. :beer:

    Круиз-контроль 88 км/ч. Радость никакая печаль.
  • Неизвестный кот Member
    офлайн
    Неизвестный кот Member

    289

    20 лет на сайте
    пользователь #51872

    Профиль

    289
    # 11 декабря 2014 13:07 Редактировалось Неизвестный кот, 1 раз.

    Подыскиваю напарника для выполнения проектов на AVR микроконтроллерах. Чаще всего - Ардуино.
    Проекты оплачиваемые.
    Периодически есть несложные проекты. Периодически не хватает времени. да и проекты хочется посложнее брать...
    Пока работа часов на 10 в неделю.

    Желающие - пишите в личку.

  • art100 Клуб Самоделкиных
    офлайн
    art100 Клуб Самоделкиных

    5114

    14 лет на сайте
    пользователь #397580

    Профиль
    Написать сообщение

    5114
    # 13 декабря 2014 19:39 Редактировалось art100, 1 раз.
    ARTexpress:

    Подыскиваю напарника для выполнения проектов на AVR микроконтроллерах. Чаще всего - Ардуино.
    Проекты оплачиваемые.
    Периодически есть несложные проекты. Периодически не хватает времени. да и проекты хочется посложнее брать...
    Пока работа часов на 10 в неделю.

    Желающие - пишите в личку.

    Сочувствую. Я тоже думал проект вытянуть в одиночку. Бросил проект. Проблема рассосалась-отложилась. Видать окружение не созрело. Загружен теперь тем, что обществу-окружению нужно.

    Круиз-контроль 88 км/ч. Радость никакая печаль.
  • Ded140 Senior Member
    офлайн
    Ded140 Senior Member

    771

    14 лет на сайте
    пользователь #451748

    Профиль
    Написать сообщение

    771
    # 13 декабря 2014 19:47

    у меня время есть, но опыта в написании программ 0))) только и могу просить о помощи... Схемы самрисую (интернет, заготовки..., форумы...), но пока по необходимости, от скуки...

    <p>Стараний мало для достижения цели.</p>
  • art100 Клуб Самоделкиных
    офлайн
    art100 Клуб Самоделкиных

    5114

    14 лет на сайте
    пользователь #397580

    Профиль
    Написать сообщение

    5114
    # 14 декабря 2014 14:17

    А у меня вредитель мешает :-?

    Круиз-контроль 88 км/ч. Радость никакая печаль.