"Умная комната" на Arduino

Тема в разделе "Глядите, что я сделал", создана пользователем Злая Птичка, 4 сен 2012.

  1. Видеонаблюдением, слежкой и.т.п. будет заниматься робот-шпион. Его описание: http://spy-robot.ru/
     
  2. <Lame>

    <Lame> Гик

    насчёт размера экрана всёравно, а во-вторых комп не нужен, можно пользоваться таблицей символов из даташитов, и отправлять hex коды на экран так:
    Например, надо вывести на экран символы с кодоми F5,6E:
    lcd.print("\xF5\x6E");
     
  3. Код (Text):
    Например, надо вывести на экран символы с кодоми F5,6E:
    lcd.print("\xF5\x6E");
    Ну и л0х это знает!
    Хотя-бы дайте таблицу символов... А то не могу понять где она в даташите.
    Ну вот здесь - http://www.nemiga.info/spravka/alfavit-russkiy.htm правильная таблица? Пробовал - не получилось.
     
  4. <Lame>

    <Lame> Гик

    в даташите???!!! Не можете понять где? Да там вниз перемотайте, там она и будет, вы чего?! Я сразу нашёл.
     
  5. Код (Text):
    // Код не готов полностью.
    // Используйте его на свой страх и риск :)
    #include <LiquidCrystal.h>
    #include <dht.h>
    int green = 2;
    int blue = 6;
    int red = 7;
    int sensorValue = 0;
    DHT sensor = DHT();
    LiquidCrystal lcd(4, 5, 10, 11, 12, 13);
    void setup()
    {
    sensor.attach(A5);
    pinMode(red, OUTPUT);
    pinMode(green, OUTPUT);
    pinMode(blue, OUTPUT);
    digitalWrite(red, LOW);
    digitalWrite(green, LOW);
    digitalWrite(blue, LOW);
    sensor.attach(A5);
    lcd.begin(16, 2);
    lcd.print("    \xA8p\xB8\xB3""e\xBF");
    lcd.setCursor(0, 1);
    lcd.print("  o\xBF A\xBC\xBE""ep\xBA\xB8");
    delay(3000);
    lcd.clear();
    }
    void loop()
    {
    sensor.update();
    lcd.clear();
    sensorValue = analogRead(A4);
    if(sensorValue < 300){
    digitalWrite(red, HIGH);
    digitalWrite(green, LOW);
    digitalWrite(blue, LOW);
    }
    if(sensorValue < 700){
    if(sensorValue > 300){
    digitalWrite(red, LOW);
    digitalWrite(green, HIGH);
    digitalWrite(blue, LOW);
    }
    }
    if(sensorValue < 950) {
    if(sensorValue > 700) {
    digitalWrite(red, LOW);
    digitalWrite(green, LOW);
    digitalWrite(blue, HIGH);
    }
    }
    int temp = sensor.getTemperatureInt();
    int him = sensor.getHumidityInt();
    lcd.print("\xA8p\xB8\xB3""e\xBF""!");
    lcd.setCursor(0,1);
        switch (sensor.getLastError())
        {
            case DHT_ERROR_OK:
    lcd.print(temp);
    lcd.print("C ");
    lcd.print(him);
    lcd.print("% ");
    if(temp < 1)
    {
    lcd.print("/xA4B8BC61");
    }
    if(temp > 1)
    {
    if(temp < 15)
    {
    lcd.print("/xD5EEEBEEE4EDEE");
    }
    }
    if(temp > 15)
    {
    if(temp < 25)
    {
    lcd.print("/xCDEEF0EC");
    }
    }
    if(temp > 25)
    {
    lcd.print("/xD1EBE8F8EAEEEC");
    }
                break;
            case DHT_ERROR_START_FAILED_1:
                Serial.println("Error:1");
                break;
            case DHT_ERROR_START_FAILED_2:
                Serial.println("Error:2");
                break;
            case DHT_ERROR_READ_TIMEOUT:
                Serial.println("/xD2E0E9ECE0F3F2");
                break;
            case DHT_ERROR_CHECKSUM_FAILURE:
                Serial.println("Error:cheksum");
                break;
        }
    delay(2000);
    }
    Ну что, код правильный?
     
  6. Не работает :(
     
  7. Rx

    Rx Нерд

    Ошибку компилятор выдаёт?
     
  8. Код (Text):
    // Код не готов полностью.
    // Используйте его на свой страх и риск :)
    #include <LiquidCrystal.h>
    #include <dht.h>
    int green = 2;
    int blue = 6;
    int red = 7;
    int sensorValue = 0;
    DHT sensor = DHT();
    LiquidCrystal lcd(4, 5, 10, 11, 12, 13);
    void setup()
    {
    sensor.attach(A5);
    pinMode(red, OUTPUT);
    pinMode(green, OUTPUT);
    pinMode(blue, OUTPUT);
    digitalWrite(red, LOW);
    digitalWrite(green, LOW);
    digitalWrite(blue, LOW);
    sensor.attach(A5);
    lcd.begin(16, 2);
    lcd.print("    \xA8p\xB8\xB3""e\xBF");
    lcd.setCursor(0, 1);
    lcd.print("  o\xBF A\xBC\xBE""ep\xBA\xB8");
    delay(3000);
    lcd.clear();
    }
    void loop()
    {
    sensor.update();
    lcd.clear();
    sensorValue = analogRead(A4);
    if(sensorValue < 300){
    digitalWrite(red, HIGH);
    digitalWrite(green, LOW);
    digitalWrite(blue, LOW);
    }
    if(sensorValue < 700){
    if(sensorValue > 300){
    digitalWrite(red, LOW);
    digitalWrite(green, HIGH);
    digitalWrite(blue, LOW);
    }
    }
    if(sensorValue < 950) {
    if(sensorValue > 700) {
    digitalWrite(red, LOW);
    digitalWrite(green, LOW);
    digitalWrite(blue, HIGH);
    }
    }
    int temp = sensor.getTemperatureInt();
    int him = sensor.getHumidityInt();
    lcd.print("\xA8p\xB8\xB3""e\xBF""!");
    lcd.setCursor(0,1);
        switch (sensor.getLastError())
        {
            case DHT_ERROR_OK:
    lcd.print(temp);
    lcd.print("C ");
    lcd.print(him);
    lcd.print("% ");
    if(temp < 1)
    {
    lcd.print("/xA4""/xB8""/xBC""/x61");
    }
    if(temp > 1)
    {
    if(temp < 15)
    {
    lcd.print("/xD5""/xEE""/xEB""/xEE""/xE4""/xED""/xEE");
    }
    }
    if(temp > 15)
    {
    if(temp < 25)
    {
    lcd.print("/xCD""/xEE""/xF0""/xEC");
    }
    }
    if(temp > 25)
    {
    lcd.print("/xD1""/xEB""/xE8""/xF8""/xEA""/xEE""/xEC");
    }
                break;
            case DHT_ERROR_START_FAILED_1:
                Serial.println("Error:1");
                break;
            case DHT_ERROR_START_FAILED_2:
                Serial.println("Error:2");
                break;
            case DHT_ERROR_READ_TIMEOUT:
                Serial.println("Timeout");
                break;
            case DHT_ERROR_CHECKSUM_FAILURE:
                Serial.println("Error:cheksum");
                break;
        }
    delay(2000);
    }
    Так тоже :(
     
  9. Нет, ошибки нет.
    Щас фотку выложу.
     
  10. Rx

    Rx Нерд

    Ждём.
     
    Злая Птичка нравится это.
  11. Rx

    Rx Нерд

    Если честно, я сам новичок ещё, но судя по этому, попробуйте повернуть слеш в другую сторону. В вашем коде он разниться.
     
    Злая Птичка нравится это.
  12. Всё, проблема решена.
     
  13. В этот проект присоединяется ещё один проект - Самый Бесполезный Проект для Самых Ленивых Животных!
    Что это такое, вам остаётся только догадываться! :D
    Скоро - видео.
    удалено
     
  14. Rx

    Rx Нерд

    Ждём.
     
  15. Завтра будет :)
     
  16. Tony Stark

    Tony Stark Нерд

    Ну и где видео? :)
     
  17. Решил не делать :)
     
  18. Просто проект решил немного обновить