Advertisement
Guest User

Untitled

a guest
Dec 10th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. //SLAVE UNO
  2. #include <LiquidCrystal.h>
  3. LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
  4.  
  5. // I2C bus - slave
  6. #include <Wire.h>
  7.  
  8. // Distance sensor
  9. long cm;
  10.  
  11. // Reed sensor
  12. int digitalPin = 12;
  13. int digitalVal;
  14.  
  15. // define the Buzzer pin
  16. int buzzer = 13;
  17.  
  18. //IR sensor
  19. #define irPin 2
  20. #define led 3
  21.  
  22.  
  23.  
  24.  
  25.  
  26. void setup() {
  27.  
  28. // I2C setup
  29. Wire.begin(8);
  30. Wire.onReceive(receiveEvent);
  31.  
  32. //LCD setup
  33. lcd.begin(16, 2);
  34. lcd.print(" ");
  35.  
  36. //Magnetic sensor setup
  37. pinMode(digitalPin, INPUT);
  38. pinMode(buzzer, OUTPUT);
  39.  
  40. //IR sensor setup
  41. pinMode(irPin, INPUT);
  42. pinMode(led, OUTPUT);
  43.  
  44. Serial.begin(9600);
  45.  
  46. }
  47.  
  48.  
  49. void loop() {
  50.  
  51. // Magnetic field measuring
  52.  
  53.  
  54. if (digitalRead(digitalPin)) // if magnetic field is detected
  55. digitalWrite(buzzer, HIGH); // turn ON Buzzer
  56.  
  57. else
  58. digitalWrite(buzzer, LOW); // turn OFF Buzzer
  59.  
  60.  
  61. /*
  62. digitalVal = digitalRead(digitalPin);
  63. if (digitalVal == HIGH) // if magnetic field is detected
  64. {
  65. digitalWrite(buzzer, HIGH); // turn ON Buzzer
  66. }
  67. else
  68. {
  69. digitalWrite(buzzer, LOW); // turn OFF Buzzer
  70. }
  71. */
  72.  
  73. Serial.println(digitalVal);
  74.  
  75. delay(20);
  76.  
  77.  
  78. //IR sensor measuring
  79.  
  80. if (digitalRead(irPin) == 0)
  81. digitalWrite(led, HIGH);
  82.  
  83. else
  84. digitalWrite(led, LOW);
  85.  
  86. /*
  87.  
  88.  
  89. if (digitalRead(irPin) == 0)
  90. {
  91. digitalWrite(led, HIGH);
  92. }
  93. else {
  94. digitalWrite(led, LOW);
  95. }
  96. */
  97. }
  98.  
  99.  
  100. void receiveEvent(size_t howMany) {
  101.  
  102. (void) howMany;
  103.  
  104. long duration = Wire.read(); // receive byte
  105.  
  106. // Distance writing
  107.  
  108. cm = float(duration / 2) * 0.0343;
  109.  
  110. lcd.print("Distance");
  111.  
  112. lcd.setCursor(0, 1);
  113. lcd.print(cm);
  114.  
  115. lcd.setCursor(7, 1);
  116. lcd.print("cm");
  117.  
  118. delay(100);
  119.  
  120. lcd.clear();
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement