Tek Arduino ile alıcı verici devresi

İsmail YANİK

Kilopat
Katılım
19 Ocak 2016
Mesajlar
81
Daha fazla  
Cinsiyet
Erkek
Merhaba. Arkadaşlar bir proje ödevim var, Tinkercad'da teorik olarak çalışacak bir biçimde tasarladım ancak pratiğe dökmeden sizlere sormak istedim herhangi bir hata varsa söylerseniz sevinirim.
Proje açıklaması: Bir alıcı verici devresi kuracağız. Bir adet sensor kullanarak dışarıdan ölçtüğümüz değere bağlı olarak vericiden sinyal yollayacağız. Ve eğer alıcımız bir sinyal yakalar ise lambayı yakacağız. Amaç Sensor'den değer ölçerek sınıfa sinyal yollayıp sınıfta bir başkasının yolladığı sinyali yakalamak.

C:
#include <VirtualWire.h>

char *message;
char message[] = " ";
int lm35Pin = A0;
int led = 8;
int zaman = 50;
int okunan_deger = 0;
float sicaklik_gerilim = 0;
float sicaklik = 0;

void setup()
{
pinMode(led,OUTPUT);
Serial.begin(9600);
pinMode(buton, INPUT);
vw_set_ptt_inverted(true);
vw_set_tx_pin(12);
vw_set_rx_pin(11);
vw_setup(4000);
vw_rx_start();
}

void loop()
{
okunan_deger = analogRead(lm35Pin);
sicaklik_gerilim = (okunan_deger / 1023.0)*5000;
sicaklik = sicaklik_gerilim /10.0;
Serial.println(sicaklik);
if(sicaklik >= 30){
message = "1" ;
}
else{
 message = "0" ;
}
Serial.println(message);
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx();
delay(100);
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
message[0] = (char) buf[0];
if (message[0] == '0')
{
Serial.println(message[0]);
digitalWrite(led, LOW);
}
else if (message[0] == '1')
{
Serial.println(message[0]);
digitalWrite(led,HIGH);

delay(zaman);
digitalWrite(led,LOW);

delay(zaman);
}
}
}

asdasd.PNG
 

Geri
Yukarı