Привет кто может помочь с устранением проблемы ?

Тема в разделе "Флудилка", создана пользователем Алексей Р., 20 ноя 2016.

  1. Код (C++):
    //-------------------------------таймер вызова подпрограммы —------—
    if (time == 0){
    //подпрограмма
    readTemp();

    }
    else{
    time;
    }
    Arduino: 1.6.12 (Windows 7), Плата:"Arduino Nano, ATmega328"

    test_seti_2:79: error: stray '\342' in program

    time —;

    ^

    test_seti_2:79: error: stray '\200' in program

    test_seti_2:79: error: stray '\224' in program

    exit status 1
    stray '\342' in program

    как исправить данную ошибку ?
     
    Последнее редактирование: 20 ноя 2016
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    Код (C++):
    time;
    на этот бред и ругается.

    P.S. Пожалуйста, оформляйте код правильно (9-я кнопка в этом редакторе).
     
  3. что нужно изменить чтоб он работал ?
     
  4. rkit

    rkit Гуру

    Нет, ругается он явно на кодировки.
     
  5. Tomasina

    Tomasina Сушитель лампочек Модератор

    Я ж не знаю что должна делать эта программа.
    Возможно так:
    Код (C++):
    time--;
    Если ругается на кодировки, то все сомнительные буковки (русская 'о' и латинская 'o' выглядят одинаково) надо переписать корректно.
     
    Алексей Р. нравится это.
  6. исправил ошибка ушла
    Код (C++):
    if (time == 0){
    //подпрограмма
    readTemp();

    }
    else{
    time --;
    }
    полная версия кода
    Код (C++):
    // IDE 1.5.2
    //--------------------— PIN ETHERNET ENC28J60------------—
    //Ethetnet Arduino UNO
    //VCC +3.3V
    //GND GND
    //CS(SS) D10
    //SI(MOSI) D11
    //SO(MISO) D12
    //SCK D13
    //--------------------— PIN ETHERNET ENC28J60------------—

    #include "DHT.h"
    #include <EtherCard.h>
    #include <EEPROM.h>
    #define DHTPIN 2 // what pin we're connected to
    #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
    // 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);

    static byte mymac[] = {0xDD,0xDD,0xDD,0x00,0x00,0x01};
    static byte myip[] = {192,168,88,24};
    byte Ethernet::buffer[1100];

    //float h ;
    //float t ;

    byte vlaga = 75;
    int temp = 55;
    int vent =85;

    int pot; // переменная датчика затопления
    byte vf; // переменная для значения влаги во флеше

    #define VlagInPin 3 // Пин для подключения Датчика затопления
    #define RelPin 4 // Пин реле упраления вентиляции
    #define PotPin 5 // Пин реле клапана воды , сирены,откачивающего насоса, отключение гидрофора от "Датчика затопления"

    unsigned long time = 0;

    void setup () {
    Serial.begin(115200);
    Serial.println( "Bolshoy podval 192.168.88.24");
    if (!ether.begin(sizeof Ethernet::buffer, mymac, 10))
    Serial.println( "Failed to access Ethernet controller");
    else
    Serial.println("Ethernet controller initialized");

    if(!ether.staticSetup(myip))
    Serial.println("Failed to set IP address");

    dht.begin();
    pinMode(VlagInPin, INPUT);
    pinMode(RelPin, OUTPUT);
    digitalWrite(RelPin, HIGH);
    pinMode(PotPin, OUTPUT);
    digitalWrite(PotPin, HIGH);


    vent = EEPROM.read(0);
    }

    void loop(){

    if (vlaga >= vent) {digitalWrite(RelPin, LOW);}
    else if(vlaga <= (vent-2)) {digitalWrite(RelPin, HIGH);}

    //-------------------------------таймер вызова подпрограммы —------—
    if (time == 0){
    //подпрограмма
    readTemp();

    }
    else{
    time --;
    }
    //-----------------------------------------------------------------—

    word len = ether.packetReceive();
    word pos = ether.packetLoop(len);

    if(pos) {

    Serial.println();
    //boolean password_valid = true;

    // is it a POST request?
    if(strstr((char *)Ethernet::buffer + pos, "POST /") != 0) {


    }

    if(strstr((char *)Ethernet::buffer + pos, "minus") != 0) {
    if (vent < 1) {vent = 100;}
    else vent--;
    EEPROM.write(0, vent);
    }
    if(strstr((char *)Ethernet::buffer + pos, "plus") != 0) {
    vent++;
    if (vent > 100) {vent = 0;}
    EEPROM.write(0, vent);
    }
    // —-------------------------------------------------------------------------—



    // Output HTML page
    BufferFiller bfill = ether.tcpOffset();
    bfill.emit_p(PSTR("HTTP/1.0 200 OK\r\n"
    "Content-Type: text/html\r\nPragma: no-cache\r\n\r\n"
    "<meta http-equiv='refresh' content='5'/>" // автообновление странички каждый 5 сек
    "<html><head><title>Большой подвал Басейна</title></head>"
    "<html><body>"
    "<H1>Большой подвал басейна</H1>"

    "<form method=\"POST\">"));

    bfill.emit_p(PSTR("<table border=\"1\">"
    "<tr><td>Температура</td><td> $D &deg;C </td></tr>"
    "<tr><td>Влажность</td><td> $D % </td></tr>"
    "<tr><td>Вкл Вент</td><td> $D %</div></td></tr>"
    "</table>"),temp,vlaga,vent);

    bfill.emit_p(PSTR("<button name=\"plus\">+</button></div>"));
    bfill.emit_p(PSTR("<button name=\"minus\">-</button></div>"));



    bfill.emit_p(PSTR("</form></body></html>"));
    ether.httpServerReply(bfill.position());
    }
    }


    void readTemp(){ //----------------------------------------Чтение температуры —--------------------—

    vlaga = dht.readHumidity();
    temp = dht.readTemperature();
    time = 100000;
    }
     
  7. спасибо за помощь
     
  8. urev

    urev Нуб

    Добрый день!
    Приобрел датчик DHT22, работает ровно несколько минут, после выдает ошибку "dht11 start condition 1 not met", следом "dht11 start condition 2 not met" дважды и тишина.
    Arduino uno, библиотека стандартная DHT, пример DHTtester.ino
     
  9. urev

    urev Нуб

    Интересно, что с библиотекой shDHT, работает отлично!
     
  10. у тебя датчик DTH 22 после выдал ошибку о датчике dth 11? а ты правильно скетч отредактировал ?
     
  11. код можешь выложить ?

    у меня так выглядит

    Код (C++):
    //выбор используемого датчика
    #define DHTTYPE DHT11   // DHT 11
    //#define DHTTYPE DHT22   // DHT 22  (AM2302)
    //#define DHTTYPE DHT21   // DHT 21 (AM2301)

    // Подключить pin 1 датчика DHT (считаем слева) к питанию +5V
    // Подключить pin 2 датчика DHT к выводу указанному выше переменной DHTPIN
    // Подключить pin 4 датчика DHT (on the right) к минусу питания 0V
    // Подключить 10K сопротивление между pin 2 (data) и pin 1 (+5В) на датчике DHT

    //инициализация датчика
    DHT dht(DHTPIN, DHTTYPE);
    int VlagInPin = 3; // Пин для подключения Датчика затопления
    int RelPin = 4;  // Пин реле упраления вентиляции
    int PotPin = 5; // Пин реле клапана воды , сирены,откачивающего насоса, отключение гидрофора от "Датчика затопления"
    byte vlaga = 75;
    int temp = 55;
    int vent =85;
    int pot; // переменная датчика затопления
    byte vf; // переменная для значения влаги во флеше
     
     
  12. urev

    urev Нуб

    Стандартный код из библиотеки DHT, пример DHTtester
    // Example testing sketch for various DHT humidity/temperature sensors
    // Written by ladyada, public domain

    #include "DHT.h"

    #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
    // 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() {
    Serial.begin(9600);
    Serial.println("DHTxx test!");

    dht.begin();
    }

    Ничего не перепутано.