Talaan ng mga Nilalaman:

Paano Gumamit ng Mga GPIO Pins ng isang Raspberry Pi at Avrdude sa Bit-bang-program DIMP 2 o DA PIMP 2: 9 Mga Hakbang
Paano Gumamit ng Mga GPIO Pins ng isang Raspberry Pi at Avrdude sa Bit-bang-program DIMP 2 o DA PIMP 2: 9 Mga Hakbang

Video: Paano Gumamit ng Mga GPIO Pins ng isang Raspberry Pi at Avrdude sa Bit-bang-program DIMP 2 o DA PIMP 2: 9 Mga Hakbang

Video: Paano Gumamit ng Mga GPIO Pins ng isang Raspberry Pi at Avrdude sa Bit-bang-program DIMP 2 o DA PIMP 2: 9 Mga Hakbang
Video: How to Build Raspberry Pi Pico PLC || OpenPLC Editor 2024, Setyembre
Anonim
Paano Gumamit ng GPP Pins ng isang Raspberry Pi at Avrdude sa Bit-bang-program DIMP 2 o DA PIMP 2
Paano Gumamit ng GPP Pins ng isang Raspberry Pi at Avrdude sa Bit-bang-program DIMP 2 o DA PIMP 2

Ito ang mga sunud-sunod na tagubilin sa kung paano gamitin ang isang Raspberry Pi at ang libreng open-source command avrdude upang bit-bang-program ang isang DIMP 2 o DA PIMP 2. Ipinapalagay ko na pamilyar ka sa iyong Raspberry Pi at sa LINUX linya ng utos. Hindi mo kailangang pamilyar sa AVR chip program, ngunit makakatulong ito kung may mali dahil maaari mong basahin ang output ng avrdude at magkaroon ng ilang ideya kung ano ang gagawin.

Ang pamamaraang ito ay dapat tumagal ng halos 1 oras sa unang pagkakataon at 5 hanggang 10 minuto bawat oras pagkatapos.

Kakailanganin mong:

1) Isang Raspberry Pi na may mga GPIO pin at power supply. Gumagamit ako ng isang Raspberry Pi Zero W na may mga GPIO pin na solder. Ang OS ay dapat na Raspberry Pi OS (dating Raspbian). Gumagamit ako ng Raspbian Lite (Stretch), na kung saan ay uri ng luma. Ang mga utos na ito ay dapat pa ring gumana sa pinakabagong bersyon ng Raspberry Pi OS.

Sa pagpunta sa unahan ay babanggitin ko ang Raspberry Pi bilang "RPi."

2) Mga kable ng jumper na babae hanggang sa babae. Kumuha ng isa sa bawat isa sa mga kulay na ito: pula, itim, asul, dilaw, berde, lila. Gumagamit ako ng kayumanggi sa halip na lila.

3) Isang DIMP 2 o DA PIMP 2 na may opsyonal na 10-pin na header ng ICSP na naka-solder. Gumagamit ako ng isang DIMP 2 dito, ngunit ang mga tagubilin ay pareho para sa DA PIMP 2.

4) Pag-access sa Internet para sa RPi upang mai-install mo ang libreng open-source command avrdude.

5) Isang kopya ng.hex flash file para sa iyong DIMP 2 o DA PIMP 2. Maaari mong buuin ang iyong.hex na file mula sa hilaw na source code, ngunit hindi ko ipapakita sa iyo kung paano ito gawin dito.

6) Ang ilang mga paraan upang mag-log in sa RPi - gumamit ng alinman sa isang koneksyon sa network o direktang pag-access ng console. Kailangan mong makapagpatakbo ng mga utos dito.

Hakbang 1: Alisin ang AC Power Cord at Alisin ang 9V Battery

Una, suriin kung ang AC power cord ay nakakabit sa DIMP 2 o DA PIMP 2 at naka-plug sa mga mains AC. Kung gayon, PANGANI: LETHAL SHOCK HAZARD. Magsuot ng guwantes na goma at pagkatapos ay patayin ang pangunahing rocker switch sa DIMP 2 o DA PIMP 2. Pagkatapos, alisin ang plug ng AC power cord mula sa AC mains, at tanggalin ang AC power cord mula sa DIMP 2 o DA PIMP 2. Maaari kang kumuha off ang guwantes na goma sa sandaling ang AC power cord ay tinanggal.

Pagkatapos, alisin ang baterya ng 9V. Ibibigay ang lakas sa DIMP 2 ng RPi sa pamamagitan ng pula (Vcc) at itim (GND) na mga wire. I-on ang slider switch sa DIMP 2 o DA PIMP 2 upang patayin kung sakali.

Hakbang 2: I-hook Up ang Jumper Wires

