Daftar Isi:

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

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

Video: Cara Menggunakan Pin GPIO Raspberry Pi dan Avrdude ke Bit-bang-program 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 Bit-bang-program DIMP 2 atau DA PIMP 2
Cara Menggunakan Pin GPIO Raspberry Pi dan Avrdude ke Bit-bang-program DIMP 2 atau DA PIMP 2

Ini adalah petunjuk langkah demi langkah tentang cara menggunakan Raspberry Pi dan perintah open-source gratis avrdude untuk bit-bang-program DIMP 2 atau DA PIMP 2. Saya berasumsi bahwa Anda sudah familiar dengan Raspberry Pi Anda dan LINUX garis komando. Anda tidak harus terbiasa dengan pemrograman chip AVR, tetapi akan membantu jika terjadi kesalahan karena Anda dapat membaca output avrdude dan memiliki beberapa gagasan tentang apa yang harus dilakukan.

Prosedur ini akan memakan waktu sekitar 1 jam pertama kali dan 5 sampai 10 menit setiap kali setelahnya.

Anda akan perlu:

1) Raspberry Pi dengan pin GPIO dan catu daya. Saya menggunakan Raspberry Pi Zero W dengan pin GPIO yang disolder. OS harus Raspberry Pi OS (sebelumnya Raspbian). Saya menggunakan Raspbian Lite (Peregangan), yang agak lama. Perintah-perintah ini harus tetap berfungsi pada versi terbaru dari Raspberry Pi OS.

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

2) Kabel jumper wanita-ke-wanita. Dapatkan salah satu dari masing-masing warna ini: merah, hitam, biru, kuning, hijau, ungu. Saya menggunakan coklat bukan ungu.

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

4) Akses internet untuk RPi sehingga Anda dapat menginstal avrdude perintah open-source gratis.

5) Salinan file flash.hex untuk DIMP 2 atau DA PIMP 2. Anda dapat membuat file.hex sendiri dari kode sumber mentah, tetapi saya tidak akan menunjukkan cara melakukannya di sini.

6) Beberapa cara untuk masuk ke RPi--gunakan koneksi jaringan atau akses konsol langsung. Anda harus dapat menjalankan perintah di atasnya.

Langkah 1: Lepaskan Kabel Daya AC dan Lepaskan Baterai 9V

Pertama, periksa apakah kabel daya AC terpasang ke DIMP 2 atau DA PIMP 2 dan dicolokkan ke listrik AC. Jika ya, BAHAYA: BAHAYA SENGATAN MEMATIKAN. Kenakan sarung tangan karet kemudian matikan sakelar rocker utama pada DIMP 2 atau DA PIMP 2. Kemudian, cabut kabel daya AC dari sumber listrik AC, dan lepaskan kabel daya AC dari DIMP 2 atau DA PIMP 2. Anda dapat mengambil lepaskan sarung tangan karet setelah kabel daya AC dilepas.

Kemudian, lepaskan baterai 9V. Daya akan diberikan ke DIMP 2 oleh RPi melalui kabel merah (Vcc) dan hitam (GND). Matikan sakelar penggeser pada DIMP 2 atau DA PIMP 2 untuk berjaga-jaga.

Langkah 2: Hubungkan Kabel Jumper

Hubungkan Kabel Jumper
Hubungkan Kabel Jumper
Hubungkan Kabel Jumper
Hubungkan Kabel Jumper
Hubungkan Kabel Jumper
Hubungkan Kabel Jumper
Hubungkan Kabel Jumper
Hubungkan Kabel Jumper

Dengan RPi tidak menyala, mulailah menghubungkan kabel jumper. Kedepannya, pin GPIO ada di Raspberry Pi dan pin ICSP ada di DIMP 2 (header J3) atau DA PIMP 2 (header J1).

Lihat diagram yang saya buat bersama dan foto-fotonya jika Anda tersesat.

Bagian RPi dari diagram berasal dari pinout.xyz.

Bagian ATMEGA48V-10PU dari diagram adalah hak cipta 2016 Atmel Corp.

Saya mengklaim penggunaan wajar dari gambar-gambar ini karena penambahan transformatif yang signifikan.

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

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

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

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

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

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

Langkah 3: Nyalakan RPi

Sekarang, lanjutkan dan nyalakan RPi. Bagian voltmeter DIMP 2 atau DA PIMP 2 juga harus menyala, tetapi Anda tidak akan mengetahuinya dengan melihat layar. Jika ragu, ukur tegangan dengan probe merah pada pin 20 pada ATMEGA48V-10PU dan probe hitam pada pin 4, 6, atau 8 pada header ICSP. Seharusnya sekitar 5VDC.

Langkah 4: Instal Avrdude

Instruksi saya hanya akan menampilkan perintah baris perintah. Jika Anda menjalankan GUI, Anda akan ingin membuka Terminal untuk menjalankan perintah baris perintah ini.

Masuk sebagai pengguna default pi. Kata sandi default adalah raspberry

Instal perintah avrdude dengan mengetikkan perintah berikut pada prompt perintah terminal:

sudo apt-get install avrdude

Langkah 5: Edit File Konfigurasi Avrdude

Edit file konfigurasi avrdude dengan mengetik:

sudo nano /etc/avrdude.conf

Tambahkan baris ini ke tengah file di mana definisi programmer lainnya berada. Apa yang saya lakukan adalah menyalin bagian programmer tepat di atasnya untuk id = "linuxgpio", lalu menempelkannya tepat di bawah (pada baris 1274), lalu mengedit bagian baru.

programmer

id = "pi_1"; desc = "Gunakan antarmuka sysfs Linux ke jalur bitbang GPIO"; ketik = "linuxgpio"; ulang = 12; sk = 24; mosi = 23; miso = 18;;

Kemudian simpan file dengan menekan: Ctrl-O

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

Langkah 6: Unduh atau Salin File Flash.hex ke /home/pi

Salin file flash.hex ke RPi. Saya berasumsi Anda tahu bagaimana melakukan ini. PETUNJUK: Gunakan perintah wget, curl, git, atau scp untuk menurunkan file dari web ke RPi.

File.hex DIMP 2 ada di sini, bersama dengan kode sumbernya:

github.com/dchang0/dimp2

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

github.com/jcwren/DaPimp2

Jika versi file.hex DA PIMP 2 di atas tidak berfungsi, kode sumber DA PIMP 2 asli Mikey Sklar ada di sini. Anda harus mengompilasinya sendiri menjadi file.hex yang berfungsi. Saya tidak membahasnya dalam instruksi ini karena ini akan menjadi tutorial yang panjang (tetapi tidak sulit). Saya berhasil memprogram beberapa unit DA PIMP 2 yang berfungsi menggunakan kode sumber ini:

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

Atau Anda dapat pergi ke halaman utama DA PIMP 2 di sini dan klik tautan ke kode sumber.

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

Letakkan file.hex di jalur ini dan nama file di RPi…

Untuk DIMP 2:

/home/pi/dimp2.hex

Untuk DA PIMP 2:

/home/pi/da_pimp2.hex

Langkah 7: Verifikasi Bahwa Avrdude Dapat Berbicara Dengan ATMEGA48V-10PU

Jalankan perintah avrdude untuk memastikan dapat berbicara dengan chip ATMEGA48V-10PU pada DIMP 2 atau DA PIMP 2.

cd /home/pi

sudo avrdude -c pi_1 -p m48 -v

Anda akan mendapatkan sekitar satu halaman keluaran. Lihat akhirnya. Jika Anda mendapatkan respons seperti ini, maka Anda dapat melanjutkan.

avrdude: Perangkat AVR diinisialisasi dan siap menerima instruksi

Membaca | ############################################################# | 100% 0,00 detik

Jika tidak, maka ada sesuatu yang salah dan Anda harus mencari tahu. Kemungkinan besar itu adalah kesalahan kabel, tetapi keluhan umum lainnya yang saya lihat adalah bahwa chip ATMEGA48V-10PU adalah palsu. Tampaknya banyak dari mereka yang dijual di Amazon atau ebay adalah palsu. Yang dijual oleh Mouser atau Digikey dan distributor resmi lainnya adalah asli.

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

Jalankan perintah ini untuk melakukan pemrograman chip…

Untuk DIMP 2:

cd /home/pi

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

Untuk DA PIMP 2:

cd /home/pi

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

Anda akan mendapatkan sekitar satu halaman keluaran. Cari baris ini:

avrdude: menulis flash (1528 byte):

Menulis | ############################################################# | 100% 0.79 detik

avrdude: memverifikasi …

avrdude: 1528 byte flash diverifikasi avrdude: safemode: Fuse OK (E:FF, H:DF, L:62)

Jika Anda sampai sejauh ini, Anda akan melihat tampilan LED menunjukkan nol untuk tegangan. Jika Anda melihat angka nol, Anda selesai! Jika tidak, lewati ke langkah berikutnya.

Jika Anda melihat angka nol, matikan RPi Anda dengan baik dengan perintah ini:

sudo shutdown -h sekarang

Saat lampu power pada RPi mati (DIMP 2 atau DA PIMP 2 akan tetap menyala), anda dapat mencabut catu daya dari RPi. Kemudian cabut kabel jumper antara RPi dan DIMP 2 atau DA PIMP 2.

Langkah 9: Pemecahan Masalah Sederhana Jika Flash Gagal

Jika Anda tidak melihat angka nol pada tampilan DIMP 2 atau DA PIMP 2 Anda, maka inilah saatnya untuk memecahkan masalah.

Sekali lagi, periksa kabel Anda terlebih dahulu.

Kemudian, periksa status sekering yang ditunjukkan oleh avrdude. Ada kemungkinan bahwa chip Anda datang dengan sekering yang disetel ke nilai yang berbeda dari nilai default pabrik. Chip mungkin perlu mengatur ulang sekeringnya, yang membutuhkan perangkat keras yang sama sekali berbeda. Ini adalah masalah dengan banyak chip ATMEGA48V-10PU palsu yang dijual di ebay--ini adalah chip lama yang diambil dari perangkat keras yang dibuang, dan sekeringnya telah dipasang, dan penjual tidak repot-repot menyetel ulang sekeringnya.

Terkadang chip bahkan bukan ATMEGA48V-10PU. Ini bisa menjadi chip yang berbeda yang diberi label ulang. Biasanya Anda dapat mengetahui pemalsuan ini dengan melihat dengan cermat tanda di bagian atas dan bawah chip. Lebih bijaksana untuk mendapatkan ATMEGA48V-10PU Anda melalui pemasok tepercaya seperti Mouser atau Digikey.

Direkomendasikan: