Isi kandungan:

Komputer ASAS Genggam: 6 Langkah (dengan Gambar)
Komputer ASAS Genggam: 6 Langkah (dengan Gambar)

Video: Komputer ASAS Genggam: 6 Langkah (dengan Gambar)

Video: Komputer ASAS Genggam: 6 Langkah (dengan Gambar)
Video: #1. Pengenalan Adobe Illustrator | Tutorial Adobe Illustrator Untuk Pemula 2024, Julai
Anonim
Komputer ASAS Genggam
Komputer ASAS Genggam
Komputer ASAS Genggam
Komputer ASAS Genggam

Instructable ini menerangkan proses saya membina komputer genggam kecil yang menjalankan ASAS. Komputer ini dibina di sekitar cip AVR ATmega 1284P, yang juga mengilhami nama bodoh untuk komputer (HAL 1284).

Binaan ini diHASILKAN oleh projek luar biasa yang terdapat di sini dan SuperCON BASIC Badge.

Komputer menjalankan versi TinyBasic yang diubahsuai, walaupun banyak perisian berdasarkan projek oleh dan14. Anda tentu saja dapat mengikuti Instructable ini, atau lebih baik lagi, memperbaikinya kerana saya melakukan beberapa kesalahan.

Untuk projek ini, saya juga membuat manual. Ini menyebutkan beberapa bug dan spesifik untuk monitor yang dipilih tetapi yang paling penting, ia mempunyai senarai operasi BASIC.

Selepas ini diterbitkan, saya membuat video yang memaparkan projek tersebut.

Langkah 1: Bahagian yang Saya Gunakan

Bahagian Saya Digunakan
Bahagian Saya Digunakan
Bahagian Saya Digunakan
Bahagian Saya Digunakan
Bahagian Saya Digunakan
Bahagian Saya Digunakan

Untuk IC utama:

  • ATmega 1284P
  • Kristal 16MHz
  • Kapasitor Seramik 2x 22pf
  • Perintang 10KΩ (Untuk tetapan semula)
  • Butang 4 pin (Untuk tetapan semula)
  • 470Ω Reistor (Untuk video komposit)
  • Perintang 1kΩ (Untuk penyegerakan video komposit)
  • Pelompat 3-pin (Untuk isyarat video)
  • Buzzer Pasif

Untuk kawalan keybaord:

  • ATmega 328P (Seperti yang digunakan di Arduino Uno)
  • Kristal 16MHz
  • Kapasitor Seramik 2x 22pf
  • Perintang 12x 10KΩ (Untuk tetapan semula dan butang)
  • Butang 51-pin 4x (Untuk papan kekunci sebenar)

Untuk kuasa:

  • Pengatur Voltan L7805
  • LED 3mm
  • 220Ω Perintang (Untuk LED)
  • Kapasitor Elektrolitik 2x 0.1µF
  • Kapasitor Elektrolitik 0.22 µF (Anda boleh menggantikan 0.22 dan satu 0.1 ini dengan satu 0.33. Saya juga diberitahu bahawa nilainya tidak begitu penting, tetapi saya tidak hebat dengan kapasitor)
  • Pelompat 2-pin 2-pin (Untuk input kuasa dan suis utama)

GPIO (Mungkin menambah beberapa alasan):

  • Pelompat 7-pin
  • Pelompat 2-pin 8-pin
  • Pelompat 2-pin (Untuk 5V dan GND)
  • Pelompat 3-4-pin (Untuk Komunikasi Bersiri)

Bukan PCB:

  • Paparan LCD 4 "dengan Video Komposit (Tambang mempunyai voltan input antara 7-30V)
  • Pemegang bercetak 3D untuk paparan
  • Suatu jenis suis

Langkah 2: Litar

Litar
Litar

Litarnya tidak begitu cantik dan sebahagian besar kawasan IC utama diilhamkan oleh dan14. Yang dikatakan, ini adalah Arduino lurus ke depan di litar Breadboard. Papan kekunci adalah grid sederhana dan dikendalikan oleh ATmega328. Kedua-dua cip AVR berkomunikasi melalui pin Serial UART.

Baik gambar dan fail Eagle saya dilampirkan dan semoga cukup untuk mencipta semula litar. Sekiranya tidak, sila beritahu saya dan saya akan mengemas kini Instructable.

Langkah 3: PCB

PCB
PCB
PCB
PCB

PCB berlapis 2 dan dibuat menggunakan Laluan Auto (Oh, apa lubang **!). Ia mempunyai butang dan LED penunjuk kuasa di bahagian depan dan selebihnya di bahagian belakang. Saya telah membuat PCB saya dengan JCL PCB, dan mereka melakukan pekerjaan yang luar biasa dengannya. Fail yang diperlukan untuk membuat semula PCB harus ada di dalam fail Eagle dari sebelumnya.

Saya mencadangkan agar anda merancang semula PCB, kerana saya mempunyai beberapa perkara yang saya ingin lakukan dengan cara yang berbeza. Sekiranya anda menyukai reka bentuk saya, saya masih mempunyai (seperti tulisan) empat papan yang tidak terpakai yang saya lebih suka menjual.

Papan mempunyai empat lubang gerudi yang telah saya gunakan untuk memasang Paparan LCD.

Langkah 4: Memuat naik Kod

Memuat naik Kod
Memuat naik Kod
Memuat naik Kod
Memuat naik Kod
Memuat naik Kod
Memuat naik Kod

Baik 1284 dan 328 tentu saja memerlukan kod dan kod yang saya gunakan boleh didapati di sini: https://github.com/PlainOldAnders/HAL1284 di bawah ArduinoSrc / src. Saya hanya menggunakan Arduino IDE untuk mengubah dan memuat naik kod tetapi sebelum itu dapat dilakukan, anda perlu membakar pemuat but di IC:

ATMega328:

Yang ini mudah, dalam arti ada banyak sokongan di luar sana mengenai cara membakar bootloader dan memuat naik kod ke IC ini. Saya biasanya mengikuti panduan ini, terutamanya kerana saya terus melupakan butirannya.

Kod untuk 328 (di bawah ArduinoSrc / keypad) agak mudah. Ia bergantung sepenuhnya pada Adafruit_Keypad-master- library. Sekiranya ada perubahan mengenai lib, saya akan memasukkan versi yang saya gunakan di halaman github saya di bawah ArduinoSrc / lib.

ATmega1284:

Ini agak sukar bagi saya ketika pertama kali mendapat IC. Saya bermula dengan mendapatkan bootloader dari sini, dan mengikuti panduan pemasangan. Untuk membakar bootloader, saya hanya melakukan perkara yang sama dengan 328 dan mendapat bantuan dari sini. Untuk kedua-dua IC saya baru menggunakan Arduino Uno untuk membakar bootloader dan memuat naik kod (dikeluarkan IC dari Arduino Uno ketika memuat naik).

Kod (di bawah ArduinoSrc / HAL1284Basic) terlalu rumit bagi saya tetapi saya dapat mengubahsuai beberapa bahagian kod:

Saya menambahkan beberapa arahan (yang ditandai dengan [A] dalam manual.pdf), dan saya juga menukar perintah lain:

Nada: Perintah nada hanya menggunakan fungsi nada Arduino sebelumnya, tetapi ketika menggunakan perpustakaan TVout, ini menyebabkan bel tidak berfungsi dengan baik. Saya menukarnya untuk menggunakan fungsi nada TVout, tetapi ini bermaksud pin nada HARUS menjadi pin 15 (untuk atmega1284)

Komunikasi Bersiri: Oleh kerana papan kekunci adalah DIY, ia menggunakan komunikasi bersiri untuk membaca watak. Oleh kerana atmega1284 digunakan di sini, terdapat dua saluran komunikasi bersiri yang tersedia, dan apabila "sercom" diaktifkan, kod ini juga memungkinkan untuk menulis melalui port bersiri (dari komputer atau apa sahaja).

Resolusi: Monitor yang digunakan untuk projek ini cukup bodoh, dan diperlukan resolusi kecil, atau gambarnya berkedip. Sekiranya monitor yang lebih baik digunakan, saya sarankan agar anda mengubah resolusi dalam fungsi persediaan.

Langkah 5: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Dengan kod yang dimuat naik dan PCB serta bahagiannya siap, kini saatnya untuk pemasangan. Semua bahagian yang saya gunakan adalah melalui lubang, jadi penyolderan tidak terlalu sukar (berbanding dengan solassing-fallas-SMD di luar sana). Monitor diikat ke empat lubang gerudi di PCB dengan pemegang dicetak 3D. Sekiranya monitor lain digunakan, empat lubang gerudi diharapkan dapat digunakan untuk memasang ini.

Pemegang monitor yang digunakan di sini, juga dirancang untuk menempatkan suis togol (disambungkan ke pelompat "suis" pada PCB) dan tiga butang kawalan untuk monitor. Pemegangnya diikat dengan bolt dan spacer plastik M3.

Untuk palam kuasa, saya menggunakan penyambung PCB JST, walaupun soket tong yang licin akan lebih lancar. Untuk menghidupkan papan, saya menukar antara bekalan kuasa 12V atau tiga bateri 18650 secara bersiri. Koboi yang lebih halus daripada saya mungkin dapat merancang pemegang bateri yang licin untuk papan.

Langkah 6: Bug dan Kerja Masa Depan

Kekunci Anak Panah: Kekunci Anak Panah diletakkan secara tidak sengaja dan tidak berfungsi dengan banyak fungsi. Ini menjadikan navigasi sukar

Fail I / O: Terdapat keupayaan Fail I / O tetapi ini tidak dilaksanakan. Untuk mengatasi ini, perisian HAL1284Com dapat memuat naik fail ke papan. Anda juga boleh memuat naik ke EEPROM.

PEEK / POKE: PEEK dan POKE belum diuji, dan saya tidak pasti alamatnya.

Break: Break (Esc) kadang-kadang mengacaukan keseluruhan kod, ketika berada di gelung tanpa batas.

Pin 7: Pin PWM 7 boleh menjadi sukar semasa mencuba DWRITE High atau AWRITE 255. Ia berfungsi dengan baik dengan AWRITE 254.

Idiot: Sangat sesuai untuk dapat memuat naik melalui UART1 tetapi muat naik hanya boleh dilakukan melalui UART0, jadi muat naik harus dilakukan dengan mengekstrak IC utama. Skrin dan Voltan Regulator 5 menjadi terlalu panas semasa berjalan untuk waktu yang lama.

Disyorkan: