Daftar Isi:
- Langkah 1: Bagian yang Saya Gunakan
- Langkah 2: Sirkuit
- Langkah 3: PCB
- Langkah 4: Mengunggah Kode
- Langkah 5: Perakitan
- Langkah 6: Bug dan Pekerjaan di Masa Depan
Video: Komputer DASAR Genggam: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Instruksi ini menjelaskan proses saya membangun komputer genggam kecil yang menjalankan BASIC. Komputer dibangun di sekitar chip ATmega 1284P AVR, yang juga mengilhami nama konyol untuk komputer (HAL 1284).
Bangunan ini SANGAT terinspirasi oleh proyek luar biasa yang ditemukan di sini dan Lencana BASIC SuperCON.
Komputer menjalankan versi TinyBasic yang dimodifikasi, meskipun sebagian besar perangkat lunak didasarkan pada proyek oleh dan14. Anda tentu saja dapat mengikuti Instruksi ini, atau bahkan lebih baik, memperbaikinya karena saya membuat beberapa kesalahan.
Untuk proyek ini, saya juga membuat manual. Itu menyebutkan beberapa bug dan spesifik untuk monitor yang dipilih tetapi yang paling penting, ia memiliki daftar operasi BASIC.
Setelah ini diterbitkan, saya membuat video yang menampilkan proyek tersebut.
Langkah 1: Bagian yang Saya Gunakan
Untuk IC utama:
- ATmega 1284P
- Kristal 16MHz
- Kapasitor Keramik 2x 22pf
- Resistor 10KΩ (Untuk reset pull up)
- Tombol 4-pin (Untuk reset)
- 470Ω Reistor (Untuk video komposit)
- 1kΩ Resistor (Untuk sinkronisasi video komposit)
- Jumper 3-pin (Untuk sinyal video)
- Buzzer Pasif
Untuk kontrol keybaord:
- ATmega 328P (Seperti yang digunakan di Arduino Uno)
- Kristal 16MHz
- Kapasitor Keramik 2x 22pf
- 12x 10KΩ Resistor (Untuk reset pull up dan tombol)
- 51x tombol 4-pin (Untuk keyboard yang sebenarnya)
Untuk daya:
- Pengatur Tegangan L7805
- LED 3mm
- 220Ω Resistor (Untuk LED)
- 2x 0.1µF Kapasitor Elektrolit
- Kapasitor Elektrolit 0,22 F (Anda bisa mengganti ini 0,22 dan 0,1 untuk satu 0,33. Saya juga diberitahu bahwa nilainya tidak terlalu penting, tetapi saya tidak hebat dengan kapasitor)
- 2x 2-pin jumper (Untuk input daya dan untuk sakelar utama)
GPIO (Mungkin menambahkan beberapa alasan lagi):
- Pelompat 7-pin
- 2x 8-pin Jumper
- Jumper 2-pin (Untuk 5V dan GND)
- Jumper 3-4-pin (Untuk Komunikasi Serial)
Non-PCB:
- Layar LCD 4" dengan Video Komposit (Tegangan saya memiliki tegangan input antara 7-30V)
- Dudukan cetak 3D untuk tampilan
- Semacam saklar
Langkah 2: Sirkuit
Sirkuitnya tidak terlalu bagus dan sebagian besar wilayah IC utama terinspirasi oleh dan14. Yang sedang berkata, itu adalah Arduino yang cukup lurus ke depan pada sirkuit Breadboard. Keyboard adalah grid sederhana dan dikendalikan oleh ATmega328. Kedua chip AVR berkomunikasi melalui pin Serial UART.
Baik gambar dan file Eagle saya terlampir dan mudah-mudahan cukup untuk membuat ulang sirkuit. Jika tidak, jangan ragu untuk memberi tahu saya dan saya akan memperbarui Instructable.
Langkah 3: PCB
PCB berlapis 2 dan dibuat menggunakan Rute Otomatis (Oh, sungguh lubang **!). Ini memiliki tombol dan indikator daya LED di bagian depan dan sisanya di bagian belakang. Saya membuat PCB saya dengan JCL PCB, dan mereka melakukan pekerjaan yang luar biasa dengannya. File yang diperlukan untuk membuat ulang PCB harus ada di file Eagle dari sebelumnya.
Saya menyarankan agar Anda mendesain ulang PCB, karena saya memiliki beberapa hal yang ingin saya lakukan secara berbeda. Jika Anda menyukai desain saya, saya masih memiliki (sampai tulisan ini dibuat) empat papan yang tidak terpakai yang ingin saya jual.
Papan memiliki empat lubang bor yang saya gunakan untuk memasang Layar LCD.
Langkah 4: Mengunggah Kode
Baik 1284 dan 328 tentu saja membutuhkan kode dan kode yang saya gunakan dapat ditemukan di sini: https://github.com/PlainOldAnders/HAL1284 di bawah ArduinoSrc/src. Saya hanya menggunakan Arduino IDE untuk memodifikasi dan mengunggah kode, tetapi sebelum itu dapat dilakukan, Anda harus membakar bootloader pada IC:
ATMega328:
Yang ini mudah, dalam arti bahwa ada banyak dukungan di luar sana tentang cara membakar bootloader dan mengunggah kode ke IC ini. Saya biasanya mengikuti panduan ini, sebagian besar karena saya selalu lupa secara spesifik.
Kode untuk 328 (di bawah ArduinoSrc/keypad) cukup sederhana. Ini sepenuhnya bergantung pada perpustakaan Adafruit_Keypad-master-. Jika ada perubahan tentang lib, saya telah menyertakan versi yang saya gunakan di halaman github saya di bawah ArduinoSrc/lib.
ATMega1284:
Ini agak sulit bagi saya ketika saya pertama kali mendapatkan IC. Saya memulai dengan mendapatkan bootloader dari sini, dan mengikuti panduan instalasi. Untuk membakar bootloader, saya hanya melakukan hal yang sama seperti dengan 328 dan mendapat bantuan dari sini. Untuk kedua IC saya hanya menggunakan Arduino Uno untuk membakar bootloader dan mengunggah kode (IC dihapus dari Arduino Uno saat mengunggah).
Kode (di bawah ArduinoSrc/HAL1284Basic) terlalu rumit bagi saya, tetapi saya dapat memodifikasi beberapa bagian kode:
Saya menambahkan beberapa perintah (yang ditandai dengan [A] di manual.pdf), dan saya juga mengubah perintah lain:
Nada: Perintah nada hanya menggunakan fungsi nada Arduino sebelumnya, tetapi saat menggunakan perpustakaan TVout, ini menyebabkan buzzer tidak berfungsi dengan baik. Saya mengubahnya untuk menggunakan fungsi nada TVout, tetapi ini berarti bahwa pin nada HARUS menjadi pin 15 (untuk atmega1284)
Komunikasi Serial: Karena keyboard adalah DIY, menggunakan komunikasi serial untuk membaca karakter. Karena atmega1284 digunakan di sini, ada dua jalur komunikasi serial yang tersedia, dan ketika "sercom" diaktifkan, kode tersebut juga memungkinkan untuk menulis melalui port serial (dari komputer atau apa pun).
Resolusi: Monitor yang digunakan untuk proyek ini cukup bodoh, dan resolusi kecil diperlukan, atau gambar akan berkedip. Jika monitor yang lebih baik digunakan, saya sarankan Anda mengubah resolusi dalam fungsi pengaturan.
Langkah 5: Perakitan
Dengan kode yang diunggah dan PCB serta bagiannya sudah siap, sekarang saatnya untuk perakitan. Semua bagian yang saya gunakan adalah melalui lubang, jadi menyolder tidak terlalu sulit (berlawanan dengan badass-SMD-solder-fellas di luar sana). Monitor diikat ke empat lubang bor di PCB dengan dudukan cetak 3D. Jika monitor lain digunakan, empat lubang bor diharapkan dapat digunakan untuk memasang ini.
Dudukan monitor yang digunakan di sini, juga dirancang untuk menampung sakelar sakelar (terhubung ke jumper "sakelar" pada PCB) dan tiga tombol kontrol untuk monitor. Dudukan diikat dengan baut dan spacer M3 plastik.
Untuk colokan listrik saya menggunakan konektor PCB JST, meskipun jack barel yang licin akan sedikit lebih halus. Untuk memberi daya pada papan, saya beralih antara catu daya 12V atau tiga baterai 18650 secara seri. Seorang koboi yang lebih halus dari saya mungkin bisa mendesain dudukan baterai yang apik untuk papan.
Langkah 6: Bug dan Pekerjaan di Masa Depan
Tombol Panah: Tombol Panah diletakkan secara tidak sengaja dan tidak berfungsi banyak. Ini membuat navigasi menjadi sulit
File I/O: Ada kemampuan File I/O tetapi ini tidak diterapkan. Untuk mengatasi hal ini, perangkat lunak HAL1284Com dapat mengunggah file ke papan. Dimungkinkan juga untuk mengunggah ke EEPROM.
MENGINTIP/POKE: MENGINTIP dan POKE belum diuji, dan saya tidak yakin apa alamatnya.
Break: Break (Esc) terkadang mengacaukan seluruh kode, saat berada dalam infinite loop.
Pin 7: Pin 7 PWM dapat menjadi sulit ketika mencoba DWRITE High atau AWRITE 255. Ini bekerja dengan baik dengan AWRITE 254.
Idiot: Akan ideal untuk juga dapat mengunggah melalui UART1 tetapi pengunggahan hanya dimungkinkan melalui UART0, jadi pengunggahan harus dilakukan dengan mengekstraksi IC utama. Layar dan Pengatur Tegangan 5 menjadi agak terlalu panas saat berjalan dalam waktu lama.
Direkomendasikan:
Komponen Pemasangan Permukaan Solder - Dasar-dasar Solder: 9 Langkah (dengan Gambar)
Komponen Pemasangan Permukaan Solder | Dasar-dasar Solder: Sejauh ini dalam Seri Dasar Solder saya, saya telah membahas dasar-dasar yang cukup tentang penyolderan untuk Anda mulai berlatih. Dalam Instructable ini, apa yang akan saya diskusikan sedikit lebih maju, tetapi ini adalah beberapa dasar untuk menyolder Surface Mount Compo
Driver H-Bridge Kecil - Dasar-dasar: 6 Langkah (dengan Gambar)
Driver H-Bridge Kecil | Dasar-dasar: Halo dan selamat datang kembali di Instructable lainnya! Pada bagian sebelumnya, saya telah menunjukkan cara membuat kumparan di KiCad menggunakan skrip python. Kemudian saya membuat dan menguji beberapa variasi kumparan untuk melihat mana yang bekerja paling baik. Tujuan saya adalah untuk menggantikan yang besar
Dasar-dasar Motor - Konsep Sangat Mudah Dipahami Dengan Eksperimen: 7 Langkah (dengan Gambar)
Dasar-dasar Motor | Konsep Super Mudah Dipahami Dengan Eksperimen: Dalam instruksi ini saya akan mengajari Anda tentang prinsip dasar motor. Semua motor di sekitar kita bekerja berdasarkan prinsip ini. Bahkan generator bekerja pada pernyataan timbal balik dari aturan ini. Saya berbicara tentang Ru
Dasar-Dasar Elektronik: Dioda: 6 Langkah (dengan Gambar)
Dasar-Dasar Elektronik: Dioda: Jika Anda tidak suka membaca, tonton video saya di Youtube! Saya telah membuatnya lebih sederhana di sana. Juga Besar Terima kasih kepada www.JLCPCB.com yang telah mensponsori proyek ini, Anda dapat memesan PCB 2 lapis (10cm*10cm) hanya seharga $2 dari situs web mereka. Waktu pembuatan untuk 2 lapis PCB i
Dasar-dasar Antarmuka Arduino TFT: 10 Langkah (dengan Gambar)
Dasar-dasar Antarmuka TFT Arduino: Layar sentuh TFT adalah antarmuka grafis luar biasa yang dapat digunakan dengan mikrokontroler seperti Atmel, PIC, STM, karena memiliki rentang warna yang luas, dan kemampuan grafis yang baik serta pemetaan piksel yang baik. Hari ini, kita akan pergi ke Antarmuka TFT 2,4 inci