İçindekiler:
- Adım 1: Özellikler
- 2. Adım: İhtiyacınız Olan Şeyler
- Adım 3: Önyükleyiciyi Yazma
- Adım 4: Üniteyi Oluşturma
- Adım 5: ŞEMATİK
- Adım 6: YAZILIM ÜZERİNDE ÇALIŞIYOR
- 7. Adım: Mini Uygulamanın 'sm' Çalışmasının Video Klibi
Video: DemUino - Ev Bilgisayarı/Kontrol Cihazı: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
DemeterArt'tan Arduino'dan Esinlenen Bir Bilgisayar Eski PS2 klavyenizden en iyi şekilde yararlanın. Eşyaları kontrol etmek için özelleştirilmiş bir kişisel bilgisayara hackleyin! Her zaman kendi ev bilgisayarımı, bir tür retro tarzı, fantezi olmayan, ancak tercihlerime göre uyarlanmış özel yeteneklerle inşa etmek istedim. Ben de buna atmega328 MCU ve Arduino geliştirme kiti ile ulaştım.
Herkesin kullanması için ücretsiz kütüphaneleri daha az bencilce sağlayan yetenekli hayranlar olmasaydı, bu projenin şüpheli sonuçlarla çok daha uzun süreceğini belirtmeme izin verin. Hepinize teşekkür ederim:-)
tüm hikayeyi okumak ve ilgili tüm dosyaları indirmek için sitemi ziyaret edin
www.sites.google.com/site/demeterart
Adım 1: Özellikler
- 32KB flash, 2KB SRAM ve 1KB EEPROM ile ATMEGA328'e dayanmaktadır.
- etkileşimli ve toplu modlar için destek
- satır düzenleyici ve düzenleme sırasında listeleme modu
- Kullanıcı grafikleri için 8 özel karakter
- 00, …, 99 numaralı 60 program adımı
- "If" koşullu, "while" ve "for" döngüleri artı dallanma için "goto" ve "sub" ifadeleri
- Temel aritmetik ve matematiksel ifadeler artı boole testleri
- sistem değişkenleri, analog pinlerden vb. zamanlı olaylara, ortalama, rms, min ve maks değerlerine izin verir.
- Sistem değişkenleri ve komutları ile etkileşim için 26 kullanıcı değişkeni
- 104 bayt kullanıcı adreslenebilir dizi veya 52 kısa tam sayı
- program verilerini ve aynı zamanda anında kod okuma/yazma yeteneği (p değişkeni)
- sözde grafikler için özelleştirilmiş karakterlere sahip mini osiloskop uygulaması
- programları ve verileri EEPROM'a/EEPROM'dan kaydedin ve yükleyin
- programları ve değişkenleri PC'den/PC'ye yükleyin/kaydedin
- Her sıfırlamadan sonra bir programı EEPROM'dan yüklemek ve çalıştırmak için autoexec
- Harici DB15 konektöründe 9 GPIO pini (SPI dahil) mevcuttur
- Ses efektleri için BUZZER
2. Adım: İhtiyacınız Olan Şeyler
Pcb LCD karakter ekranını barındıracak kadar kalın eski bir ps/2 klavye (popüler paralel format) RS232 portu için MAX232 yongası atmel atmega328PU IDE 1.0.1 LM7805 regülatörlü 5V buzzer köprü doğrultucu, kapasitörler, bir sıfırlama düğmesi, Arduino geliştirme kiti, konektörler vb
Adım 3: Önyükleyiciyi Yazma
Yani, "boş" bir atmega328PU çipi satın aldıktan sonra, verilmesi gereken bir karar var. Harici veya ISP özel bir programlayıcı mı kullanmalıyım yoksa Arduino önyükleyicisini canavara yakıp üniteyi UART portu üzerinden programlanabilir hale mi getireyim? Hayatımı kolaylaştırmak için ikincisini seçtim! Yeni önyükleyici yalnızca yarım kilobayt flash bellek kaplar ve 31KB'den biraz daha fazla kullanıcı programı ve statik veri bırakır. Arduino sitesi, önyükleyiciyi yeni bir çip üzerinde yakma durumunu kapsar, hedef çipi gerçekten yakmak için avrdude kullanmaya geldiğinde, işlem belirli MCU için yanlış kimliği belirten bir hatayla başarısız oldu. Biraz araştırmadan sonra doğru anlayan bu adamı buldum ve onun prosedürünü takip ettim. Tek fark, bunu mümkün kılmak için avrdude ve arduino IDE 1.0.1'in ihtiyaç duyduğu 2 konfigürasyon dosyası, avrdude.conf ve boards.txt idi. 2 dosyayı uygun konumlarına kopyaladıktan sonra (önce eskilerini yedekleyin) araçlar->Board'dan 'arduino328' seçeneği mevcuttu ve avrdude sigortaları ve önyükleyiciyi yakmaya devam etti. Artık çip, yeni makinenin içinden programlanmaya hazır!
Adım 4: Üniteyi Oluşturma
Çipler için DIP soketli hızlı bir montaj çözümü olarak bakır şeritli delikli bir levha kullanıldı, bilirsiniz, her ihtimale karşı! Ardından konektörler için delikler ve kesikler, sıfırlama düğmesi ve LCD ekran, klavyenin son derece sağlam ve kalın plastiği ile açıldı. Evet, 25 yıl önce inşa edilmiş! Bunu pcb'den çeşitli çevre birimlerine doğru yayılan kablo karmaşası izledi. İlkel bir süreklilik kontrolü ve ardından besleme, soketleri uygun voltajlar için kontrol etmek için hiçbir çip takılmadan bağlandı. Ardından 2 IC geldi ve klavye kasası alttaki plastik çıtçıtlarla sıkıca kapatıldı. Ünite, kontrol cihazında eskizleri yakmaya hazırdı!
MAX232 şarj pompaları için polar olmayan 1uF/16V kapasitörler kullanmanızı öneririm. İlgili VCC ve GND pinlerine mümkün olduğunca yakın iki çip için 100nF ayırma kapasitörlerini bulun. LM7805 regülatörüne atıfta bulunulan güç ve toprak için bir yıldız bağlantı kullanın. Anahtar 2, uygulamaya bağlı olarak bir atlama kablosu olabilir, ancak yalnızca belirli durumlarda ana bilgisayardan istenmeyen MCU sıfırlamalarını önlemek için olması iyidir. Her halükarda, Arduino IDE'nin hedef MCU'yu (RS232 pin DTR) sıfırlayarak taslağı yakmasına izin vermek için anahtar kapatılmalıdır. Benim durumumda bağlantı kalıcıdır (her zaman kapalı). Sürücü kapısından kapasitansın birkaç nF'sini izole etmek için sesli uyarıcı için bir seri direnç kullanın… asla bilemezsiniz.. XTAL'i ve yükleme 18-22pF kapasitörlerini kontrolörün ilgili pinlerine mümkün olduğunca yakın yerleştirin.
Doğrultucu köprüsünden dolayı üniteye hem AC hem de DC güç adaptörleri ile güç sağlanabilir. DC olması durumunda, adaptör ile regülatörün girişi arasında 1,5 V'luk bir voltaj düşüşü vardır. AC durumunda, regülatörün girişi, yükleme nedeniyle adaptörün RMS çıkışının yaklaşık 1,4 katı veya daha azdır. Regülatörün girişi ile çıkışı (+5V) arasındaki fark büyükse, örneğin 7 voltsa, regülatör tarafından tüketilen güç 0,5 watt'a yaklaşır ve çipi monte etmek için küçük bir soğutucu kullanmak daha iyidir (sağlanan bunun için yer var) sıcak havalarda uzun çalışma saatleri için.
AC giriş sigortası, harici yüklerinize bağlı olarak seçilebilir (DB15 konektörü aracılığıyla). Sigorta seçimini etkileyen diğer faktörler, LCD'nin LED arka ışığı için akım sınırlama direnci, şarj akımı için köprü kapasitörü ve besleme transformatörünün akım kapasitesidir.
Adım 5: ŞEMATİK
Adım 6: YAZILIM ÜZERİNDE ÇALIŞIYOR
Her şeyin gerçekleşmesini sağlayan taslak budur… ve 32KB yeterli DEĞİLDİR! Ya değiştirilmemiş olarak kullanabilirsiniz, bu durumda ismime atıfta bulunmayı takdir ediyorum ya da istediğim zaman değiştirip beni unutun;-)
Bu, makineyle ilgili ayrıntılı belgelerdir.
Komutların ve İfadelerin Özeti
“: yazdırılamayan bir yorum satırı
ai: kesme 0 ekle (pin D2)
ar: analog okuma
aw: arduino veya daha düzgün pwm başına 'analog yazma'
ca: bir dizide analog yakalama
cl: ekranı temizler cno: dönüş *Prgm satır numarası indeksi
di: bir dizi darbe bekleyin ve süreyi ve zamanlamayı ölçün
dl: gecikme
do: 'wh' ile birlikte
dr: dijital herhangi bir pini oku
dw: dijital herhangi bir pin yaz
ed: editör modu / programı PC'den yükle / satırları yeniden numaralandır
el: EEPROM erişim işlevi
end: bir programın END ifadesi
ensb: alt programı sonlandırır
es: EEPROM erişim işlevi
fl: basit hareketli ortalama filtresi
fr: sonraki döngü için (fr-nx)
git: program adımına atla
gosb: yürütmeye alt programa devam et
gt: kullanıcı girişi için bekler
if: durumu test edin ve adıma atlayın
io: GPIO 1-9 bit
ld: programı EEPROM'dan yükle/birleştir
lp:: etkileşimli modda klavye kontrollü döngü
ls: liste modu / programı bir seferde PC'ye bir satır gönder
ml: zaman kazan
mm: boş hafızayı göster
nos: sayıyı dizgeye dönüştürür
nx: 'fr' ile birlikte
pl: cxx dizisini çiz
pm: giriş veya çıkış için pinleri ayarla
pr: bir mesaj veya değer ya da özel karakter yazdırır
rgc: diziler için aralık kopyalama komutu
rgs: diziler için aralık kümesi komutu
rn: programı RAM'de çalıştırın
rs: yumuşak sıfırlama
rx: RS232 aracılığıyla bir karakter alın
si: saat ve veri pinleri ile senkron seri giriş
sm: mini osiloskop uygulaması sno: diziyi sayıya dönüştürür
yani: saat ve veri pinleri ile senkron seri çıkış
sub: alt programı bildirir
sv: programı EEPROM'a kaydet
tn: bip sesi
tx: RS232 aracılığıyla bir numara iletin
wh: 'do' ile birlikte kullanılan bir do-while döngüsü
7. Adım: Mini Uygulamanın 'sm' Çalışmasının Video Klibi
tüm hikayeyi okumak ve ilgili tüm dosyaları indirmek için sitemi ziyaret edin
www.sites.google.com/site/demeterart
Önerilen:
Arduino DMX 512 Test Cihazı ve Kontrol Cihazı: 19 Adım
Arduino DMX 512 Test Cihazı ve Denetleyici: Actualizaciones, ficheros, códigos…English versionFacebookHerramienta para pruebas ve espectáción de espectáción de iluminación de iluminación de iluminación de iluminación de iluminación DMX-512, ideal para hacer pruebas rápidas en instalaciones fijas o temporales. Este p
Arduino DMX 512 Test Cihazı ve Kontrol Cihazı ENG: 19 Adım
Arduino DMX 512 Test Cihazı ve Kontrol Cihazı ENG: Güncellemeler, dosyalar, kodlar, şemalar…Versión en EspañolFacebookDMX-512 protokolü ile test ve ışık gösterisi için kontrol aracı, sabit veya geçici aydınlatma kurulumlarında hızlı testler için ideal. Bu proje, bir portab
160A Fırçalı Elektronik Hız Kontrol Cihazı ve Servo Test Cihazı Kullanılarak DC Dişli Motor Nasıl Kontrol Edilir: 3 Adım
160A Fırçalı Elektronik Hız Kontrol Cihazı ve Servo Test Cihazı Kullanılarak DC Dişli Motor Nasıl Kontrol Edilir: Özellikler: Voltaj: 2-3S Lipo veya 6-9 NiMH Sürekli akım: 35A Patlama akımı: 160A BEC: 5V / 1A, lineer mod Modlar: 1. ileri &ters; 2. ileri &fren; 3. ileri & fren & ters Ağırlık: 34g Boyut: 42*28*17mm
HW30A Fırçasız Motor Hız Kontrol Cihazı ve Servo Test Cihazı Kullanılarak Drone Quadcopter Fırçasız DC Motor Nasıl Çalıştırılır: 3 Adım
HW30A Fırçasız Motor Hız Kontrol Cihazı ve Servo Test Cihazı Kullanılarak Drone Quadcopter Fırçasız DC Motor Nasıl Çalıştırılır: Açıklama: Bu cihaz, servo motoru basit bir servo motora takmak ve ona güç beslemesi ile çalıştırmak için kullanılabilen Servo Motor Test Cihazı olarak adlandırılır. Cihaz ayrıca elektrikli hız kontrol cihazı (ESC) için bir sinyal üreteci olarak da kullanılabilir, o zaman
Servo Test Cihazı Kullanarak 30A Mikro Fırça Motorlu Fren Kontrol Cihazı Eğitimi: 3 Adım
Servo Test Cihazı Kullanarak Öğretici 30A Mikro Fırça Motor Fren Kontrol Cihazı: Özellikler: 30A fırça hız kontrolörü. Fonksiyon: ileri, geri, fren Çalışma voltajı: 3.0V---5.0V. Akım(A): 30A BEC: 5V/1A Sürücü frekansı: 2KHz Giriş: 2-3 Li-Po / Ni-Mh/Ni-cd 4-10cell Sabit akım 30A Max 30A<