Hallo,
ich bin noch unerfahren in C++, habe mir aber langsam aber sicher genau die Funktionen zusammen gebastelt die ich gerne hätte, nur funktioniert es nicht .
Ich möchte mit einem 433Mhz receiver/transmitter ein Signal von Arduino zu Arduino schicken wenn ein Bewegungssensor ausgelöst wurde.
Ich habe im Internet auch ein Beispiel gefunden das ich so nachgebaut habe und auch Funktionsfähig war. Nur wurde da eine LED zum Blinken gebracht.
In meinem Programm sollte
1.der transmitter nur angeschaltet werden wenn auch der Bewegungssensor auslöst.
2.Über den Transmitter ein LOW Signal übertragen werden da das ~400 entspricht und der receiver bei einem HIGH Signal (was ~0 entspricht) auch auslösen würde wenn der transmitter aus ist.
Ich hoffe das ist verständlich und jemand kann mir bei meinem Problem helfen.
//transmitter:
#define rfTransmitPin 4
#define pirSens 7
#define funkVcc 6
int movement=0;
void setup(){
pinMode(rfTransmitPin, OUTPUT);
pinMode(pirSens, INPUT);
pinMode(funkVcc, OUTPUT);
delay(1000);
}
void loop(){
movement=digitalRead(pirSens);
if (movement == HIGH){
digitalWrite(funkVcc, HIGH);
digitalWrite(rfTransmitPin, LOW);
delay(2000);
digitalWrite(funkVcc, LOW);
}
else
{
digitalWrite(funkVcc, LOW);
}
}
//receiver:
#define rfReceivePin A0
#define led 13
#define buzzer 2
unsigned int data = 0;
const unsigned int upperThreshold = 400;
void setup()
{
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop(){
data=analogRead(rfReceivePin);
if(data>upperThreshold)
{
digitalWrite(led, HIGH);
digitalWrite(buzzer, HIGH);
Serial.println(data);
delay(10000);
digitalWrite(led, LOW);
digitalWrite(buzzer, LOW);
}
else
{
digitalWrite(led, LOW);
digitalWrite(buzzer, LOW);
}
}