Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <RH_ASK.h>
- #include <SPI.h> // Not actualy used but needed to compile
- // defines pins numbers
- #define trigPin 9
- #define echoPin 10
- #define buzzer1 11 //change receiver needs Pin 11
- #define ledPin 2
- #define ldr_pin 7
- #define buzzer2 13
- long duration;
- int distance;
- int safetyDistance;
- int ldrStatus;
- int mss = 0;
- uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
- uint8_t buflen = sizeof(buf);
- RH_ASK driver;
- void setup() {
- Serial.begin(9600);
- pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
- pinMode(echoPin, INPUT); // Sets the echoPin as an Input
- pinMode(buzzer1, OUTPUT);
- pinMode(ledPin, OUTPUT);
- pinMode(ldr_pin, INPUT);
- pinMode(buzzer2, OUTPUT);
- if (!driver.init())Serial.println("init failed");
- }
- void loop() {
- //1: Turn buzzer ON to find device
- //2: Turn buzzer OFF for 5 seconds
- rx433();
- US();
- LDR();
- if (mss == 1) {
- digitalWrite(buzzer1, HIGH);
- digitalWrite(buzzer2, HIGH);
- }
- else if (mss == 2) {
- digitalWrite(buzzer1, LOW);
- digitalWrite(buzzer2, LOW);
- delay(5000);
- }
- if (safetyDistance <= 20) // You can change safe distance from here changing value Ex. 20 , 40 , 60 , 80 , 100, all in cm
- {
- digitalWrite(buzzer1, HIGH);
- digitalWrite(ledPin, HIGH);
- }
- else if (safetyDistance > 20) {
- digitalWrite(buzzer1, LOW);
- digitalWrite(ledPin, LOW);
- }
- if (ldrStatus == 1) {
- digitalWrite(buzzer2, HIGH);
- }
- else if (ldrStatus == 0) {
- digitalWrite(buzzer2, LOW);
- }
- delay(100);
- }
- void US() {
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- distance = duration * 0.034 / 2;
- safetyDistance = distance;
- Serial.print("Distance: ");
- Serial.println(distance);
- }
- void LDR() {
- ldrStatus = digitalRead(ldr_pin);
- Serial.print("Light: ");
- Serial.println(ldrStatus);
- }
- void rx433() {
- if (driver.recv(buf, &buflen)) // Non-blocking
- {
- int i;
- // Message with a good checksum received, dump it.
- driver.printBuffer("Got:", buf, buflen);
- mss = atoi(buf);
- }
- Serial.print("mss is set to :");
- Serial.println(mss);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement