Open form

Lekcja 8: Wyświetlacz LCD & Czujnik wilgoci & Buzzer

Cel

Wykorzystaj Grove - wyświetlacz LCD16 * 2, aby wyświetlić obecny poziom wilgoci. Gdy poziom wilgoci wynosi "mokry", Grove - Buzzer zawiadomi Cię o tym.

 

Wymagany sprzęt

Przygotuj:

  • przewód microUSB
  • Raspberry Pi 
  • Komputer
  • Grove Base Hat
  • Grove przewód
  • Grove - Wyświetlacz LCD 16*2
  • Grove - Czujnik wilgoci
  • Grove - Buzzer

 

Podłączenie sprzętu

Krok 1 Podłącz Grove - Wyświetlacz LCD 16x2 do portu I2C, Grove - Czujnik wilgoci do portu A0 oraz Grove - Buzzer do portu PWM na Grove Base Hat.

Krok 2 Podepnij Base Hat do Raspberry Pi.

Krok 3 Wykorzystaj microUSB, aby podłączyć Raspberry Pi do komputera.

Programowanie

 

Uwaga

Upewnij się, aby sklonować bibliotekę repozytorium python.py na swoim Raspberry Pi.

  

Krok 1: Wpisz następujące polecenia, aby stworzyć plik Pythona

  1. cd grove.py
  2. nano lesson_8.py

 

Krok 2:Skopiuj następujący kod

 

  1. #!/usr/bin/env python
  2.  
  3. import time
  4. from mraa import getGpioLookup
  5. from upm import pyupm_buzzer as upmBuzzer
  6.  
  7. from grove.grove_moisture_sensor import GroveMoistureSensor
  8. from grove.lcd.sh1107g import JHD1802
  9.  
  10. def main():
  11. # Grove - 16x2 LCD(White on Blue) connected to I2C port
  12. lcd = JHD1802()
  13.  
  14. # Grove - Moisture Sensor connected to port A0
  15. sensor = GroveMoistureSensor(0)
  16.  
  17. # Grove - Buzzer connected to port PWM
  18. buzzer = upmBuzzer.Buzzer(getGpioLookup('GPIO12'))
  19.  
  20. while True:
  21. mois = sensor.moisture
  22. if 0 <= mois and mois < 300:
  23. level = 'dry'
  24. elif 300 <= mois and mois < 600:
  25. level = 'moist'
  26. else:
  27. level = 'wet'
  28. buzzer.playSound(upmBuzzer.BUZZER_DO, 200000)
  29.  
  30. print('moisture: {}, {}'.format(mois, level))
  31.  
  32. lcd.setCursor(0, 0)
  33. lcd.write('moisture: {0:>6}'.format(mois))
  34.  
  35. lcd.setCursor(1, 0)
  36. lcd.write('{0:>16}'.format(level))
  37.  
  38. time.sleep(1)
  39.  
  40. if __name__ == '__main__':
  41. main()

 

Krok 3:Uruchom program

 

  1. sudo chmod +x lesson_8.py
  2. sudo ./lesson_8.py

 

Jeśli wszystko pójdzie pomyślnie, poziom wilgoci będzie widoczny na ekranie LCD. Buzzer będzie wysyłać ostrzeżenia, gdy poziom wilgoci osiągnie „mokro”.

 

  1. pi@raspberrypi:~/grove.py $ sudo ./lesson_8.py
  2. moisture: 0, dry
  3. moisture: 0, dry
  4. moisture: 396, moist
  5. moisture: 398, moist
  6. moisture: 407, wet
  7. moisture: 418, wet
  8. ^CTraceback (most recent call last):
  9. File "./lesson_8.py", line 41, in
  10. main()
  11. File "./lesson_8.py", line 38, in main
  12. time.sleep(1)
  13. KeyboardInterrupt
  14. pi@raspberrypi:~/grove.py $

Spis treści

zapraszamy do współpracy!