Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //SLAVE UNO
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
- // I2C bus - slave
- #include <Wire.h>
- // Distance sensor
- long cm;
- // Reed sensor
- int digitalPin = 12;
- int digitalVal;
- // define the Buzzer pin
- int buzzer = 13;
- //IR sensor
- #define irPin 2
- #define led 3
- void setup() {
- // I2C setup
- Wire.begin(8);
- Wire.onReceive(receiveEvent);
- //LCD setup
- lcd.begin(16, 2);
- lcd.print(" ");
- //Magnetic sensor setup
- pinMode(digitalPin, INPUT);
- pinMode(buzzer, OUTPUT);
- //IR sensor setup
- pinMode(irPin, INPUT);
- pinMode(led, OUTPUT);
- Serial.begin(9600);
- }
- void loop() {
- // Magnetic field measuring
- if (digitalRead(digitalPin)) // if magnetic field is detected
- digitalWrite(buzzer, HIGH); // turn ON Buzzer
- else
- digitalWrite(buzzer, LOW); // turn OFF Buzzer
- /*
- digitalVal = digitalRead(digitalPin);
- if (digitalVal == HIGH) // if magnetic field is detected
- {
- digitalWrite(buzzer, HIGH); // turn ON Buzzer
- }
- else
- {
- digitalWrite(buzzer, LOW); // turn OFF Buzzer
- }
- */
- Serial.println(digitalVal);
- delay(20);
- //IR sensor measuring
- if (digitalRead(irPin) == 0)
- digitalWrite(led, HIGH);
- else
- digitalWrite(led, LOW);
- /*
- if (digitalRead(irPin) == 0)
- {
- digitalWrite(led, HIGH);
- }
- else {
- digitalWrite(led, LOW);
- }
- */
- }
- void receiveEvent(size_t howMany) {
- (void) howMany;
- long duration = Wire.read(); // receive byte
- // Distance writing
- cm = float(duration / 2) * 0.0343;
- lcd.print("Distance");
- lcd.setCursor(0, 1);
- lcd.print(cm);
- lcd.setCursor(7, 1);
- lcd.print("cm");
- delay(100);
- lcd.clear();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement