İçindekiler:
- Adım 1: Kullandığım Parçalar
- Adım 2: Devre
- Adım 3: PCB
- Adım 4: Kodu Yükleme
- Adım 5: Montaj
- 6. Adım: Hatalar ve Gelecekteki Çalışmalar
Video: El Tipi BASIC Bilgisayar: 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Bu Eğitilebilir Tablo, BASIC çalıştıran küçük bir el bilgisayarı oluşturma sürecimi açıklıyor. Bilgisayar ATmega 1284P AVR yongası etrafında inşa edilmiştir ve bu da bilgisayarın aptal adına da ilham vermiştir (HAL 1284).
Bu yapı, burada bulunan muhteşem projeden ve SuperCON BASIC Rozeti'nden AĞIR şekilde esinlenmiştir.
Bilgisayar, TinyBasic'in değiştirilmiş bir sürümünü çalıştırıyor, ancak yazılımın çoğu dan14'ün projesine dayanıyor. Elbette bu Eğitilebilirliği takip edebilir veya daha da iyisi, birkaç hata yaptığım için geliştirebilirsiniz.
Bu proje için ayrıca bir kılavuz oluşturdum. Seçilen monitör için bazı hatalardan ve özelliklerden bahseder, ancak en önemlisi, TEMEL işlemlerin listesine sahiptir.
Bu yayınlandıktan sonra, projeyi gösteren bir video yaptım.
Adım 1: Kullandığım Parçalar
Ana IC için:
- ATmega 1284P
- 16MHz Kristal
- 2x 22pf Seramik Kondansatör
- 10KΩ Direnç (Sıfırlama için yukarı çekme)
- 4 pinli düğme (Sıfırlamak için)
- 470Ω Direnç (Kompozit video için)
- 1kΩ Direnç (Kompozit video senkronizasyonu için)
- 3 pinli jumper (Video sinyali için)
- Pasif Zil
Klavye kontrolü için:
- ATmega 328P (Arduino Uno'da kullanılanlar gibi)
- 16MHz Kristal
- 2x 22pf Seramik Kondansatör
- 12x 10KΩ Direnç (Sıfırlama yukarı çekme ve butonlar için)
- 51x 4 pinli düğme (Gerçek klavye için)
Güç için:
- L7805 Voltaj Regülatörü
- 3 mm LED
- 220Ω Direnç (LED için)
- 2x 0.1µF Elektrolitik Kondansatör
- 0.22 µF Elektrolitik Kapasitör (Bu 0.22 ve bir 0.1'i bir 0.33 ile değiştirebilirsiniz. Ayrıca değerlerin gerçekten önemli olmadığı söylendi, ancak kapasitörler konusunda pek iyi değilim)
- 2x 2 pinli jumper (Güç girişi ve ana şalter için)
GPIO (Belki birkaç gerekçe daha ekleyin):
- 7 pinli Jumper
- 2x 8 pinli Jumper
- 2 pinli Jumper (5V ve GND için)
- 3-4 pinli Jumper (Seri Haberleşme İçin)
PCB dışı:
- Kompozit Videolu 4" LCD Ekran (Benimki 7-30V arasında bir giriş voltajına sahipti)
- Ekran için 3D baskılı tutucu
- Bir çeşit anahtar
Adım 2: Devre
Devre çok güzel değil ve ana IC bölgesinin çoğu dan14'ten ilham alıyor. Olduğu söyleniyor, bir Breadboard devresinde oldukça basit bir Arduino. Klavye basit bir ızgaradır ve ATmega328 tarafından kontrol edilir. İki AVR yongası, UART Seri pinleri aracılığıyla iletişim kurar.
Hem bir görüntü hem de Eagle dosyalarım eklenmiştir ve umarım devreyi yeniden oluşturmak için yeterli olacaktır. Değilse, beni bilgilendirmekten çekinmeyin; Eğitilebilirliği güncelleyeceğim.
Adım 3: PCB
PCB 2 katmanlıdır ve Otomatik Yönlendirme kullanılarak oluşturulmuştur (Oh, ne bir ** delik!). Önde düğmeler ve güç göstergesi LED'i ve geri kalanı arkada bulunur. PCB'mi JCL PCB ile yaptırdım ve onunla harika bir iş çıkardılar. PCB'yi yeniden oluşturmak için gereken dosyalar öncekinden Eagle dosyalarında olmalıdır.
Farklı yapmak istediğim bazı şeyler olduğu için PCB'yi yeniden tasarlamanızı öneririm. Tasarımımı beğendiyseniz, hala (yazım itibariyle) satmaya istekli olduğum dört kullanılmamış tahtam var.
Kartta, LCD Ekranı monte etmek için kullandığım dört delik var.
Adım 4: Kodu Yükleme
Hem 1284 hem de 328 elbette koda ihtiyaç duyar ve kullandığım kod burada bulunabilir: https://github.com/PlainOldAnders/HAL1284 ArduinoSrc/src altında. Arduino IDE'yi kodu değiştirmek ve yüklemek için kullandım ancak bunu yapmadan önce IC'lerde önyükleyicileri yakmanız gerekecek:
ATMega328:
Bu, bir önyükleyicinin nasıl yazılacağı ve bu IC'ye nasıl kod yükleneceği konusunda çok fazla destek olduğu için bu kolaydır. Genelde bu kılavuzu takip ederim, çünkü çoğunlukla ayrıntıları unutup duruyorum.
328'in kodu (ArduinoSrc/tuş takımı altında) oldukça basittir. Tamamen Adafruit_Keypad-master- kitaplığına dayanır. Lib ile ilgili herhangi bir değişiklik olması durumunda, github sayfamda kullandığım sürümü ArduinoSrc/lib altına ekledim.
ATmega1284:
IC'yi ilk aldığımda bu benim için biraz zordu. Buradan bootloader'ı alarak başladım ve kurulum kılavuzunu takip ettim. Bootloader'ı yakmak için 328 ile aynı şeyi yaptım ve buradan yardım aldım. Her iki IC için de hem önyükleyiciyi yakmak hem de kodu yüklemek için bir Arduino Uno kullandım (yüklerken IC'yi Arduino Uno'dan kaldırdım).
Kod (ArduinoSrc/HAL1284Basic altında) benim için çok karmaşık ama kodun bazı kısımlarını değiştirebildim:
Birkaç komut ekledim (manuel.pdf'de [A] ile işaretlenmiş olanlar) ve diğer komutları da değiştirdim:
Ton: Ton komutu daha önce Arduino'nun ton işlevini kullanıyordu, ancak TVout kütüphanesini kullanırken bu, buzzer'ın düzgün çalışmamasına neden oldu. TVout'un ton işlevini kullanmak için değiştirdim, ancak bu, ton piminin pim 15 olması gerektiği anlamına gelir (atmega1284 için)
Seri İletişim: Klavye DIY olduğundan, karakterleri okumak için seri iletişim kullanır. Burada atmega1284 kullanıldığı için, iki seri iletişim hattı mevcuttur ve "sercom" etkinleştirildiğinde, kod seri port üzerinden (bir bilgisayardan veya her neyse) yazmaya da izin verir.
Çözünürlük: Bu proje için kullanılan monitör oldukça aptal ve küçük bir çözünürlük gerekiyor, yoksa resim titriyor. Daha iyi bir monitör kullanılıyorsa, kurulum işlevinde çözünürlüğü değiştirmenizi öneririm.
Adım 5: Montaj
Yüklenen kod ve PCB ve parçalar hazır olduğunda, şimdi montaj zamanı. Kullandığım tüm parçalar delikten geçti, bu yüzden lehimleme çok zor değildi (oradaki badass-SMD-lehimleme-arkadaşlarının aksine). Monitör, 3D baskılı bir tutucuyla PCB'deki dört deliğe sabitlendi. Başka bir monitör kullanılırsa, bunun montajı için dört delik kullanılabilir.
Burada kullanılan monitör tutucu ayrıca bir geçiş anahtarı (PCB üzerindeki "anahtar" atlama kablosuna bağlı) ve monitör için üç kontrol düğmesi barındıracak şekilde tasarlanmıştır. Tutucu, plastik M3 cıvatalar ve ara parçalar ile sabitlenmiştir.
Elektrik fişi için bir JST PCB konektörü kullandım, ancak kaygan bir varil jakı biraz daha pürüzsüz olurdu. Karta güç sağlamak için 12V güç kaynağı veya seri olarak üç 18650 pil arasında geçiş yaptım. Benden daha yumuşak bir kovboy, muhtemelen tahta için kaygan bir pil tutucu tasarlayabilir.
6. Adım: Hatalar ve Gelecekteki Çalışmalar
Yön Tuşları: Yön tuşları yanlışlıkla konulmuş ve fazla bir işlevi yok. Bu, navigasyonu zorlaştırır
Dosya G/Ç: Dosya G/Ç yetenekleri vardır ancak bunlar uygulanmaz. Bununla mücadele etmek için HAL1284Com yazılımı panoya dosya yükleyebilir. EEPROM'a yüklemek de mümkündür.
PEEK/POKE: PEEK ve POKE test edilmedi ve adreslerin ne olduğundan emin değilim.
Break: Break (Esc) bazen sonsuz döngülerde tüm kodu karıştırıyor.
Pin 7: PWM pin 7, DWRITE High veya AWRITE 255'e çalışırken zor olabilir. AWRITE 254 ile sorunsuz çalışır.
Aptal: UART1 üzerinden de yükleme yapabilmek ideal olurdu ama yükleme sadece UART0 üzerinden mümkün, bu yüzden yüklemenin ana IC'yi çıkararak yapılması gerekecek. Ekran ve Voltaj Regülatörü 5 uzun süre çalıştırıldığında biraz fazla ısınıyor.
Önerilen:
Z80 Monitör Tipi İşletim Sistemi ve SBC: 6 Adım (Resimlerle)
Z80 Monitör Tipi İşletim Sistemi ve SBC: EfexV4, satır içi birleştirici ve sökücü ve z80 programlarınızı gerçek donanımda yazmak, çalıştırmak ve hatalarını ayıklamak için temel yardımcı programlara sahip bir monitör ROM'udur.EfexMon, CP/M, N8VEM veya diğer karmaşık donanımlara ihtiyaç duymaz. Yalnızca standart Z80 mimarisi SBC a'ya ihtiyacınız var
4x4, Arazi Tipi Elektrikli Araba: 5 Adım (Resimlerle)
4x4, Arazi Tipi Elektrikli Araba: Daha fazlasını görmek için bir sonraki adıma geçin
El Tipi 6 Notalı Müzik Kutusu / Enstrüman (Yapımı ve Geliştirmesi Kolay!): 5 Adım (Resimlerle)
El Tipi 6 Notalı Müzik Kutusu / Enstrüman (Yapımı ve Geliştirmesi Kolay!): Merhaba! Wintergatan adlı İsveçli bir grubun üyesi olan Martin Molin'den ilham alarak müzik kutularına ve onlarla ilgili her şeye aşık oldum. Müzik kutuları için şarkı yapan insanlar hala eski moda bir şarkıyı delme yöntemini kullanıyorlar
GoPro/SJ4000/Xiaomi Yi/iLook için Uzatılabilir El Tipi Gimbal: 9 Adım (Resimlerle)
GoPro/SJ4000/Xiaomi Yi/iLook için Uzatılabilir El Gimbal: Bu eğitim, GoPro SJ4000/5000/6000 Xiaomi Yi Walkera iLook gibi kameraları monte edebilen uzatılabilir bir el gimbal almak için bir selfie çubuğu ve bir 2D Gimbal'ı nasıl hackleyeceğiniz konusunda size rehberlik edecek. Bir Gimbal, geri kalan bir stabilizasyon mekanizmasıdır
Ses Kontrollü, Braille Tipi Bir Model Semaforu: 4 Adım (Resimlerle)
Ses Kontrollü, Braille Tipi Desen Semaforu: "Lord Vetinari penceresinin önünde durmuş nehrin diğer tarafındaki semafor kulesini izliyordu. Karşısındaki sekiz büyük panjur da öfkeyle yanıp sönüyordu - siyah, beyaz, siyah, beyaz, siyah, beyaz… Bilgi uçuyordu