Hook Up ang Jumper Wires
Hook Up ang Jumper Wires
Hook Up ang Jumper Wires
Hook Up ang Jumper Wires
Hook Up ang Jumper Wires
Hook Up ang Jumper Wires
Hook Up ang Jumper Wires
Hook Up ang Jumper Wires

Sa hindi paganahin ng RPi, simulang i-hook up ang mga jumper wires. Magpatuloy, ang mga GPIO pin ay nasa Raspberry Pi at ang mga ICSP pin ay nasa DIMP 2 (header J3) o DA PIMP 2 (header J1).

Sumangguni sa diagram na pinag-cobble ko at ang mga larawan kung nawala ka.

Ang bahaging RPi ng diagram ay mula sa pinout.xyz.

Ang bahagi ng ATMEGA48V-10PU ng diagram ay copyright 2016 Atmel Corp.

Inaangkin ko ang patas na paggamit ng mga guhit na ito dahil sa mga makabuluhan, nakapagpapalit na mga karagdagan.

Ang itim ay pupunta mula sa GPIO pin 6 hanggang sa ICSP pin 10. Ito ang GND (Ground)

Ang dilaw ay pupunta mula sa GPIO pin 12 hanggang sa ICSP pin 9. Ito ang MISO.

Ang Green ay papunta sa GPIO pin 16 hanggang sa ICSP pin 1. Ito ang MOSI.

Ang asul ay papunta sa GPIO pin 18 hanggang sa ICSP pin 7. Ito ang SCK o SCLK (SClock)

Lila (kayumanggi sa aking mga larawan) ay mula sa GPIO pin 32 hanggang sa ICSP pin 5. Ito ang RESET.

Ang pula ay pupunta mula sa GPIO pin 4 hanggang sa ICSP pin 2. Ito ang Vcc (5V Power)

Hakbang 3: Palakasin ang RPi

Ngayon, sige at i-power up ang RPi. Ang voltmeter na bahagi ng DIMP 2 o DA PIMP 2 ay dapat na mag-power up din, ngunit hindi mo malalaman ito sa pamamagitan ng pagtingin sa display. Kung may pag-aalinlangan, sukatin ang boltahe gamit ang pulang probe sa pin 20 sa ATMEGA48V-10PU at ang itim na probe sa pin 4, 6, o 8 sa ICSP header. Dapat ay nasa paligid ng 5VDC.

Hakbang 4: I-install ang Avrdude

Ipapakita lamang ng aking mga tagubilin ang mga utos ng linya ng utos. Kung mayroon kang isang GUI na tumatakbo, gugustuhin mong buksan ang isang Terminal upang patakbuhin ang mga utos ng linya ng utos.

Mag-log in bilang default na pi ng gumagamit. Ang default na password ay raspberry

I-install ang avrdude command sa pamamagitan ng pag-type ng sumusunod sa prompt ng utos ng terminal:

sudo apt-get install avrdude

Hakbang 5: I-edit ang Avrdude Config File

I-edit ang avrdude config file sa pamamagitan ng pagta-type:

sudo nano /etc/avrdude.conf

Idagdag ang mga linyang ito sa gitna ng file kung nasaan ang iba pang mga kahulugan ng programmer. Ang ginawa ko ay kopyahin ang seksyon ng programmer sa itaas mismo nito para sa id = "linuxgpio", pagkatapos ay i-paste ito sa ibaba mismo (sa linya 1274), pagkatapos ay na-edit ang bagong seksyon.

programmer

id = "pi_1"; desc = "Gumamit ng interface ng Linux sysfs sa bitbang mga linya ng GPIO"; type = "linuxgpio"; i-reset = 12; sck = 24; mosi = 23; miso = 18;;

Pagkatapos ay i-save ang file sa pamamagitan ng pagpindot sa: Ctrl-O

At pagkatapos ay umalis sa nano editor sa pamamagitan ng pagpindot sa: Ctrl-X

Hakbang 6: I-download o Kopyahin ang.hex Flash File sa / home / pi

Kopyahin ang.hex flash file sa RPi. Ipinapalagay kong alam mo kung paano gawin ito. Pahiwatig: Gamitin ang utos ng wget, curl, git, o scp upang makuha ang file mula sa web papunta sa RPi.

Narito ang DheP 2's.hex file, kasama ang source code:

github.com/dchang0/dimp2

Ang isang na-customize na bersyon ng.hex file ng DA PIMP 2 ay narito. Hindi ko ito nasubukan!

github.com/jcwren/DaPimp2

Kung ang bersyon sa itaas ng.hex file ng DA PIMP 2 ay hindi gagana, narito ang orihinal na source code na DA PIMP 2 ni Mikey Sklar. Kailangan mong i-compile ito sa isang gumaganang.hex file sa iyong sarili. Hindi ko saklaw iyon sa mga tagubiling ito dahil ito ay magiging isang napakahabang (ngunit hindi mahirap) na tutorial. Matagumpay kong na-program ang maraming mga gumaganang unit ng DA PIMP 2 gamit ang source code na ito:

