Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
Lektion 11: Fotowiderstandsmodul
Bemerkung
Der Raspberry Pi verfügt nicht über analoge Eingänge, daher benötigt er ein Modul wie das PCF8591 ADC-DAC-Wandlermodul, um analoge Signale zur Verarbeitung auszulesen.
In dieser Lektion lernen wir, wie man ein Fotowiderstandsmodul mit einem Raspberry Pi ausliest. Sie erfahren, wie man ein Fotowiderstandsmodul an den PCF8591 zur Analog-Digital-Wandlung anschließt und dessen Ausgabe in Echtzeit mit Python überwacht.
Erforderliche Komponenten
In diesem Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ITEMS IN THIS KIT |
LINK |
|---|---|---|
Universal Maker Sensor Kit |
94 |
Sie können sie auch einzeln über die untenstehenden Links kaufen.
Component Introduction |
Purchase Link |
|---|---|
Raspberry Pi 5 |
|
Verkabelung
Code
import PCF8591 as ADC # Import PCF8591 module
import time # Import time for delay
ADC.setup(0x48) # Initialize PCF8591 at address 0x48
try:
while True: # Continuously read and print
print(ADC.read(1)) # Read from Photoresistor at AIN1
time.sleep(0.2) # Delay of 0.2 seconds
except KeyboardInterrupt:
print("Exit") # Exit on CTRL+C
Code Analysis
Bibliotheken importieren:
In diesem Abschnitt werden die erforderlichen Python-Bibliotheken importiert. Die
PCF8591-Bibliothek wird für die Interaktion mit dem PCF8591-Modul verwendet, undtimedient zur Implementierung von Verzögerungen im Code.import PCF8591 as ADC # Import PCF8591 module import time # Import time for delay
PCF8591-Modul initialisieren:
Hier wird das PCF8591-Modul initialisiert. Die Adresse
0x48ist die I²C-Adresse des PCF8591-Moduls. Dies ist notwendig, damit der Raspberry Pi mit dem Modul kommunizieren kann.ADC.setup(0x48) # Initialize PCF8591 at address 0x48
Hauptschleife und Datenauslesung:
Der
try-Block enthält eine kontinuierliche Schleife, die fortlaufend Daten vom Fotowiderstandsmodul ausliest. Die FunktionADC.read(1)erfasst den analogen Eingang vom Sensor, der an Kanal 1 (AIN1) des PCF8591-Moduls angeschlossen ist. Eintime.sleep(0.2)sorgt für eine Pause von 0,2 Sekunden zwischen den Auslesungen. Dies hilft nicht nur, die CPU-Belastung des Raspberry Pi zu verringern, indem übermäßige Datenverarbeitungsanforderungen vermieden werden, sondern verhindert auch, dass das Terminal mit schnell scrollenden Informationen überflutet wird, wodurch die Überwachung und Analyse der Ausgabe erleichtert wird.try: while True: # Continuously read and print print(ADC.read(1)) # Read from Photoresistor at AIN1 time.sleep(0.2) # Delay of 0.2 seconds
Tastaturunterbrechung behandeln:
Der
except-Block ist dazu ausgelegt, eine Tastaturunterbrechung (z. B. durch Drücken von CTRL+C) abzufangen. Wenn diese Unterbrechung auftritt, gibt das Skript „Beenden“ aus und stoppt die Ausführung. Dies ist eine gängige Methode, um ein kontinuierlich laufendes Skript in Python sauber zu beenden.except KeyboardInterrupt: print("exit") # Exit on CTRL+C