I denne artikel vil vi overveje, hvordan mesteren realiserede sin idé om at fremstille et voltmeter ved hjælp af en servomotor.
For at fremstille et sådant voltmeter bruger masteren: Raspberry Pi med Raspian og med installerede Pi-Plates Python 3-moduler, TINKER Pi-Plate, ledninger, 9G servomotor, tyk pap, dobbeltsidet tape, plexiglas.
Fra papmesteren skærer pilen.
Eller du kan udskrive det på en 3D-printer. Fil, der skal udskrives på dette linket.
Pilen er fastgjort til servohåndtaget med dobbeltsidet bånd.
Fra plexiglas skærer panelet.
Skruer det til servomotorens krop.
Udskriver en skala (download filen her).
Klæber en skala til pleksiglas.
Tilslutter servomotoren til kredsløbskortet i henhold til diagrammet. For at måle spænding skal du bruge ledninger, der er tilsluttet GND og AIN 1.
Derefter skal du kalibrere voltmeteret.
Inkluderer Raspberry Pi. Opretter en Python3-session, indlæser TINKERplate-modulet og indstiller den digitale I / O-kanal 1-tilstand til “servo.” Nu skal servoen bevæge sig til 90 grader.
Sæt derefter voltmeterpilen til 6V.
Indtaster TINK.setSERVO (0,1,15) for at flytte pilen til position 0V.
Indtaster TINK.setSERVO (0,1,165) for at flytte servoen til position 12V.
Hvis pilen afviger fra de givne aflæsninger, skal du justere værdierne 15 og 165
Derefter skal du downloade koden.
importpiplater.TINKERplade som TINK
importtid
TINK.setDEFAULTS (0) # vend alle porte til deres standardtilstande
TINK.setMODE (0,1, 'servo') #set Digital I / O-port 1 til at drive en servo
lLimit = 12,0 # Den nedre grænse = 0 volt
hLimit = 166,0 # Den øverste grænse = 12 volt
mens (sandt):
analogIn = TINK.getADC (0,1) #læst analog kanal 1
# skalere dataene til en vinkel i området fra lLimit til hLimit
vinkel = analogIn * (hLimit-lLimit) /12.0
TINK.setSERVO (0,1, lLit + vinkel) # sæt servovinkel
time.sleep (.1) # udsæt og gentag
Alt er klar.