Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Cześć wszystkim! W tym samouczku pokażę, jak możemy bezpośrednio przechwytywać wartości analogowe za pomocą Raspberry Pi. Jak wszyscy wiemy, Raspberry Pi to dość potężny minimoduł komputerowy, który jest popularny wśród hobbystów i profesjonalistów i ma prawie wszystkie funkcje, których potrzebuje każdy entuzjasta elektroniki. Jednak jedyną wadą pi jest brak dedykowanego sprzętu konwertera analogowo-cyfrowego, co sprawia, że Pi nie nadaje się do bezpośredniego rejestrowania wartości analogowych z dowolnego czujnika. Rozwiązaniem jest użycie Arduino w połączeniu z Pi lub użycie dedykowanego ADC. W tym projekcie będę używał przetwornika ADC MCP3204-12 bit.
Kieszonkowe dzieci
- Raspberry Pi (możesz użyć dowolnego dostępnego modelu)
- MCP3204 ADC lub MCP3008 ADC
- Czujnik analogowy (zamiast tego używam potencjometru 10K)
- Deska do krojenia chleba
- Przewody połączeniowe
Krok 1: Pobieranie wartości z Arduino zamiast…
Jedną z alternatyw, aby uzyskać wartości analogowe do raspberry pi, jest użycie arduino, które ma dedykowany 10-bitowy ADC. Arduino i Raspberry Pi mogą komunikować się przez port szeregowy w celu przesyłania informacji. Ta metoda może być używana, gdy eksperymentujesz z niektórymi danymi z czujników, a jednocześnie chcesz wykorzystać moc przetwarzania Pi. Wadą tej konfiguracji jest to, że będziesz wykorzystywać więcej zasobów sprzętowych, a także będziesz musiał pisać oddzielne kody dla arduino i Pi.
Krok 2: Korzystanie z ADC…
Alternatywą dla Arduino jako ADC jest użycie dedykowanego układu ADC, który służy temu samemu celowi. W tym projekcie będę używał układu MCP3204 IC, który jest 4-kanałowym 12-bitowym przetwornikiem ADC, który może komunikować się z Raspberry Pi za pomocą protokołu SPI. Do celów demonstracyjnych Foe Będę używał IC w trybie 10 bitowym.
Dołączyłem pinout tego układu scalonego pokazujący opis pinów.
Krok 3: Łączenie Raspberry Pi i ADC
Teraz, gdy mamy już posortowany sprzęt, przejdźmy do schematu połączeń ADC i Pi.
Raspberry Pi miało 2 interfejsy SPI: SPI0 i SPI1. W naszej aplikacji będziemy używać SPI0 i będziemy używać fizycznego (lub sprzętowego) SPI, w którym podłączymy ADC do określonych styków sprzętowych SPI Pi
Załączyłem pinout Pi i schemat obwodu, którego użyłem w projekcie
Schemat połączenia jest następujący:
- VDD(Pin14) i Vref(Pin13) ADC do zasilania 5V Pi
- DGND(Pin7) i AGND(Pin12) ADC do masy Pi
- CLK (Pin11) ADC do GPIO 11 (fizyczny pin 23) Pi
- Dout (Pin10) ADC do GPIO 9 (fizyczny pin 21) Pi
- Din (Pin 9) ADC do GPIO 10 (fizyczny pin 19) Pi
- Chip Select (Pin 8) ADC do GPIO 8 (fizyczny pin 24) Pi
Krok 4: Końcowa konfiguracja i kod
Teraz, gdy wszystkie połączenia zasilania i komunikacji zostały wykonane, nadszedł czas, aby podłączyć dowolny czujnik, którego wartość chcemy zobaczyć. Używam potencjometru 10K jako czujnika.
Kody zostały napisane w dwóch częściach, pierwszy kod dotyczy w zasadzie konfiguracji bibliotek, włączenia komunikacji SPI, a następnie pobrania wartości ADC z MCP3204, a następnie wydrukowania jej na terminalu Pythona.
Drugi kod jest bardziej interaktywny i tworzy wykres danych w czasie rzeczywistym, które pochodzą z czujnika.
Możesz bawić się kodem i dostosować go do swoich potrzeb.
Krok 5: Film instruktażowy
To jest film opisujący szczegółowo wszystkie niezbędne kroki do realizacji tego projektu. Mam nadzieję, że to było pomocne!