Isi kandungan:

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

Video: DemUino - Komputer / Pengawal Rumah: 7 Langkah

Video: DemUino - Komputer / Pengawal Rumah: 7 Langkah
Video: ОТЪЕХАЛА МАРУСЯ ► 5 Прохождение Silent Hill 2 ( PS2 ) 2024, Julai
Anonim
Image
Image
Membakar Bootloader
Membakar Bootloader

Komputer Berinspirasi Arduino oleh DemeterArt Manfaatkan papan kekunci lama PS2 anda. Hack ke komputer peribadi yang disesuaikan untuk mengawal barang! Saya selalu mahu membina komputer di rumah saya sendiri, gaya retro, tidak ada yang menarik tetapi dengan kemampuan tertentu yang disesuaikan dengan pilihan saya. Jadi, saya berjaya dengan atmega328 MCU dan kit pengembangan Arduino.

Izinkan saya menyatakan bahawa projek ini akan memakan masa yang lebih lama dengan hasil akhir yang meragukan sekiranya bukan untuk peminat berbakat di luar sana yang mementingkan diri sendiri dan kurang menyediakan perpustakaan perisian percuma untuk digunakan oleh semua orang. Terima kasih semua:-)

lawati laman web saya untuk membaca keseluruhan cerita dan memuat turun semua fail yang berkaitan

www.sites.google.com/site/demeterart

Langkah 1: Ciri-ciri

  • Berdasarkan ATMEGA328 dengan flash 32KB, 2KB SRAM dan 1KB EEPROM.
  • sokongan untuk mod interaktif dan kumpulan
  • penyunting baris dan mod senarai-sementara-edit
  • 8 watak khas untuk grafik pengguna
  • 60 langkah program bernombor 00,…, 99
  • Pernyataan ‘Jika’ bersyarat, ‘sementara’ dan ‘untuk’ gelung ditambah pernyataan ‘goto’ dan ‘sub’ untuk percabangan
  • Ungkapan aritmetik dan matematik asas serta ujian boolean
  • pemboleh ubah sistem membenarkan peristiwa berjangka, nilai purata, rms, min dan maksimum dari pin analog, dll
  • 26 pemboleh ubah pengguna untuk berinteraksi dengan pemboleh ubah dan perintah sistem
  • 104 bait dari array yang dapat dialamatkan oleh pengguna atau 52 bilangan bulat pendek
  • keupayaan membaca / menulis data program serta kod on-the-fly (p variabel)
  • aplikasi osiloskop mini dengan watak disesuaikan untuk grafik semu
  • simpan dan muatkan program dan data ke / dari EEPROM
  • memuatkan / menyimpan program dan pemboleh ubah dari / ke PC
  • autoexec untuk memuat dan menjalankan program dari EEPROM selepas setiap tetapan semula
  • 9 pin GPIO (termasuk SPI) tersedia pada penyambung DB15 luaran
  • BUZZER untuk kesan bunyi

Langkah 2: Barang yang Anda Perlu

Papan kekunci ps / 2 lama cukup tebal untuk menempatkan paparan watak LCD pcb (format selari yang popular) cip MAX232 untuk RS232 port atmel atmega328PU Arduino development kit dengan IDE 1.0.1 LM7805 regulator 5V buzzer bridge rectifier, kapasitor, butang reset semula, penyambung dll

Langkah 3: Membakar Bootloader

Jadi, setelah membeli cip atmega328PU 'kosong' ada keputusan yang harus dibuat. Adakah saya menggunakan programmer khas sama ada luaran atau ISP atau adakah saya membakar bootloader Arduino ke dalam binatang dan menjadikan unit dapat diprogramkan melalui port UARTnya? Saya memilih yang terakhir untuk menjadikan hidup saya lebih mudah! Pemuat but baru hanya menggunakan memori kilat setengah kilobyte yang meninggalkan sedikit lebih daripada 31KB program pengguna dan data statik yang tersedia. Laman Arduino merangkumi kes membakar bootloader pada cip baru, ketika menggunakan avrdude untuk benar-benar membakar cip sasaran, prosesnya gagal dengan ralat yang menunjukkan id yang salah untuk MCU tertentu. Oleh itu, setelah membuat carian, saya dapati lelaki ini betul dan saya mengikuti prosedurnya. Satu-satunya perbezaan adalah 2 fail konfigurasi, avrdude.conf dan boards.txt yang diperlukan oleh avrdude dan arduino IDE 1.0.1 untuk memungkinkannya. Setelah menyalin 2 fail ke lokasi yang betul (buat sandaran yang lama terlebih dahulu) pilihan 'arduino328' dari alat-> Papan tersedia dan avrdude meneruskan pembakaran sekering dan bootloader. Kini cip tersebut siap diprogram dari dalam mesin baru!

Langkah 4: Membina Unit

Membina Unit
Membina Unit
Membina Unit
Membina Unit

Papan berlubang dengan jalur tembaga digunakan sebagai penyelesaian pemasangan cepat dengan soket DIP untuk kerepek, anda tahu, sekiranya berlaku! Kemudian lubang dan pemotongan untuk penyambung, butang reset dan paparan LCD dibuka melalui plastik papan kekunci yang sangat kukuh dan tebal. Ya, itu dibina 25 tahun yang lalu! Berikutan kekacauan wayar yang terpancar dari pcb ke arah pelbagai periferal. Pemeriksaan kesinambungan asas dan kemudian bekalan disambungkan tanpa cip yang diisi hanya untuk memeriksa soket untuk mendapatkan voltan yang betul. Kemudian masuk 2 IC dan casing papan kekunci ditutup dengan kuat melalui penyekat plastik di bahagian bawah. Unit ini siap membakar lakaran di alat kawalan!

Saya mencadangkan satu menggunakan kapasitor 1uF / 16V nonpolar untuk pam caj MAX232. Cari kapasitor pemutusan 100nF untuk kedua-dua cip sedekat mungkin ke pin VCC dan GND masing-masing. Gunakan sambungan bintang untuk kuasa dan tanah yang dirujuk ke pengatur LM7805. Suis 2 boleh menjadi pelompat bergantung pada pengimplementasian tetapi ada baiknya jika hanya untuk mengelakkan penyetelan semula MCU yang tidak diingini dari PC host dalam kes tertentu. Walau apa pun, suis mesti ditutup untuk membolehkan Arduino IDE membakar lakaran dengan menetapkan semula MCU sasaran (pin DTR dari RS232). Dalam kes saya, sambungannya kekal (selalu ditutup). Gunakan perintang siri untuk buzzer untuk mengasingkan beberapa kapasitansi nF dari pintu pemanduan… anda tidak pernah tahu.. Cari kapasitor XTAL dan pemuatan 18-22pF sedekat mungkin ke pin pengawal masing-masing.

Oleh kerana jambatan penerus, unit mungkin digerakkan oleh kedua-dua penyesuai kuasa AC dan DC. Sekiranya DC, terdapat penurunan voltan 1.5 V antara penyesuai dan input ke pengatur. Sekiranya AC, input pengatur adalah sekitar 1.4 kali output RMS dari penyesuai atau kurang kerana pemuatan. Sekiranya perbezaan antara input regulator dan outputnya (+ 5V) besar, katakanlah 7 volt, maka daya yang digunakan oleh regulator mendekati 0,5 watt dan lebih baik menggunakan heatsink kecil untuk memasang chip (disediakan ada ruang untuk itu) selama berjam-jam beroperasi dalam cuaca panas.

Fius input AC boleh dipilih bergantung pada beban luaran anda (melalui penyambung DB15). Faktor lain yang mempengaruhi pilihan fius adalah perintang had semasa untuk lampu latar LED LCD, kapasitor jambatan untuk arus pengecasan dan kapasiti arus transformer pembekalan.

Langkah 5: SKIMATIK

SKIMATIK
SKIMATIK

Langkah 6: MENUNJUKKAN PERISIAN

Sketsa inilah yang menjadikan semuanya berlaku… dan 32KB TIDAK cukup! Anda boleh menggunakannya tanpa pengubahsuaian, oleh itu saya menghargai sebutan nama saya, atau mengubahnya sesuka hati dan melupakan saya;-)

Ini adalah dokumentasi terperinci mengenai mesin.

Ringkasan Perintah & Ungkapan

: Baris komen yang tidak dapat dicetak

ai: pasang gangguan 0 (pin D2)

ar: bacaan analog

aw: 'analog menulis' per arduino atau lebih tepat pwm

ca: tangkapan analog dalam pelbagai

cl: membersihkan paparan cno: return * Prgm indeks nombor garis

di: tunggu siri denyutan dan ukur jangka masa dan masa

dl: kelewatan

lakukan: bersama dengan ‘wh’

dr: digital membaca sebarang pin

dw: digital tulis sebarang pin

ed: mod penyunting / program muat dari baris PC / renumber

el: Fungsi akses EEPROM

akhir: penyataan TAMAT program

ensb: berakhir subrutin

es: Fungsi akses EEPROM

fl: penapis purata bergerak sederhana

fr: gelung untuk-seterusnya (fr-nx)

pergi: lompat ke langkah program

gosb: teruskan pelaksanaan ke subrutin

gt: menunggu input pengguna

sekiranya: keadaan ujian dan lompat ke langkah

io: GPIO 1-9 bit

ld: memuatkan / menggabungkan program dari EEPROM

lp:: gelung terkawal papan kekunci dalam mod interaktif

ls: senarai mod / hantar program ke PC satu baris dalam satu masa

ml: dapatkan masa

mm: memaparkan memori percuma

nos: menukar nombor menjadi rentetan

nx: bersama dengan ‘fr’

pl: susunan plot cxx

pm: tetapkan pin untuk masuk atau keluaran

pr: mencetak mesej atau nilai atau watak tersuai

rgc: perintah salin julat untuk tatasusunan

rgs: perintah set pelbagai untuk tatasusunan

rn: jalankan program dalam RAM

rs: tetapan semula lembut

rx: terima watak melalui RS232

si: input bersiri segerak dengan jam dan pin data

sm: aplikasi osiloskop mini sno: menukar rentetan menjadi nombor

jadi: output bersiri segerak dengan pin jam dan data

sub: menyatakan subrutin

sv: simpan program ke EEPROM

tn: berbunyi nada

tx: menghantar nombor melalui RS232

wh: gelung do-while yang digunakan bersama dengan ‘do’

Langkah 7: Klip video Aplikasi Mini 'sm' Berjalan

lawati laman web saya untuk membaca keseluruhan cerita dan memuat turun semua fail yang berkaitan

www.sites.google.com/site/demeterart

Disyorkan: