Mündəricat:

Əl BASIC Kompüteri: 6 Addım (Şəkillərlə birlikdə)
Əl BASIC Kompüteri: 6 Addım (Şəkillərlə birlikdə)

Video: Əl BASIC Kompüteri: 6 Addım (Şəkillərlə birlikdə)

Video: Əl BASIC Kompüteri: 6 Addım (Şəkillərlə birlikdə)
Video: 6 cı sinifdə təcrübə ❤❤❤ 2024, Iyul
Anonim
Əl BASIC Kompüteri
Əl BASIC Kompüteri
Əl BASIC Kompüteri
Əl BASIC Kompüteri

Bu Təlimat, BASIC işləyən kiçik bir əl kompüter qurma prosesimi təsvir edir. Kompüter, ATmega 1284P AVR çipi ətrafında qurulmuşdur ki, bu da kompüterin axmaq adına ilham verdi (HAL 1284).

Bu bina, burada tapılan heyrətamiz layihədən və SuperCON BASIC Rozetindən ilhamlanaraq hazırlanmışdır.

Kompüter TinyBasic -in dəyişdirilmiş bir versiyasını idarə edir, baxmayaraq ki, proqramın çox hissəsi dan14 tərəfindən layihəyə əsaslanır. Əlbəttə ki, bir neçə səhv etdiyim üçün bu Təlimatlara əməl edə bilərsiniz və ya daha da yaxşılaşa bilərsiniz.

Bu layihə üçün bir dərslik də yaratdım. Seçilmiş monitor üçün bəzi səhvlərdən və xüsusiyyətlərdən bəhs edir, amma ən əsası BASIC əməliyyatlarının siyahısına malikdir.

Bu nəşr olunduqdan sonra layihəni nümayiş etdirən bir video çəkdim.

Addım 1: İstifadə etdiyim hissələr

İstifadə etdiyim hissələr
İstifadə etdiyim hissələr
İstifadə etdiyim hissələr
İstifadə etdiyim hissələr
İstifadə etdiyim hissələr
İstifadə etdiyim hissələr

Əsas IC üçün:

  • ATmega 1284P
  • 16 MHz Kristal
  • 2 x 22pf Seramik Kondansatör
  • 10KΩ Rezistor (sıfırlama üçün çəkin)
  • 4 pinli düymə (sıfırlama üçün)
  • 470Ω Reistor (Kompozit video üçün)
  • 1kΩ Rezistor (Kompozit video sinxronizasiya üçün)
  • 3 pinli tullanan (video siqnalı üçün)
  • Passiv Buzzer

Keyboord nəzarət üçün:

  • ATmega 328P (Arduino Uno -da istifadə edilənlər kimi)
  • 16 MHz Kristal
  • 2 x 22pf Seramik Kondansatör
  • 12x 10KΩ Rezistor (Sıfırlama və çəkmə düymələri üçün)
  • 51x 4 pinli düymə (həqiqi klaviatura üçün)

Güc üçün:

  • L7805 gərginlik tənzimləyicisi
  • 3 mm LED
  • 220Ω Rezistor (LED üçün)
  • 2x 0.1µF elektrolitik kondansatör
  • 0,22 µF Elektrolitik Kondansatör
  • 2x 2 pinli tullanan (Güc girişi və əsas keçid üçün)

GPIO (Bəlkə bir neçə əsas əlavə edin):

  • 7 pinli tullanan
  • 2x 8 pinli tullanan
  • 2 pinli tullanan (5V və GND üçün)
  • 3-4 pinli tullanan (Serial ünsiyyət üçün)

PCB olmayan:

  • Kompozit Video ilə 4 "LCD Ekran (Mənimki 7-30V arasında bir giriş gərginliyinə sahib idi)
  • Ekran üçün 3D çap tutacağı
  • Bir növ keçid

Addım 2: Dövrə

Dövrə
Dövrə

Dövrə çox gözəl deyil və əsas IC bölgəsinin çox hissəsi dan14-dən ilhamlanır. Deyilənə görə, bir Breadboard dövrəsində olduqca düz irəli bir Arduino. Klaviatura sadə bir şəbəkədir və ATmega328 tərəfindən idarə olunur. İki AVR çipi UART Serial pinləri vasitəsilə əlaqə qurur.

Həm bir şəkil, həm də Kartal sənədlərim əlavə edilmişdir və inşallah dövrəni yenidən yaratmaq üçün kifayət edəcək. Əks təqdirdə, mənə məlumat verməkdən çekinmeyin və Təlimatı yeniləyəcəyəm.

Addım 3: PCB

PCB
PCB
PCB
PCB

PCB 2 qatlıdır və Auto Route istifadə edərək yaradılmışdır (Oh, nə ** dəlikdir!). Qabaqda düymələr və güc göstərici LEDi, qalan hissəsi isə arxa tərəfdədir. PCB -ni JCL PCB ilə hazırladım və bununla inanılmaz bir iş gördülər. PCB-ni yenidən yaratmaq üçün lazım olan fayllar əvvəllər Eagle fayllarında olmalıdır.

PCB -ni yenidən dizayn etməyinizi təklif edərdim, çünki fərqli etmək istədiyim bəzi işlər var. Dizaynımı bəyənirsinizsə, satmağa daha çox hazır olduğum hələ istifadə edilməyən dörd lövhəm var.

Lövhədə LCD ekranı quraşdırmaq üçün istifadə etdiyim dörd qazma deliyi var.

Addım 4: Kodu yükləyin

Kod yüklənir
Kod yüklənir
Kod yüklənir
Kod yüklənir
Kod yüklənir
Kod yüklənir

