Isi kandungan:

Cara Menggunakan Pin GPIO Raspberry Pi dan Avrdude ke program Bit-bang DIMP 2 atau DA PIMP 2: 9 Langkah
Cara Menggunakan Pin GPIO Raspberry Pi dan Avrdude ke program Bit-bang DIMP 2 atau DA PIMP 2: 9 Langkah

Video: Cara Menggunakan Pin GPIO Raspberry Pi dan Avrdude ke program Bit-bang DIMP 2 atau DA PIMP 2: 9 Langkah

Video: Cara Menggunakan Pin GPIO Raspberry Pi dan Avrdude ke program Bit-bang DIMP 2 atau DA PIMP 2: 9 Langkah
Video: Arduino USBasp Programmer / Simple Forth Programming 2024, November
Anonim
Cara Menggunakan Pin GPIO Raspberry Pi dan Avrdude ke program Bit-bang DIMP 2 atau DA PIMP 2
Cara Menggunakan Pin GPIO Raspberry Pi dan Avrdude ke program Bit-bang DIMP 2 atau DA PIMP 2

Ini adalah arahan langkah demi langkah tentang cara menggunakan Raspberry Pi dan arahan bebas sumber terbuka untuk memprogram bit-bang DIMP 2 atau DA PIMP 2. Saya menganggap bahawa anda sudah biasa dengan Raspberry Pi dan LINUX anda baris arahan. Anda tidak semestinya biasa dengan pengaturcaraan cip AVR, tetapi ada baiknya jika ada yang salah kerana anda dapat membaca output avrdude dan mempunyai idea tentang apa yang harus dilakukan.

Prosedur ini perlu sekitar 1 jam pertama kali dan 5 hingga 10 minit setiap kali selepas itu.

Anda perlu:

1) Pi Raspberry dengan pin GPIO dan bekalan kuasa. Saya menggunakan Raspberry Pi Zero W dengan pin GPIO yang dipateri. OS tersebut mestilah Raspberry Pi OS (dahulunya Raspbian). Saya menggunakan Raspbian Lite (Stretch), yang lama. Perintah ini masih boleh digunakan pada versi terbaru Raspberry Pi OS.

Ke depan saya akan merujuk Raspberry Pi sebagai "RPi."

2) Wayar pelompat wanita-ke-wanita. Dapatkan salah satu daripada setiap warna ini: merah, hitam, biru, kuning, hijau, ungu. Saya menggunakan coklat dan bukannya ungu.

3) DIMP 2 atau DA PIMP 2 dengan header ICSP 10-pin pilihan yang disolder masuk. Saya menggunakan DIMP 2 di sini, tetapi arahannya sama untuk DA PIMP 2.

4) Akses internet untuk RPi supaya anda dapat memasang perintah bebas sumber terbuka.

5) Salinan fail flash.hex untuk DIMP 2 atau DA PIMP 2. Anda boleh membina fail.hex sendiri dari kod sumber mentah, tetapi saya tidak akan menunjukkan cara melakukannya di sini.

6) Beberapa cara untuk masuk ke RPi - gunakan sama ada sambungan rangkaian atau akses konsol langsung. Anda perlu dapat menjalankan perintah di atasnya.

Langkah 1: Tanggalkan Kabel Kuasa AC dan Tanggalkan Bateri 9V

Mula-mula, periksa sama ada kabel kuasa AC dipasang pada DIMP 2 atau DA PIMP 2 dan pasangkan ke soket AC. Sekiranya demikian, BAHAYA: BAHAYA LETHAL SHOCK. Pakai sarung tangan getah dan kemudian matikan suis rocker utama pada DIMP 2 atau DA PIMP 2. Kemudian, cabut kabel kuasa AC dari sesalur AC, dan lepaskan kabel kuasa AC dari DIMP 2 atau DA PIMP 2. Anda boleh mengambil lepaskan sarung tangan getah setelah kabel AC dilepaskan.

Kemudian, keluarkan bateri 9V. Kuasa akan diberikan kepada DIMP 2 oleh RPi melalui wayar merah (Vcc) dan hitam (GND). Matikan gelangsar pada DIMP 2 atau DA PIMP 2 untuk mematikan sekiranya berlaku.

Langkah 2: Sambungkan Kabel Jumper

Sambungkan Kabel Pelompat
Sambungkan Kabel Pelompat
Sambungkan Kabel Pelompat
Sambungkan Kabel Pelompat
Sambungkan Kabel Pelompat
Sambungkan Kabel Pelompat
Sambungkan Kabel Pelompat
Sambungkan Kabel Pelompat

Dengan RPi tidak dihidupkan, mulailah memasang kabel jumper. Ke depan, pin GPIO berada di Raspberry Pi dan pin ICSP berada di DIMP 2 (header J3) atau DA PIMP 2 (header J1).

Rujuk gambar rajah saya bersama-sama dan gambar jika anda tersesat.

Bahagian RPi dari rajah adalah dari pinout.xyz.

Bahagian rajah ATMEGA48V-10PU adalah hak cipta 2016 Atmel Corp.

Saya menuntut penggunaan lukisan ini dengan adil kerana penambahan transformatif yang ketara.

Hitam beralih dari pin GPIO 6 ke pin ICSP 10. Ini adalah GND (Ground)

Kuning beralih dari pin GPIO 12 ke pin ICSP 9. Ini adalah MISO.

Hijau pergi dari pin GPIO 16 ke pin ICSP 1. Ini adalah MOSI.

Biru pergi dari pin GPIO 18 ke pin ICSP 7. Ini adalah SCK atau SCLK (SClock)

Ungu (coklat dalam foto saya) beralih dari pin GPIO 32 ke pin ICSP 5. Ini adalah RESET.

Merah pergi dari pin GPIO 4 ke pin ICSP 2. Ini adalah Vcc (5V Power)

Langkah 3: Hidupkan RPi

Sekarang, teruskan dan naikkan RPi. Bahagian voltmeter DIMP 2 atau DA PIMP 2 juga perlu dihidupkan, tetapi anda tidak akan mengetahuinya dengan melihat paparannya. Sekiranya ragu-ragu, ukur voltan dengan probe merah pada pin 20 pada ATMEGA48V-10PU dan probe hitam pada pin 4, 6, atau 8 pada header ICSP. Ia mestilah sekitar 5VDC.

Langkah 4: Pasang Avrdude

Arahan saya hanya akan menunjukkan arahan baris arahan. Sekiranya anda menjalankan GUI, anda ingin membuka Terminal untuk menjalankan perintah baris arahan ini.

Log masuk sebagai pi pengguna lalai. Kata laluan lalai adalah raspberry

Pasang arahan avrdude dengan menaip yang berikut di command prompt terminal:

sudo apt-get install avrdude

Langkah 5: Edit Fail Konfigurasi Avrdude

Edit fail konfigurasi avrdude dengan menaip:

sudo nano /etc/avrdude.conf

Tambahkan baris ini ke bahagian tengah fail di mana definisi pengaturcara lain berada. Yang saya buat adalah menyalin bahagian pengaturcara tepat di atasnya untuk id = "linuxgpio", kemudian tampalkannya tepat di bawah (pada baris 1274), kemudian edit bahagian baru.

pengaturcara

id = "pi_1"; desc = "Gunakan antara muka Linux sysfs untuk garis GPIO bitbang"; taip = "linuxgpio"; tetapkan semula = 12; sck = 24; mosi = 23; miso = 18;;

Kemudian simpan fail dengan menekan: Ctrl-O

Dan kemudian keluar dari editor nano dengan menekan: Ctrl-X

Langkah 6: Muat turun atau Salin Fail Flash.hex ke / home / pi

Salin fail flash.hex ke RPi. Saya menganggap anda tahu bagaimana melakukan ini. Petunjuk: Gunakan perintah wget, curl, git, atau scp untuk menurunkan fail dari web ke RPi.

Fail.hex DIMP 2 ada di sini, bersama dengan kod sumber:

github.com/dchang0/dimp2

Versi khusus.hex DA DA PIMP 2 ada di sini. Saya belum menguji ini!

github.com/jcwren/DaPimp2

Sekiranya versi.hex DA DA PIMP 2 di atas tidak berfungsi, kod sumber DA PIMP 2 asal Mikey Sklar ada di sini. Anda mesti menyusunnya menjadi fail.hex yang berfungsi sendiri. Saya tidak membahasnya dalam arahan ini kerana akan menjadi tutorial yang panjang (tetapi tidak sukar). Saya berjaya memprogram beberapa unit DA PIMP 2 yang berfungsi menggunakan kod sumber ini:

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

Atau anda boleh pergi ke halaman DA PIMP 2 utama di sini dan klik pada pautan ke kod sumber.

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

Letakkan fail.hex di jalan ini dan nama fail di RPi…

Untuk DIMP 2:

/home/pi/dimp2.hex

Untuk DA PIMP 2:

/home/pi/da_pimp2.hex

Langkah 7: Sahkan bahawa Avrdude Boleh Bercakap Dengan ATMEGA48V-10PU

Jalankan arahan avrdude untuk memastikan ia boleh bercakap dengan cip ATMEGA48V-10PU pada DIMP 2 atau DA PIMP 2.

cd / rumah / pi

sudo avrdude -c pi_1 -p m48 -v

Anda akan mendapat kira-kira halaman keluaran. Lihatlah penghujungnya. Sekiranya anda mendapat sambutan seperti ini, anda boleh teruskan.

avrdude: Peranti AVR dimulakan dan sedia menerima arahan

Membaca | ################################################# | 100% 0.00s

Sekiranya tidak, ada yang tidak kena dan anda harus mengetahuinya. Kemungkinan besar ia adalah pendawaian yang salah, tetapi satu lagi keluhan yang biasa saya lihat ialah cip ATMEGA48V-10PU adalah palsu. Nampaknya banyak dari mereka yang dijual di Amazon atau ebay adalah palsu. Yang dijual oleh Mouser atau Digikey dan pengedar sah lain adalah asli.

Langkah 8: Flash fail.hex ke ATMEGA48V-10PU

Jalankan arahan ini untuk melakukan pengaturcaraan cip…

Untuk DIMP 2:

cd / rumah / pi

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

Untuk DA PIMP 2:

cd / rumah / pi

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

Anda akan mendapat kira-kira halaman keluaran. Cari baris berikut:

avrdude: penulisan kilat (1528 bait):

Penulisan | ################################################# | 100% 0.79s

avrdude: mengesahkan …

avrdude: 1528 bait kilat disahkan avrdude: safemode: Fius OK (E: FF, H: DF, L: 62)

Sekiranya sejauh ini, anda mesti melihat paparan LED menunjukkan sifar untuk voltan. Sekiranya anda melihat angka nol, anda sudah selesai! Sekiranya tidak, lompat ke langkah seterusnya.

Sekiranya anda melihat angka nol, matikan RPi anda dengan baik dengan arahan ini:

sudo shutdown -h sekarang

Apabila lampu kuasa pada RPi mati (DIMP 2 atau DA PIMP 2 akan tetap menyala), anda boleh mencabut bekalan kuasa dari RPi. Kemudian cabut kabel jumper antara RPi dan DIMP 2 atau DA PIMP 2.

Langkah 9: Penyelesaian Masalah Mudah Sekiranya Flash Gagal

Sekiranya anda tidak melihat angka nol pada paparan DIMP 2 atau DA PIMP 2 anda, sudah tiba masanya untuk menyelesaikan masalah.

Sekali lagi, periksa pendawaian anda terlebih dahulu.

Kemudian, periksa keadaan fius yang ditunjukkan oleh avrdude. Ada kemungkinan bahawa cip anda disertakan dengan sekering yang ditetapkan pada nilai yang berbeza daripada lalai kilang. Cip tersebut mungkin perlu diset semula semula sekeringnya, yang memerlukan peranti perkakasan yang sama sekali berbeza. Ini adalah masalah dengan banyak cip ATMEGA48V-10PU palsu yang dijual di ebay - ia adalah cip lama yang ditarik dari perkakasan yang dibuang, dan sekering telah ditetapkan, dan penjual tidak peduli untuk menetapkan semula sekering.

Kadang-kadang cip itu bukan ATMEGA48V-10PU. Ia boleh menjadi cip yang berbeza. Biasanya anda boleh memberitahu palsu ini dengan melihat tanda di bahagian atas dan bawah cip dengan teliti. Lebih bijak untuk mendapatkan ATMEGA48V-10PU anda melalui pembekal yang dipercayai seperti Mouser atau Digikey.

Disyorkan: