» Mga Tema » Pag-ayos, paggawa ng makabago »Ang voltmeter ngalog mula sa servomotor

Ang voltmeter ngalog mula sa servomotor


Sa artikulong ito, isasaalang-alang namin kung paano natanto ng Master ang kanyang ideya sa paggawa ng isang voltmeter gamit ang isang servomotor.
Upang makagawa ng tulad ng isang voltmeter, ginagamit ng master ang: Raspberry Pi na may Raspian at may naka-install na mga module na Pi-Plates Python 3, TINKER Pi-Plate, wires, 9G servomotor, makapal na karton, double-sided tape, plexiglass.

Mula sa master ng karton ay pinutol ang arrow.
Ang voltmeter ngalog mula sa servomotor

O maaari mong i-print ito sa isang 3D printer. File upang mai-print ito ang link.
Ang arrow ay naayos sa servo lever na may double-sided tape.

Mula sa plexiglass cut sa panel.


Screws ito sa katawan ng servomotor.

Nag-print ng isang scale (i-download ang file dito).

Sticks isang scale upang plexiglass.

Kinokonekta ang servomotor sa circuit board ayon sa diagram. Upang masukat ang boltahe, kailangan mong gumamit ng mga wire na konektado sa GND at AIN 1.

Susunod kailangan mong i-calibrate ang voltmeter.
May kasamang Raspberry Pi. Lumilikha ng sesyon ng Python3, naglo-load ng module ng TINKERplate, at itinatakda ang digital na I / O channel 1 mode sa "servo." Ngayon ang servo ay dapat lumipat sa 90 degrees.
Susunod, itinatakda ang arrow ng voltmeter sa 6V.
Pinapasok ang TINK.setSERVO (0,1,15) upang ilipat ang arrow sa posisyon 0V.
Nagpasok sa TINK.setSERVO (0,1,165) upang ilipat ang servo sa posisyon 12V.
Kung ang arrow ay lumihis mula sa ibinigay na mga pagbabasa, kailangan mong ayusin ang mga halagang 15 at 165

Susunod, kailangan mong i-download ang code.
mag-import ng mga piplates.TINKERplate bilang TINK
oras ng pag-import
TINK.setDEFAULTS (0) #Balikin ang lahat ng mga port sa kanilang mga default na estado
TINK.setMODE (0,1, 'servo') #set Digital I / O port 1 upang magmaneho ng servo

lLimit = = 12.0 #Ang mas mababang limitasyon = 0 volts
hL limit = 166.0 #Ang itaas na limitasyon = 12 volts

habang (Totoo):
analogIn = TINK.getADC (0,1) #read analog channel 1
I-#scale ang data sa isang anggulo sa saklaw ng LLimit to hLimit
anggulo = analogIn * (hLimit-lLimit) /12.0
TINK.setSERVO (0,1, lLimit + + anggulo) anggulo ng servo
oras.sleep (.1) #delay at ulitin

Handa na ang lahat.
Ang tanong na tanong ay awtomatikong nai-publish sa panlipunan. network ng site - manatiling nakatutok para sa mga sagot doon:

Angkop para sa paksa

Kaugnay na mga paksa

Magdagdag ng isang puna

    • ngitinakangitixaxaok langhindi alamyahoonea
      bosskumamottangaoooo-ooagresibolihim
      sorrysayawsayaw2sayaw3kapatawarantumulonginumin
      humintomga kaibiganmabutigoodgoodsipolswoondila
      usokpumapalakpakkrayolaipahayagnakakainisdon-t_mentionpag-download
      initnakakainistumawa1mdapagpupulongnakikipag-usapnegatibo
      hindi_ipopcornparusahanbasahintakottakotpaghahanap
      panunuyasalamat_youitoto_clueumniktalamaksumang-ayon
      masamabeeeblack_eyeblum3namulamagyabanginip
      censoredkaaya-ayalihim2nagbabantatagumpayyusun_bespectacled
      shokrespektlolnagustuhanmaligayang pagdatingkrutoyya_za
      ya_dobryikatulongne_huliganne_othodimapusokpagbabawalmalapit

Pinapayuhan ka naming basahin:

Ipasa ito para sa smartphone ...