Daftar Isi:

DemUino - Komputer/Pengontrol Rumah: 7 Langkah
DemUino - Komputer/Pengontrol Rumah: 7 Langkah

Video: DemUino - Komputer/Pengontrol Rumah: 7 Langkah

Video: DemUino - Komputer/Pengontrol Rumah: 7 Langkah
Video: Превратите старый дешевый компьютер в машину мечты для эмуляции! 2024, Juli
Anonim
Image
Image
Membakar Bootloader
Membakar Bootloader

Komputer Terinspirasi Arduino oleh DemeterArt Manfaatkan keyboard PS2 lama Anda. Meretasnya ke komputer pribadi yang disesuaikan untuk mengontrol barang-barang! Saya selalu ingin membangun komputer rumah saya sendiri, dengan gaya retro, tidak ada yang mewah tetapi dengan kemampuan khusus yang disesuaikan dengan preferensi saya. Jadi, saya melakukannya dengan atmega328 MCU dan kit pengembangan Arduino.

Izinkan saya menyatakan bahwa proyek ini akan memakan waktu lebih lama dengan hasil akhir yang meragukan jika bukan karena para penggemar berbakat di luar sana yang tidak terlalu mementingkan diri sendiri menyediakan perpustakaan freeware untuk digunakan semua orang. Terima kasih semua:-)

kunjungi situs saya untuk membaca keseluruhan cerita dan mengunduh semua file yang relevan

www.sites.google.com/site/demeterart

Langkah 1: Fitur

  • Berdasarkan ATMEGA328 dengan flash 32KB, SRAM 2KB dan EEPROM 1KB.
  • dukungan untuk mode interaktif dan batch
  • editor baris dan mode daftar-saat-edit
  • 8 karakter khusus untuk grafik pengguna
  • 60 langkah program bernomor 00, …, 99
  • 'Jika' bersyarat, 'sementara' dan 'untuk' loop ditambah pernyataan 'goto' dan 'sub' untuk percabangan
  • Ekspresi aritmatika dan matematika dasar ditambah tes boolean
  • variabel sistem memungkinkan untuk acara berjangka waktu, rata-rata, rms, nilai min dan maks dari pin analog, dll
  • 26 variabel pengguna untuk berinteraksi dengan variabel dan perintah sistem
  • 104 byte array yang dapat dialamatkan pengguna atau 52 bilangan bulat pendek
  • kemampuan untuk membaca/menulis data program serta kode on-the-fly (p variabel)
  • aplikasi osiloskop mini dengan karakter khusus untuk grafik semu
  • menyimpan dan memuat program dan data ke/dari EEPROM
  • memuat/menyimpan program dan variabel dari/ke PC
  • autoexec untuk memuat dan menjalankan program dari EEPROM setelah setiap reset
  • 9 pin GPIO (termasuk SPI) tersedia pada konektor DB15 eksternal
  • BUZZER untuk efek suara

Langkah 2: Barang yang Anda Butuhkan

Keyboard ps/2 lama yang cukup tebal untuk menampung tampilan karakter LCD PCB (format paralel populer) chip MAX232 untuk port RS232 atmel atmega328PU Arduino development kit dengan IDE 1.0.1 LM7805 regulator 5V buzzer bridge rectifier, kapasitor, tombol tekan reset, konektor dll

Langkah 3: Membakar Bootloader

Jadi, setelah membeli chip atmega328PU 'kosong' ada keputusan yang harus dibuat. Apakah saya menggunakan programmer khusus baik eksternal atau ISP atau apakah saya membakar bootloader Arduino ke dalam beast dan membuat unit dapat diprogram melalui port UART-nya? Saya memilih yang terakhir untuk membuat hidup saya lebih mudah! Bootloader baru hanya menempati setengah kilobyte memori flash, menyisakan sedikit lebih dari 31KB program pengguna dan data statis yang tersedia. Situs Arduino mencakup kasus pembakaran bootloader pada chip baru, ketika menggunakan avrdude untuk benar-benar membakar chip target, prosesnya gagal dengan kesalahan yang menunjukkan id yang salah untuk MCU tertentu. Jadi setelah beberapa pencarian saya menemukan orang ini yang melakukannya dengan benar dan saya mengikuti prosedurnya. Satu-satunya perbedaan adalah 2 file konfigurasi, avrdude.conf dan boards.txt yang dibutuhkan oleh avrdude dan arduino IDE 1.0.1 untuk memungkinkannya. Setelah menyalin 2 file ke lokasi yang tepat (cadangkan yang lama terlebih dahulu) opsi 'arduino328' dari alat-> Papan tersedia dan avrdude melanjutkan dengan membakar sekering dan bootloader. Sekarang chip siap diprogram dari dalam mesin baru!

Langkah 4: Membangun Unit

Membangun Unit
Membangun Unit
Membangun Unit
Membangun Unit

Papan berlubang dengan strip tembaga digunakan sebagai solusi perakitan cepat dengan soket DIP untuk chip, Anda tahu, untuk berjaga-jaga! Kemudian lubang dan potongan untuk konektor, tombol reset dan layar LCD dibuka melalui plastik keyboard yang sangat kokoh dan tebal. Ya, itu dibangun 25 tahun yang lalu! Disusul kekacauan kabel yang berasal dari PCB menuju berbagai periferal. Pemeriksaan kontinuitas yang belum sempurna dan kemudian suplai dihubungkan tanpa chip yang diisi hanya untuk memeriksa soket untuk voltase yang tepat. Kemudian datang dalam 2 IC dan casing keyboard ditutup rapat melalui kancing plastiknya di bagian bawah. Unit siap untuk membakar sketsa di pengontrol!

