W tym artykule rozważymy, w jaki sposób Mistrz zrealizował swój pomysł produkcji woltomierza za pomocą siłownika.
Aby wykonać taki woltomierz, mistrz używa: Raspberry Pi z Raspian i zainstalowanymi modułami Pi-Plates Python 3, TINKER Pi-Plate, przewody, serwomotor 9G, gruby karton, taśma dwustronna, pleksi.
Z tektury mistrz wycina strzałę.
Lub możesz wydrukować go na drukarce 3D. Plik do wydrukowania na tym link.
Strzała jest przymocowana do dźwigni serwomechanizmu za pomocą dwustronnej taśmy.
Z pleksiglasu wycina panel.
Przykręca go do korpusu siłownika.
Drukuje skalę (pobierz plik tutaj).
Nakleja skalę do pleksi.
Łączy siłownik z płytką drukowaną zgodnie ze schematem. Aby zmierzyć napięcie, musisz użyć przewodów podłączonych do GND i AIN 1.
Następnie musisz skalibrować woltomierz.
Obejmuje Raspberry Pi. Tworzy sesję Python3, ładuje moduł TINKERplate i ustawia tryb cyfrowego kanału I / O 1 na „serwo”. Teraz serwo powinno przesunąć się o 90 stopni.
Następnie ustawia strzałkę woltomierza na 6 V.
Wchodzi w TINK.setSERVO (0,1,15), aby przesunąć strzałkę do pozycji 0 V.
Wchodzi TINK.setSERVO (0,1,165), aby przesunąć siłownik do pozycji 12V.
Jeśli strzałka odbiega od podanych odczytów, należy dostosować wartości 15 i 165
Następnie musisz pobrać kod.
import piplates.TINKERplate jako TINK
czas importu
TINK.setDEFAULTS (0) # przywróć wszystkie porty do ich domyślnych stanów
TINK.setMODE (0,1, „serwo”) # set Cyfrowy port I / O 1 do sterowania serwomechanizmem
lLimit = 12,0 # Dolna granica = 0 woltów
hLimit = 166,0 # Górny limit = 12 woltów
podczas gdy (prawda):
analogIn = TINK.getADC (0,1) # czytaj kanał analogowy 1
# przeskaluj dane do kąta w zakresie od lLimit do hLimit
kąt = analogIn * (hLimit-lLimit) / 12,0
TINK.setSERVO (0,1, lLimit + angle) #set kąt serwomechanizmu
time.sleep (.1) # opóźnij i powtórz
Wszystko jest gotowe.