Nie jestem pewien, jak to powiedzieć, ale chciałbym przeczytać „ilość światła” na moim Raspberry Pi. Przez „ilość światła” rozumiem liczbę od 0 do 100 (na przykład), gdzie 0 to brak światła / ciemności, a 100 to dużo światła (co, jak rozumiem, pewna dowolna liczba, „dużo światła”) .
Problem polega na tym: przeczytałem, że Raspberry Pi ma tylko cyfrowe porty wejścia / wyjścia, a nie wejścia analogowe. Czy nadal istnieje sposób na odczyt wejść analogowych, a jeśli tak, jakiego sprzętu potrzebuję?
Aby ustawić poziom wiedzy: udało mi się wyprowadzić kontrolne diody LED przez bibliotekę RPI.GPIO. Nie przeczytałem jeszcze żadnych danych wejściowych.
Odpowiedzi:
Elementem, którego szukasz do odczytu poziomu światła, jest rezystor zależny od światła .
Jak słusznie stwierdziłeś w pytaniu; Raspberry Pi ma tylko wejście cyfrowe. Dlatego możesz utworzyć obwód ładowania RC . Radzę przeczytać ten samouczek dotyczący obwodów ładowania RC .
Ten post na blogu wyjaśnia szczegółowo, w jaki sposób można sprawdzić poziom światła za pomocą obwodu RC lepiej niż kiedykolwiek
Poleciłbym nieco więcej zabawy z pinami GPIO (używając komponentu takiego jak mini przełącznik przyciskowy), zanim przejdziemy do tego!
źródło
Istnieją niedrogie moduły I²C (dla Arduino ), których można użyć do tego.
Poszukaj „Moduł cyfrowego czujnika natężenia światła BH1750FVI” itp.
źródło
Oprócz podejść sugerowanych w innych odpowiedziach można to również osiągnąć za pomocą kamery internetowej USB. Listę kamer obsługiwanych przez Raspberry Pi można znaleźć w RPi VerifiedPeripherals: Kamera internetowa USB .
Było pytanie Przepełnienie stosu dotyczące dostępu do strumienia kamery internetowej z Python, Python API, aby uzyskać dostęp do strumienia kamery? .
Podobnie był samouczek dla Raspberry Pi dotyczący przetwarzania obrazu z kamery internetowej w Pythonie, Obliczenia fizyczne z Raspberry Pi: podstawowe przetwarzanie obrazu .
Zaletą korzystania z kamery internetowej w projekcie jest to, że można zdefiniować po stronie oprogramowania, jaka jest „ilość światła” dla twojego celu, i że możesz uzyskać znacznie więcej informacji (na przykład 2-D tablicę wartości RGB ). Możliwą wadą podejścia kamery internetowej jest mniejszy kąt widzenia w porównaniu do typowego fotorezystora.
źródło
Oto tablica Adafruit o wartości 8 USD, która pozwala określić ilość światła za pomocą interfejsu I²C Raspberry Pi : Adafruit TSL2561 Digital Luminosity / Lux / Light Sensor Breakout . Witryna produktu zawiera również łącza do samouczków i przykładowego kodu.
źródło
Ten moduł zapewnia 8 analogowych wejść dla Raspberry Pi i wykorzystuje interfejs SPI http://www.sf-innovations.co.uk/custard-pi-3.html
źródło