Əlbəttə ki, həm 1284, həm də 328 koda ehtiyacım var və istifadə etdiyim kodu burada tapa bilərsiniz: https://github.com/PlainOldAnders/HAL1284 altında ArduinoSrc/src. Kodu dəyişdirmək və yükləmək üçün sadəcə Arduino IDE -dən istifadə etdim, amma bunu etməzdən əvvəl IC -lərdə yükləyiciləri yazmalısınız:

ATMega328:

Bir yükləyicini necə yandırmaq və bu IC -yə kod yükləmək üçün orada çoxlu dəstək olduğu mənasında bu çox asandır. Mən ümumiyyətlə bu təlimatı izləyirəm, çünki xüsusiyyəti unutmağa davam edirəm.

328 kodu (ArduinoSrc/klaviatura altında) olduqca sadədir. Tamamilə Adafruit_Keypad-master- kitabxanasına güvənir. Lib ilə bağlı hər hansı bir dəyişiklik olarsa, github səhifəmdə istifadə etdiyim versiyanı ArduinoSrc/lib altında yerləşdirmişəm.

ATmega1284:

IC -ni ilk dəfə alanda bu mənim üçün bir az çətin idi. Buradan yükləyicini götürərək işə başladım və quraşdırma təlimatına əməl etdim. Yükləyicini yandırmaq üçün sadəcə 328 ilə eyni şeyi etdim və buradan kömək aldım. Hər iki IC üçün həm yükləyicini yandırmaq, həm də kodu yükləmək üçün Arduino Uno istifadə etdim (yükləyərkən IC Arduino Unodan silindi).

Kod (ArduinoSrc/HAL1284Basic altında) mənim üçün çox mürəkkəbdir, amma kodun bəzi hissələrini dəyişdirə bildim:

Bir neçə əmr əlavə etdim (manual.pdf -də [A] ilə işarələnənlər) və digər əmrləri də dəyişdirdim:

Səs: Ton əmri əvvəllər Arduinonun ton funksiyasından istifadə edirdi, ancaq TVout kitabxanasından istifadə edərkən bu səs siqnalının düzgün işləməməsinə səbəb olurdu. TVout-un ton funksiyasından istifadə etmək üçün dəyişdirdim, amma bu o deməkdir ki, ton pimi 15-dir (atmega1284 üçün)

Serial Əlaqə: Klaviatura DIY olduğu üçün simvolları oxumaq üçün serial ünsiyyətdən istifadə edir. Burada atmega1284 istifadə edildiyindən iki seriyalı əlaqə xətti mövcuddur və "sercom" aktiv olduqda kod eyni zamanda seriyalı port vasitəsilə (kompüterdən və ya hər hansı bir şeydən) yazmağa imkan verir.

Çözünürlük: Bu layihə üçün istifadə olunan monitor olduqca laldır və kiçik bir qətnamə lazımdır, əks halda şəkil titrəyir. Daha yaxşı bir monitor istifadə edilərsə, quraşdırma funksiyasında qətnaməni dəyişdirməyi təklif edərdim.

Addım 5: Montaj

Məclis
Məclis
Məclis
Məclis
Məclis
Məclis

Yüklənmiş kod və PCB və hissələr hazır olduqda, artıq montaj vaxtıdır. İstifadə etdiyim bütün hissələr çuxurdan keçdi, buna görə də lehimləmə o qədər də çətin deyildi (oradakı badass-SMD-lehimləmə yoldaşlarından fərqli olaraq). Monitor, PCB -də dörd çaplı deliklərə 3D çaplı tutacaqla bərkidilmişdir. Başqa bir monitor istifadə edilərsə, ümid edirik ki, bu montaj üçün dörd qazma deliyindən istifadə oluna bilər.

Burada istifadə olunan monitor tutucusu, keçid açarını (PCB üzərindəki "keçid" tullananına qoşulmuş) və monitor üçün üç idarəetmə düyməsini yerləşdirmək üçün də hazırlanmışdır. Tutucu plastik M3 boltlar və aralıqlarla bərkidilir.

Elektrik fişi üçün bir JST PCB konnektoru istifadə etdim, baxmayaraq ki, hamar bir yuva biraz daha hamar olardı. Lövhəni gücləndirmək üçün 12V enerji təchizatı və ya üç 18650 batareya seriyası arasında keçid etdim. Özümdən daha hamar bir kovboy, ehtimal ki, taxta üçün hamar bir batareya tutacağı dizayn edə bilər.

Addım 6: Səhvlər və Gələcək İş

Ok Tuşları: Ok düymələri təsadüfən qoyulub və çox funksiya yerinə yetirmir. Bu naviqasiyanı çətinləşdirir

Fayl G/Ç: Fayl G/Ç imkanları mövcuddur, lakin bunlar tətbiq olunmur. Bununla mübarizə aparmaq üçün HAL1284Com proqramı faylları lövhəyə yükləyə bilir. EEPROM -a yükləmək də mümkündür.

PEEK/POKE: PEEK və POKE sınanmamışdır və ünvanların nə olduğunu bilmirəm.

Break: Break (Esc) bəzən sonsuz döngələrdə olduqda bütün kodu qarışdırır.

Pin 7: DWRITE High və ya AWRITE 255 yazarkən PWM pin 7 çətin ola bilər. AWRITE 254 ilə yaxşı işləyir.

İdiot: UART1 vasitəsilə yükləmək də ideal olardı, ancaq yükləmə yalnız UART0 vasitəsi ilə mümkündür, buna görə yükləmə əsas IC -ni çıxarmaqla aparılmalıdır. Ekran və Gərginlik Tənzimləyicisi 5 uzun müddət işləyərkən bir az çox qızdırılır.

Tövsiyə: