Помогите, пожалуйста.

Тема в разделе "Arduino & Shields", создана пользователем ямук, 10 мар 2016.

  1. ямук

    ямук Нерд

    Код (C++):
    //Инициализируем библиотеки//
    #include <LCD16x2.h>
    #include <Wire.h>
    #include <VirtualWire.h>
    LCD16x2 lcd;

    //Вводим переменные//
    int ter = 0;

    void setup() {
      {
        Wire.begin();

        //Пишем заставку//
        lcd.lcdClear();
        delay(1000);
        lcd.lcdGoToXY(0, 1);
        lcd.lcdWrite("xxxxxxxx");
        lcd.lcdGoToXY(1, 2);
        lcd.lcdWrite("xxxxxxxx");
        delay(5000);

        lcd.lcdClear(); //Чистим после заставки//

        lcd.lcdGoToXY(1, 2);
        lcd.lcdWrite("T");

        vw_set_ptt_inverted(true); // Required for DR3100
        vw_set_rx_pin(8);
        vw_setup(2000);  // Bits per sec
        pinMode(13, OUTPUT);
        vw_rx_start();     // Start the receiver PLL running'/
      }
    }

    void loop() {
      uint8_t buf[VW_MAX_MESSAGE_LEN];
      uint8_t buflen = VW_MAX_MESSAGE_LEN;

      if (vw_get_message(buf, &buflen)) // Non-blocking
      {
        if (buf[0] == 'T');
        { digitalWrite(13, 1);
          digitalWrite(13, 0);
          //tone(11, 1000, 3000);//
          delay(100);
          noTone(11);
          for (ter = 0; ter < 6; ++ter)
          { if (ter = 1);
            lcd.lcdClear(2, 2);
            lcd.lcdGoToXY(2, 2);
            lcd.lcdWrite("#");
            return;
          }
        }
      }
      if (buf[0] == 'T');
      { digitalWrite(13, 1);
        digitalWrite(13, 0);
        //tone(11, 1000, 3000);//
        delay(100);
        noTone(11);
        for (ter = 1; ter < 6; ++ter)
        { if (ter = 2);
          lcd.lcdClear(3, 2);
          lcd.lcdGoToXY(3, 2);
          lcd.lcdWrite("#");
          return;

        }
      }
      if (buf[0] == 'T');
      { digitalWrite(13, 1);
        digitalWrite(13, 0);
        //tone(11, 1000, 3000);//
        delay(100);
        noTone(11);
        for (ter = 2; ter < 6; ++ter)
        { if (ter = 3);
          lcd.lcdGoToXY(4, 2);
          lcd.lcdWrite("#");
          return;

        }
      }
      if (buf[0] == 'T');
      { digitalWrite(13, 1);
        digitalWrite(13, 0);
        //tone(11, 1000, 3000);//
        delay(100);
        noTone(11);
        for (ter = 3; ter < 6; ++ter)
        { if (ter = 4);
          lcd.lcdGoToXY(5, 2);
          lcd.lcdWrite("#");
          return;

        }
      }
      if (buf[0] == 'T');
      { digitalWrite(13, 1);
        digitalWrite(13, 0);
        //tone(11, 1000, 3000);//
        delay(100);
        noTone(11);
        for (ter = 4; ter < 6; ++ter)
        { if (ter = 5);
          lcd.lcdGoToXY(6, 2);
          lcd.lcdWrite("#");
          return;

        }
      }
    }
     
     
    Последнее редактирование: 10 мар 2016
  2. ямук

    ямук Нерд

    затык такой при приеме "Т" печатает только 2 символа и судя по всему не меняет переменную.
     
  3. Megakoteyka

    Megakoteyka Оракул Модератор

    1. Нажмите Ctrl+T в Arduino IDE
    2. В редакторе сообщения на форуме нажмите кнопочку "<>" и вставьте получившийся код в полученное окошко.