Advertisement
Guest User

Untitled

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