Šiame straipsnyje mes svarstysime, kaip meistras įgyvendino savo idėją pagaminti voltmetrą naudojant servomotorą.
Norėdami pagaminti tokį voltmetrą, meistras naudoja: „Raspberry Pi“ su „Raspian“ ir su įdiegtais „Pi-Plates Python 3“ moduliais, „TINKER Pi-Plate“, laidais, 9G servovarikliu, storu kartonu, dvipusė juosta, plexiglass.
Iš kartono meistras nupjauna strėlę.
Arba galite atspausdinti 3D spausdintuvu. Failas, kurį reikia atspausdinti nuorodą.
Rodyklė pritvirtinta prie servo svirties su dvipuse juosta.
Iš plexiglass pjauna skydą.
Varžtai jį pritvirtina prie servovariklio korpuso.
Spausdina skalę (atsisiųskite failą čia).
Priklijuoja skalę prie plexiglass.
Pagal schemą prijungia servovariklį prie plokštės. Norėdami išmatuoti įtampą, turite naudoti laidus, prijungtus prie GND ir AIN 1.
Kitas turite sukalibruoti voltmetrą.
Apima Raspberry Pi. Sukuria „Python3“ seansą, įkelia „TINKERplate“ modulį ir nustato skaitmeninio I / O kanalo 1 režimą į „servo“. Dabar servo aparatas turėtų judėti iki 90 laipsnių.
Tada nustatykite voltmetro rodyklę į 6 V.
Įveda TINK.setSERVO (0,1,15), kad rodyklę perkeltų į 0V padėtį.
Įveda „TINK.setSERVO“ (0,1,165), kad perkeltų servo į 12 V padėtį.
Jei rodyklė nukrypsta nuo nurodytų rodmenų, turite pakoreguoti 15 ir 165 reikšmes
Kitas, jums reikia atsisiųsti kodą.
importuokite piplates.TINKERplate as TINK
importo laikas
TINK.setDEFAULTS (0) #nustatykite visus uostus į numatytąsias būsenas
TINK.setMODE (0,1, 'servo') #set Skaitmeninis I / O prievadas 1 valdyti servo
lLimit = 12,0 #Žemiausia riba = 0 voltų
hLimit = 166,0 # Viršutinė riba = 12 voltų
tuo tarpu (tiesa):
analogIn = TINK.getADC (0,1) #skaityti analoginį 1 kanalą
# masteliu didinkite duomenis kampu nuo lLimit iki hLimit
kampas = analogIn * („hLimit-lLimit“) /12,0
TINK.setSERVO (0,1, lLimit + kampas) #set servo kampas
time.sleep (.1) # atidėkite ir pakartokite
Viskas paruošta.