Skocz do zawartości

Problem arduino rf 433MHz


Marek2115

Pomocna odpowiedź

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

12 godzin temu, Marek2115 napisał:

załączyłem kod programu wyżej

Dodaj kod programu za pomocą narzędzia dostępnego w edytorze na forum (przycisk: "Wstaw kod programu") to na pewno więcej osób sprawdzi Twój program 🙂

 

 

Link do komentarza
Share on other sites

// receiver
#include <ServoTimer2.h>
#include <VirtualWire.h>
char stan;
ServoTimer2 myservo;
int lvl = 0;

void setup()
{
    Serial.begin(9600);
    myservo.attach(9);
    vw_rx_start();
    //vw_set_ptt_inverted(true); 
    vw_setup(2000);
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;
    
    if (vw_get_message(buf, &buflen)) 
    {
     int i;
     char stan;
     digitalWrite(13, true); 
        for (i = 0; i < buflen; i++)
        {
         stan +=char(buf[i]);
        }
        Serial.println(stan);
        myservo.write(750);
         if ( stan =="UP") 
         {
            lvl += 1;
            up();
            delay(30);
        }
           if ( stan =="DOWN")
        {
            lvl -= 1;
            down();
            delay(30);
        }
        digitalWrite(13, false);
     } 
}

void up()
{  
  if(lvl > 6)
  {
    lvl = 1; 
  }
  
  check();
}

void down()
{
  if(lvl < 1)
  {
    lvl = 6;
    
  }
  
  check();
}

void check()
{
 
  if (lvl == 1)
  {
    myservo.write(750);
    
  }
  if (lvl == 2)
  {
    myservo.write(1000);
    
  }
  if (lvl == 3)
  {
    myservo.write(1250);
    
  }
  if (lvl == 4)
  {
    myservo.write(1500);
    
  }
  if (lvl == 5)
  {
    myservo.write(1750);
    
  }
  if (lvl == 6)
  {
    myservo.write(2000);
    
  }
}

 

 

Link do komentarza
Share on other sites

// transmitter
#include <VirtualWire.h>

void setup()
{
    Serial.begin(9600);    // Debugging only
    pinMode(4, INPUT_PULLUP);
    pinMode(8, INPUT_PULLUP);
    //vw_set_tx_pin(10);
    //vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);  // Bits per sec
}

void loop()
{
   while(true){
      
    if(digitalRead(4) == LOW){

      const char *msg = "UP";
      
      digitalWrite(13, true);
      vw_send((uint8_t *)msg, strlen(msg));
      vw_wait_tx();
      digitalWrite(13, false);
      delay(500); 
  }
  
  if (digitalRead(8) == LOW){
  
      const char *msg = "DOWN";
        
      digitalWrite(13, true);
      vw_send((uint8_t *)msg, strlen(msg));
      vw_wait_tx();
      digitalWrite(13, false);
      delay(500);
   }
 }
}

 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.