drive.google.com/open?id=0Bx5Als-UeiZbSUdH…

O maaari kang pumunta sa pangunahing pahina ng DA PIMP 2 dito at mag-click sa link sa source code.

mikeysklar.blogspot.com/p/da-pimp-battery-…

Ilagay ang.hex file sa landas na ito at filename sa RPi…

Para sa DIMP 2:

/ home /pi/dimp2.hex

Para sa DA PIMP 2:

/home/pi/da_pimp2.hex

Hakbang 7: Patunayan Na Maaaring Makipag-usap ang Avrdude Sa ATMEGA48V-10PU

Patakbuhin ang avrdude command upang matiyak na makakausap nito ang ATMEGA48V-10PU chip sa DIMP 2 o DA PIMP 2.

cd / bahay / pi

sudo avrdude -c pi_1 -p m48 -v

Makakakuha ka ng tungkol sa isang pahina ng output. Tumingin sa dulo. Kung nakakuha ka ng isang tugon na tulad nito, maaari kang magpatuloy.

avrdude: Inisyal ang aparato ng AVR at handa nang tanggapin ang mga tagubilin

Pagbasa | ###Oooooooooooooooo | 100% 0.00s

Kung hindi, kung gayon may mali at dapat mong alamin ito. Malamang na ito ay isang nakakaakit, ngunit ang isa pang karaniwang reklamo na nakita ko ay ang chip ng ATMEGA48V-10PU ay isang peke. Mukhang marami sa kanila ang nabili sa Amazon o ebay ay peke. Ang mga ipinagbibili ng Mouser o Digikey at iba pang mga awtorisadong distributor ay tunay.

Hakbang 8: I-flash ang.hex File sa ATMEGA48V-10PU

Patakbuhin ang utos na ito upang gawin ang programa ng maliit na tilad …

Para sa DIMP 2:

cd / bahay / pi

sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex

Para sa DA PIMP 2:

cd / bahay / pi

sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex

Makakakuha ka ng tungkol sa isang pahina ng output. Hanapin ang mga linyang ito:

avrdude: pagsusulat ng flash (1528 bytes):

Pagsusulat | ###Oooooooooooooooo | 100% 0.79s

avrdude: pagpapatunay…

avrdude: 1528 bytes ng flash na na-verify na avrdude: safemode: Mga piyus OK (E: FF, H: DF, L: 62)

Kung nakarating ka dito, dapat mong makita ang LED display na nagpapakita ng mga zero para sa boltahe. Kung nakikita mo ang mga zero, tapos ka na! Kung hindi, laktawan ang susunod na hakbang.

Kung nakikita mo ang mga zero, kaaya-aya na isara ang iyong RPi gamit ang utos na ito:

sudo shutdown -h ngayon

Kapag ang ilaw ng kuryente sa RPi ay naka-off (ang DIMP 2 o DA PIMP 2 ay makikita pa rin), maaari mong i-unplug ang suplay ng kuryente mula sa RPi. Pagkatapos i-unplug ang mga jumper wires sa pagitan ng RPi at ng DIMP 2 o DA PIMP 2.

Hakbang 9: Simpleng Pag-troubleshoot Kung Nabigo ang Flash

Kung hindi ka nakakakita ng mga zero sa display ng DIMP 2 o DA PIMP 2, oras na upang mag-troubleshoot.

Muli, suriin muna ang iyong mga kable.

Pagkatapos, suriin ang mga estado ng piyus na ipinakita ni avrdude. Posibleng ang iyong chip ay kasama ng mga piyus na nakatakda sa iba't ibang mga halaga kaysa sa default ng pabrika. Ang chip ay maaaring kailanganin na i-reset ang mga piyus nito, na nangangailangan ng isang ganap na iba't ibang mga aparato sa hardware. Ito ay isang problema sa marami sa mga pekeng chips ng ATMEGA48V-10PU na ibinebenta sa ebay - ang mga ito ay mga lumang chips na hinugot mula sa itinapon na hardware, at naitakda na ang mga piyus, at ang nagbebenta ay hindi nag-abala upang i-reset ang mga piyus.

Minsan ang maliit na tilad ay hindi isang ATMEGA48V-10PU. Maaari itong maging isang iba't ibang chip na muling nai-label. Kadalasan maaari mong sabihin sa mga peke na ito sa pamamagitan ng maingat na pagtingin sa mga marka sa itaas at ibaba ng maliit na tilad. Mas matalino na makuha ang iyong ATMEGA48V-10PU sa pamamagitan ng isang pinagkakatiwalaang tagatustos tulad ng Mouser o Digikey.

Inirerekumendang: