Έλεγχος LED με ρελέ και αισθητήρα κίνησης

 

Κώδικας για έλεγχο LED με αισθητήρα κίνησης και ρελέ

unsigned long time;
int ledPin = 13; // choose the pin for the LED
int inputPin = 2; // choose the input pin (for PIR sensor)
int Relay = 3;
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status

void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
digitalWrite(13, LOW); //Set Pin13 High
pinMode(inputPin, INPUT_PULLUP); // declare sensor as input
pinMode(Relay, OUTPUT); //Set Pin3 as output
Serial.begin(9600);
}

void loop(){
val = digitalRead(inputPin); // read input value
time = millis();

// Serial.println(time);
delay(1000);
if (val == HIGH) { // check if the input is HIGH
digitalWrite(Relay, HIGH); // turn LED ON
delay(1000);
digitalWrite(ledPin, HIGH);
if (pirState == LOW) {
// we have just turned on
Serial.println("Motion detected!");
// We only want to print on the output change, not state
pirState = HIGH;
}
} else {
// digitalWrite(ledPin, LOW); // turn LED OFF
digitalWrite(Relay, LOW);
if (pirState == HIGH){
// we have just turned of
Serial.println("Motion ended!");
// We only want to print on the output change, not state
pirState = LOW;
}
}
}
 

Κώδικας για λειτουργία ρελέ και έλεγχο LED

nt Relay = 3;
void setup()
{
pinMode(13, OUTPUT);
//Set Pin13 as output
digitalWrite(13, HIGH);
//Set Pin13 High
pinMode(Relay, OUTPUT);
//Set Pin3 as output
}
void loop()
{
digitalWrite(Relay, HIGH);
//Turn off relay
delay(4000);
digitalWrite(Relay, LOW);
//Turn on relay
delay(2000);
}

Κώδικας για αισθητήρα κίνησης με προβολή στη σειριακή

iunsigned long time;
int ledPin = 13; // choose the pin for the LED
int inputPin = 2; // choose the input pin (for PIR sensor)
int Relay = 3;
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status

void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
digitalWrite(13, LOW); //Set Pin13 High
pinMode(inputPin, INPUT_PULLUP); // declare sensor as input
pinMode(Relay, OUTPUT); //Set Pin3 as output
Serial.begin(9600);
}

void loop(){
val = digitalRead(inputPin); // read input value
time = millis();

// Serial.println(time);
delay(1000);
if (val == HIGH) { // check if the input is HIGH
digitalWrite(Relay, HIGH); // turn LED ON
delay(1000);
digitalWrite(ledPin, HIGH);
if (pirState == LOW) {
// we have just turned on
Serial.println("Motion detected!");
// We only want to print on the output change, not state
pirState = HIGH;
}
} else {
// digitalWrite(ledPin, LOW); // turn LED OFF
digitalWrite(Relay, LOW);
if (pirState == HIGH){
// we have just turned of
Serial.println("Motion ended!");
// We only want to print on the output change, not state
pirState = LOW;
}
}
}