Saya menyarankan seseorang menggunakan kapasitor 1uF/16V nonpolar untuk pompa muatan MAX232. Temukan kapasitor decoupling 100nF untuk dua chip sedekat mungkin dengan masing-masing pin VCC dan GND. Gunakan koneksi bintang untuk daya dan ground yang direferensikan ke regulator LM7805. Switch 2 bisa menjadi jumper tergantung pada impementasi tetapi baik untuk memiliki jika hanya untuk menghindari reset MCU yang tidak diinginkan dari PC host dalam kasus-kasus tertentu. Bagaimanapun, sakelar harus ditutup untuk memungkinkan Arduino IDE membakar sketsa melalui pengaturan ulang MCU target (pin DTR RS232). Dalam kasus saya, koneksi bersifat permanen (selalu tertutup). Gunakan resistor seri untuk bel untuk mengisolasi beberapa nF kapasitansi dari gerbang penggerak … Anda tidak pernah tahu.. Cari XTAL dan kapasitor pemuatan 18-22pF sedekat mungkin ke masing-masing pin pengontrol.

Karena jembatan penyearah, unit dapat ditenagai oleh adaptor daya AC dan DC. Dalam kasus DC, ada penurunan tegangan 1,5 V antara adaptor dan input ke regulator. Dalam kasus AC, input regulator sekitar 1,4 kali output RMS adaptor atau kurang karena pembebanan. Jika perbedaan antara input regulator dan outputnya (+5V) besar, katakanlah 7 volt, maka daya yang dikonsumsi oleh regulator mendekati 0,5 watt dan lebih baik menggunakan heatsink kecil untuk memasang chip (asalkan ada ruang untuk itu) untuk operasi berjam-jam dalam cuaca panas.

Sekering input AC dapat dipilih tergantung pada beban eksternal Anda (melalui konektor DB15). Faktor lain yang mempengaruhi pemilihan sekering adalah resistor pembatas arus untuk lampu latar LED LCD, kapasitor jembatan untuk arus pengisian dan kapasitas arus transformator pemasok.

Langkah 5: SKEMA

SKEMA
SKEMA

Langkah 6: PERANGKAT LUNAK DIJALANKAN ONBOARD

Ini adalah sketsa yang membuat semuanya terjadi… dan 32KB TIDAK cukup! Anda dapat menggunakannya tanpa modifikasi, dalam hal ini saya akan menghargai referensi nama saya, atau mengubahnya sesuka hati dan melupakan saya;-)

Ini adalah dokumentasi rinci tentang mesin.

Ringkasan Perintah & Ekspresi

“: baris komentar yang tidak dapat dicetak

ai: pasang interupsi 0 (pin D2)

ar: pembacaan analog

aw: 'analog write' per arduino atau lebih tepatnya pwm

ca: penangkapan analog dalam array

cl: membersihkan tampilan cno: mengembalikan *Prgm indeks nomor baris

di: tunggu rangkaian pulsa dan ukur durasi dan waktu

dl: tunda

lakukan: dalam hubungannya dengan 'wh'

dr: digital baca pin apa saja

dw: digital tulis pin apa saja

ed: mode editor / memuat program dari PC / memberi nomor ulang baris

el: Fungsi akses EEPROM

end: pernyataan END dari sebuah program

ensb: mengakhiri subrutin

es: fungsi akses EEPROM

fl: filter rata-rata bergerak sederhana

fr: loop untuk-berikutnya (fr-nx)

go: lompat ke langkah program

gosb: lanjutkan eksekusi ke subrutin

gt: menunggu input pengguna

if: uji kondisi dan lompat ke langkah

io: GPIO 1-9 bit

ld: memuat/menggabungkan program dari EEPROM

lp:: loop yang dikontrol keyboard dalam mode interaktif

ls: mode daftar / kirim program ke PC satu per satu

ml: dapatkan waktu

mm: menampilkan memori bebas

nos: mengubah angka menjadi string

nx: dalam hubungannya dengan 'fr'

pl: plot array cxx

pm: mengatur pin untuk masuk atau keluar

pr: mencetak pesan atau nilai atau karakter khusus

rgc: perintah salin rentang untuk array

rgs: perintah range set untuk array

rn: jalankan program di RAM

rs: soft reset

rx: menerima karakter melalui RS232

si: input serial sinkron dengan jam dan pin data

sm: aplikasi osiloskop mini sno: mengubah string menjadi angka

jadi: output serial sinkron dengan jam dan pin data

sub: mendeklarasikan subrutin

sv: simpan program ke EEPROM

tn: bip nada

tx: mengirimkan nomor melalui RS232

wh: perulangan do-while yang digunakan bersama dengan 'do'

Langkah 7: Videoclip dari Mini App 'sm' Running

kunjungi situs saya untuk membaca keseluruhan cerita dan mengunduh semua file yang relevan

www.sites.google.com/site/demeterart

Direkomendasikan: