Mundarija:

Portativ kompyuter: 6 qadam (rasmlar bilan)
Portativ kompyuter: 6 qadam (rasmlar bilan)

Video: Portativ kompyuter: 6 qadam (rasmlar bilan)

Video: Portativ kompyuter: 6 qadam (rasmlar bilan)
Video: Кизга хеч Ким карамасин 😍😍#jasjan #togavajiyan 2024, Iyul
Anonim
Qo'l BASIC kompyuter
Qo'l BASIC kompyuter
Qo'l BASIC kompyuter
Qo'l BASIC kompyuter

Bu ko'rsatma BASIC bilan ishlaydigan kichik portativ kompyuterni yaratish jarayonimni tasvirlaydi. Kompyuter ATmega 1284P AVR chipi atrofida qurilgan, bu ham kompyuterning ahmoq nomini (HAL 1284) ilhomlantirgan.

Bu qurilish HEAVILY bu erda topilgan ajoyib loyihadan va SuperCON BASIC nishonidan ilhomlangan.

Kompyuterda TinyBasic -ning o'zgartirilgan versiyasi ishlaydi, garchi dasturiy ta'minotning ko'p qismi dan14 loyihasiga asoslangan. Siz, albatta, bu ko'rsatmaga amal qilishingiz mumkin, yoki undan ham yaxshiroq, uni yaxshilashingiz mumkin, chunki men bir nechta xatolarga yo'l qo'yganman.

Ushbu loyiha uchun men ham qo'llanma yaratdim. U tanlangan monitor uchun ba'zi xatolar va xususiyatlarni eslatib o'tadi, lekin eng muhimi, unda BASIC operatsiyalari ro'yxati mavjud.

Bu nashrdan so'ng men loyihani namoyish etadigan video tayyorladim.

1 -qadam: Men ishlatgan qismlar

Men ishlatgan qismlar
Men ishlatgan qismlar
Men ishlatgan qismlar
Men ishlatgan qismlar
Men ishlatgan qismlar
Men ishlatgan qismlar

Asosiy IC uchun:

  • ATmega 1284P
  • 16 MGts kristalli
  • 2x 22pf seramika kondansatkich
  • 10KΩ qarshilik (qayta o'rnatish uchun)
  • 4 pinli tugma (qayta o'rnatish uchun)
  • 470Ω Reistor (kompozit video uchun)
  • 1kΩ rezistor (kompozitsion video sinxronizatsiya uchun)
  • 3-pinli o'tish (video signal uchun)
  • Passiv buzzer

Klaviaturani boshqarish uchun:

  • ATmega 328P (Arduino Uno -da ishlatilganlar kabi)
  • 16 MGts kristalli
  • 2x 22pf seramika kondansatkich
  • 12x 10KΩ rezistor (yuqoriga va tugmachalarni tiklash uchun)
  • 51x 4-pinli tugma (haqiqiy klaviatura uchun)

Quvvat uchun:

  • L7805 kuchlanish regulyatori
  • 3 mm LED
  • 220Ω qarshilik (LED uchun)
  • 2x 0,1 mF elektrolitik kondansatkich
  • 0,22 mFF elektrolitik kondansatkich (Siz 0,22 ni 0,23 ga almashtira olasiz. Menga bu qiymatlar unchalik muhim emasligini aytishdi, lekin men kondansatkichlar bilan yaxshi emasman)
  • 2x 2-pinli o'tish (quvvat manbai va asosiy kalit uchun)

GPIO (Balki yana ikkita asos qo'shsa bo'ladi):

  • 7-pinli jumper
  • 2x 8-pinli o'tish moslamasi
  • 2-pinli o'tish (5V va GND uchun)
  • 3-4 pinli o'tish (ketma-ket aloqa uchun)

PCB bo'lmagan:

  • Kompozit videoli 4 dyuymli LCD displey (meniki kirish voltaji 7-30 V gacha)
  • Ko'rsatish uchun 3D bosilgan ushlagich
  • Qandaydir kalit

2 -qadam: O'chirish davri

O'chirish davri
O'chirish davri

O'chirish juda chiroyli emas va asosiy IC-hududining ko'p qismi dan14-dan ilhomlangan. Aytish kerakki, bu juda keng tarqalgan Arduino. Klaviatura oddiy tarmoq bo'lib, ATmega328 tomonidan boshqariladi. Ikkita AVR chiplari UART Serial pinlari orqali aloqa o'rnatadi.

Ham tasvir, ham mening burgut fayllarim biriktirilgan va umid qilamanki, sxemani qayta tiklash uchun etarli bo'ladi. Agar yo'q bo'lsa, menga xabar bering, men ko'rsatmalarni yangilayman.

3 -qadam: PCB

PCB
PCB
PCB
PCB

PCB 2 qatlamli va Avtomatik marshrut yordamida yaratilgan (Oh, bu qanday ** teshik!). Uning old tomonida tugmachalar va quvvat ko'rsatkichli LED, qolgan qismi esa orqa tomonda joylashgan. Menda tenglikni JCL PCB bilan yasashdi va ular u bilan ajoyib ish qilishdi. PCB-ni qayta tiklash uchun zarur bo'lgan fayllar avvalgidek Eagle fayllarida bo'lishi kerak.

Men sizga PCB -ni qayta loyihalashni taklif qilaman, chunki menda boshqacha qilmoqchi bo'lgan narsalar bor. Agar sizga mening dizaynim yoqsa, menda hali ham (yozish bo'yicha) to'rtta ishlatilmagan taxtalar bor, men ularni sotishga tayyorman.

Kengashda men LCD displeyni o'rnatish uchun ishlatgan to'rtta burg'ulash teshigi bor.

4 -qadam: Kodni yuklash

Kodni yuklash
Kodni yuklash
Kodni yuklash
Kodni yuklash
Kodni yuklash
Kodni yuklash

Albatta 1284 va 328 kodlari kerak va men ishlatgan kodni bu erda topish mumkin: https://github.com/PlainOldAnders/HAL1284 ArduinoSrc/src ostida. Men kodni o'zgartirish va yuklash uchun Arduino IDE -dan foydalandim, lekin buni amalga oshirishdan oldin siz IC -larga yuklovchilarni yoqishingiz kerak bo'ladi:

ATMega328:

Bu oson, chunki bu erda bootloaderni yoqish va ushbu ICga kodni yuklash bo'yicha juda ko'p yordam mavjud. Men odatda ushbu ko'rsatmaga amal qilaman, chunki men uning xususiyatlarini unutaman.

328 kodi (ArduinoSrc/klaviatura ostida) juda oddiy. Bu butunlay Adafruit_Keypad-master- kutubxonasiga tayanadi. Agar lib haqida biror narsa o'zgarsa, men o'z github-sahifamda ishlatgan versiyani ArduinoSrc/lib ostida kiritganman.

ATmega1284:

ICni birinchi marta olganimda, bu men uchun biroz qiyin edi. Men yuklashni shu yerdan olishdan boshladim va o'rnatish yo'riqnomasiga amal qildim. Bootloaderni yoqish uchun men 328 bilan bir xil ishni qildim va bu erdan yordam oldim. Ikkala IC uchun men bootloaderni yoqish va kodni yuklash uchun Arduino Uno -dan foydalandim (yuklashda Arduino Uno -dan IC olib tashlandi).

Kod (ArduinoSrc/HAL1284Basic ostida) men uchun juda murakkab, lekin kodning ba'zi qismlarini o'zgartira oldim:

Men bir nechta buyruqlarni qo'shdim (manual.pdf -da [A] bilan belgilangan) va boshqa buyruqlarni ham o'zgartirdim:

Ohang: Ohang buyrug'i oldin Arduino-ning ohang-funktsiyasidan foydalangan, lekin TVout kutubxonasidan foydalanganda, bu buzzerning to'g'ri ishlamasligiga olib kelgan. Men uni TVout-ning ohang funktsiyasidan foydalanish uchun o'zgartirdim, lekin bu ohang pimi 15-pinli bo'lishi kerakligini bildiradi (atmega1284 uchun)

Seriyali aloqa: Klaviatura DIY bo'lgani uchun u belgilarni o'qish uchun ketma -ket aloqadan foydalanadi. Bu erda atmega1284 ishlatilganligi sababli ikkita ketma -ket aloqa liniyalari mavjud va "serkom" yoqilganda, kod ketma -ket port orqali yozishga ham ruxsat beradi (kompyuterdan yoki boshqa).

Ruxsat: Ushbu loyihada ishlatiladigan monitor juda ahmoq, kichik o'lchamli piksellar sonini talab qiladi, aks holda rasm miltillaydi. Agar yaxshiroq monitor ishlatilsa, sozlash funksiyasida piksellar sonini o'zgartirishni taklif qilaman.

5 -qadam: yig'ish

O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish

Yuklangan kod va PCB va uning qismlari tayyor bo'lganda, endi yig'ish vaqti keldi. Men ishlatgan barcha qismlar teshikdan o'tib ketgan, shuning uchun lehimlash unchalik qiyin emas edi (u erdagi SMD-lehimlashdan farqli o'laroq). Monitor 3D bosilgan ushlagich bilan tenglikni to'rt burg'ulash teshigiga mahkamlangan. Agar boshqa monitor ishlatilsa, uni o'rnatish uchun to'rtta burg'ulash teshigidan foydalanish mumkin.

Bu erda ishlatiladigan monitor ushlagichi, shuningdek, o'tish tugmachasini (PCBdagi "o'tish" o'tish moslamasiga ulangan) va monitorning uchta boshqaruv tugmachasini joylashtirish uchun mo'ljallangan. Tutqich M3 plastmassa murvat va ajratgichlar bilan mahkamlanadi.

Quvvat vilkasi uchun men JST PCB ulagichidan foydalandim, lekin silindrsimon barrel uyasi biroz yumshoqroq bo'lardi. Kengashni quvvatlantirish uchun men 12V quvvat manbai yoki 18650 ta uchta batareyani ketma -ket almashtirdim. O'zimdan ko'ra yumshoqroq kovboy, ehtimol, taxta uchun silliq batareya ushlagichini yaratishi mumkin edi.

6 -qadam: Xatolar va kelajakdagi ishlar

Ok tugmachalari: o'q tugmachalari tasodifan qo'yilgan va ko'p funktsiyani bajarmaydi. Bu navigatsiyani qiyinlashtiradi

Fayl I/U: Fayl kiritish -chiqarish imkoniyatlari mavjud, lekin ular bajarilmayapti. Bunga qarshi kurashish uchun HAL1284Com dasturi fayllarni taxtaga yuklash imkoniyatiga ega. EEPROM -ga yuklash ham mumkin.

PEEK/POKE: PEEK va POKE tekshirilmagan va men manzillar nima ekanligini bilmayman.

Tanaffus: Break (Esc) ba'zida cheksiz tsikllarda butun kodni buzadi.

7 -pin: PWM 7 -pinini DWRITE High yoki AWRITE 255 -ga urinishda qiyin bo'lishi mumkin. AWRITE 254 bilan yaxshi ishlaydi.

Ahmoq: UART1 orqali yuklash ham ideal bo'lar edi, lekin yuklash faqat UART0 orqali mumkin, shuning uchun yuklash asosiy ICni ajratish orqali amalga oshirilishi kerak. Ekran va kuchlanish regulyatori 5 uzoq vaqt ishlayotganda biroz qizib ketadi.

Tavsiya: