Помогите в скетче.

Тема в разделе "Arduino & Shields", создана пользователем jaguar32, 2 мар 2017.

  1. jaguar32

    jaguar32 Нуб

    Код (C++):
    #include <VirtualWire.h>

    void setup()
    {
      Serial.begin(9600);
      vw_setup(200);
      vw_set_tx_pin(7);
    }

    void loop()
    {
      if(Serial.available())
      {
        char c = Serial.read();
     
        if(c == '1')
        {
          vw_send((uint8_t *)c, 1);
        }
        else if(c == '0')
        {
          vw_send((uint8_t *)c, 1);
        }
     
        if(c == '2')
        {
          vw_send((uint8_t *)c, 1);
        }
        else if(c == '3')
        {
          vw_send((uint8_t *)c, 1);
        }
     
      }
    }
    Этот скетч для 433MHz с радиопередатчика. Но этот скетч работает только с монитором порта. Когда в монитор порте отправляю 1 то приёмник принимает этот сигнал и реле срабатывает. Помогите что бы
    Код (C++):
    if(c == '1')
        {
          vw_send((uint8_t *)c, 1);
        }
        else if(c == '0')
        {
          vw_send((uint8_t *)c, 1);
        }
    работал с кнопкой.
     
    Последнее редактирование: 2 мар 2017
  2. ИгорьК

    ИгорьК Гуру

  3. jaguar32

    jaguar32 Нуб

    спасибо
     
  4. AlexU

    AlexU Гуру

    Из переменной типа 'char':
    Код (C++):
    char c
    делаете указатель:
    Код (C++):
    (uint8_t *)c
    При таком раскладе функция 'vw_send' отправит совсем не то, что Вам хотелось бы.
     
  5. jaguar32

    jaguar32 Нуб

    Помогите мне тогда с одним радиопередатчиком управлять 4 реле отдельными кнопками которые подключены к 4 -ом ардуино.
    Это чтобы управлять 4 розетки.