Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
W naszych wcześniejszych instrukcjach pokazaliśmy, jak można połączyć piny GPIO Raspberry Pi z diodami LED i przełącznikami oraz jak piny GPIO mogą być wysokie lub niskie. Ale co, jeśli chcesz używać Raspberry Pi z czujnikiem analogowym?
Jeśli chcemy używać czujników analogowych z Raspberry Pi, musielibyśmy mieć możliwość pomiaru rezystancji czujnika. W przeciwieństwie do Arduino, piny GPIO Raspberry Pi nie są w stanie zmierzyć rezystancji i mogą wykrywać tylko wtedy, gdy dostarczane do nich napięcie przekracza określone napięcie (około 2 wolty). Aby rozwiązać ten problem, możesz użyć konwertera analogowo-cyfrowego (ADC) lub możesz zamiast tego użyć stosunkowo taniego kondensatora.
Ten Instruktaż pokaże Ci, jak można to zrobić.
Krok 1: Czego będziesz potrzebować
- RaspberryPi z zainstalowanym Raspbianem. Będziesz także musiał mieć dostęp do Pi za pomocą monitora, myszy i klawiatury lub za pomocą pulpitu zdalnego. Możesz użyć dowolnego modelu Raspberry Pi. Jeśli masz jeden z modeli Pi Zero, możesz przylutować kilka pinów nagłówka do portu GPIO.
- Rezystor zależny od światła (znany również jako LDR lub fotorezystor)
- Kondensator ceramiczny 1 uF
- Bezlutowa prototypowa płytka do krojenia chleba
-Niektóre przewody połączeniowe męskie do żeńskich
Krok 2: Zbuduj swój obwód
Zbuduj powyższy obwód na płytce prototypowej, upewniając się, że żaden z wyprowadzeń komponentów nie styka się. Rezystor zależny od światła i kondensator ceramiczny nie mają polaryzacji, co oznacza, że prąd ujemny i dodatni można podłączyć do dowolnego przewodu. Dlatego nie musisz się martwić, w jaki sposób te elementy zostały połączone w twoim obwodzie.
Po sprawdzeniu obwodu podłącz kable połączeniowe do pinów GPIO Raspberry Pi, postępując zgodnie z powyższym schematem.
Krok 3: Utwórz skrypt w języku Python, aby odczytać rezystor zależny od światła
Napiszemy teraz krótki skrypt, który będzie odczytywał i wyświetlał opór LDR za pomocą Pythona.
Na swoim Raspberry Pi otwórz IDLE (Menu> Programowanie> Python 2 (IDLE)). Otwórz nowy projekt, przejdź do Plik > Nowy plik. Następnie wpisz (lub skopiuj i wklej) następujący kod:
importuj RPi. GPIO jako GPIOimport timempin=17 tpin=27 GPIO.setmode(GPIO. BCM) cap=0.000001 adj=2.130620985i=0 t=0 while True: GPIO.setup(mpin, GPIO. OUT) GPIO.setup(tpin, GPIO. OUT) GPIO.output(mpin, False) GPIO.output(tpin, False) time.sleep(0.2) GPIO.setup(mpin, GPIO. IN) time.sleep(0.2) GPIO.output(tpin, True) starttime=time.time() endtime=time.time() while (GPIO.input(mpin) == GPIO. LOW): endtime=time.time()measureresistance=endtime-starttime res=(pomiar rezystancji/limit)* adj i=i+1 t=t+res jeśli i==10: t=t/i print(t) i=0 t=0
Zapisz swój projekt jako lightsensor.py (Plik > Zapisz jako) w folderze Dokumenty.
Teraz otwórz Terminal (Menu> Akcesoria> Terminal) i wpisz następujące polecenie:
python lightsensor.py
Raspberry Pi będzie wielokrotnie wyświetlać rezystancję fotorezystora. Jeśli przyłożysz palec do fotorezystora, opór wzrośnie. Jeśli poświecisz jasnym światłem na fotorezystor, opór zmniejszy się. Możesz zatrzymać działanie tego programu, naciskając klawisze CTRL+Z.
Krok 4: Jak to działa
Gdy kondensator stopniowo się ładuje, wzrasta napięcie przechodzące przez obwód i do pinu GPIO. Gdy kondensator zostanie naładowany do pewnego punktu, jego napięcie wzrośnie powyżej 2 woltów, a Raspberry Pi wykryje, że pin 13 GPIO jest WYSOKI.
Jeśli rezystancja czujnika wzrośnie, kondensator będzie ładował się wolniej, a obwód zajmie więcej czasu, aby osiągnąć 2 wolty.
Powyższy skrypt zasadniczo mierzy czas, jaki zajmuje pinowi 13, aby obrócił się w stan wysoki, a następnie wykorzystuje ten pomiar do obliczenia rezystancji fotorezystora.
Zalecana:
Samouczek: Jak korzystać z analogowego ultradźwiękowego czujnika odległości US-016 z Arduino UNO: 3 kroki
Samouczek: Jak korzystać z analogowego ultradźwiękowego czujnika odległości US-016 z Arduino UNO: Opis: Ultradźwiękowy moduł rozruchowy US-016 umożliwia niemierzenie 2 cm ~ 3 m, napięcie zasilania 5 V, prąd roboczy 3,8 mA, obsługuje analogowe napięcie wyjściowe, stabilny i niezawodny. Ten moduł może się różnić w zależności od aplikacji
Trzy obwody czujnika dotykowego + obwód zegara dotykowego: 4 kroki
Trzy obwody czujnika dotykowego + obwód zegara dotykowego: Czujnik dotykowy to obwód, który włącza się po wykryciu dotknięcia styków dotykowych. Działa na zasadzie nieustalonej tzn. obciążenie będzie WŁĄCZONE tylko na czas dotknięcia pinów.Tutaj pokażę Ci trzy różne sposoby na dotyk
Asystent parkowania tyłem w garażu przy użyciu istniejącego czujnika bezpieczeństwa i obwodu analogowego: 5 kroków
Asystent parkowania tyłem w garażu z wykorzystaniem istniejącego czujnika bezpieczeństwa i obwodu analogowego: Podejrzewam, że wiele wynalazków w historii ludzkości zostało dokonanych z powodu narzekających żon. Pralka i lodówka z pewnością wydają się być realnymi kandydatami. Mój mały „wynalazek” opisany w tej instrukcji jest elektronicznym
Korzystanie z czujnika ruchu z RaspberryPi i Telegram Bot: 4 kroki
Korzystanie z czujnika ruchu z RaspberryPi i Telegram Bot: Cześć chłopaki. W tym poście będziemy używać Raspberry Pi Telegram Bot z czujnikiem PIR (ruchu)
Bezkosztowa lodówka / podstawka do laptopa (bez kleju, bez wiercenia, bez nakrętek i śrub, bez śrub): 3 kroki
Zero-kosztowa chłodnica / podstawka do laptopa (bez kleju, bez wiercenia, bez nakrętek i śrub, bez śrub): AKTUALIZACJA: PROSZĘ GŁOSOWAĆ NA MÓJ INSTRUKCJONALNY, DZIĘKI ^_^ MOŻESZ RÓWNIEŻ GŁOSOWAĆ NA MÓJ INNY KONKURS WPIS NA www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ LUB MOŻE GŁOSUJ NA MOJEGO NAJLEPSZEGO PRZYJACIELA