İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
1978 yılında France Telecom tarafından kurulan Minitel, bir bilgi alma ve mesajlaşma servisiydi. World Wide Web'den önceki en başarılı ağ olarak kabul edilir. 30 yıl sonra 2008'de ağ nihayet kapandı. (Wiki'de bununla ilgili pek çok bilgi var.) Bir gecede bu terminallerin modası geçti.
Bir CRT ekran klavyesi, modem ve bazı shift register'lardan oluşan bu "aptal" terminaller veri işleyemezler. Peki onunla ne yapabilirsiniz? Bir saate dönüştürün!
Adım 1: Bileşenlerin Listesi
Arduino önyükleyicili Atmega 328p mikroişlemci
16 mhz kristal
22 pf kapasitör x 2
10 kOhm direnç
100 uf elektrolitik kapak
DS3231 RTC modülü
kolay bağlantı için başlık pimleri
(10kOhm ve 100kOhm dirençler: isteğe bağlı)
biraz tel ve lehim
Kroki yüklemek için Arduino Uno kartı
Ve elbette bir Minitel 1 terminali
2. Adım: Şematik
Şematik çok basit. Bu, RTC'nin analog pinler 4 ve 5'e bağlı olduğu temel Atmega328p kurulumunuzdur. Minitel rx ve tx, dijital pinler 7 & 8'e bağlıdır. Temelde bu kadar. Örneklerimden birinde, analog pin 3'e bağlı bir voltaj bölücü oluşturmak için birkaç direnç ekledim. Minitel artık 50 volta kadar DC voltmetre olabilir. LDR, termometre, mikrofon vb. diğer çevre birimleri de ekleyebilirsiniz. Çizdiğim şemada gösterilen voltaj bölücü dirençleri yok. Başka şeyler, farklı değerler eklemek veya tamamen dışarıda bırakmak isteyebilirsiniz.
Adım 3: Kablolama
DİKKAT: Minitels kasasını çıkarmadan önce, ana güç kaynağından ayırdığınızdan emin olun ve yüksek voltajlı kapasitörlerin boşalması için 5 dakika bekleyin.
Minitel'in içinde devreniz için bolca yer var, ancak diğer parçalara dokunmadığından emin olun. Madeni çıkarılabilir bir arka panele vidaladım.
Devrenizin RX ve TX'ini Minitel'in TX ve RX'ine bağlayın. fotoğrafa ve şemaya bakın. Bunları yanlış şekilde bağlarsanız, bu önemli değil, kodunuzdaki pin numaralarını değiştirebilirsiniz. (daha sonra bunun hakkında daha fazla bilgi)
Minitels 7805 voltaj regülatörünü bulun ve devrenizi ona bağlayın. (Kutuplarınızın doğru olduğundan emin olun. Her zaman ! her zaman ! her zaman !! açmadan önce iki kez kontrol edin.)
Minitel'in arkasında eski France Telecom telefon fişi ve prizi var. Fişi ve kabloyu ayırın ve çıkarın. Ardından, soket terminallerini devrenize bağlayın. Arduino Uno kartınızı mikrodenetleyicinizi açıp çıkarmanıza gerek kalmadan sadece sokete bağlayarak devrenize yeni skeçler yükleyebilecek ve değiştirebileceksiniz. Ayrıca, önceki adımda belirtildiği gibi diğer çevre birimleri eklemek için analog pininizi terminallerden birine bağlayabilirsiniz.
Adım 4: Çalıştırma ve Çalıştırma
İşte bazı resimler.
Adım 5: Kod
Kod üç kitaplık kullanır. SoftwareSerial, Minitel ve DS3231. Hepsi GitHub'dan indirilebilir. Çağrı işlevi Minitel m(7, 8) Minitels RX & TX'i 7 ve 8 numaralı dijital pinler üzerine kurar (Bunlar istediğiniz diğer pinlerle değiştirilebilir)
Sonra büyük rakamlar ve boşluk istilacıları için tüm tamsayılar ve karakter dizileri var. setup() gerçek zaman saatini başlatır. (isterseniz saati ve tarihi buradan ayarlayabilirsiniz. ancak Minitel'i her açtığınızda saatin sıfırlanmaması için ayarlanan zaman işlevini düzenlemeyi veya grileştirmeyi unutmayın)
Minitel 1 yavaş olduğundan ve çok sınırlı grafik yeteneklerine sahip olduğundan (40 yaşında), işlevlerinizi mümkün olduğunca kısa tutmanız önemlidir. Ana Döngü, tuşa basmaların okunması ve modun seçilmesi ile ilgilenir. Menü ve ayar modlarında, RTC okuması ve grafiklerin yenilenmesi yoktur, bu nedenle klavyeden girişler hızlı bir şekilde okunur. Yine de; saat modunda tuşa basmak birkaç kez çalışma girişiminde bulunabilir. Sabırlı ol.
Bu örnek kod, voltmetre için değil, çalar saat versiyonu içindir. Voltmetrenin kodunu isterseniz istek üzerine gönderirim.
Kod boyunca konuşmayacağım. Muhtemelen bu kısmı çoktan atladınız.
Kodum çok kaba ve dağınık. Gerçekten temizlemem gerekiyor. ama işe yarıyor. Zamanım olduğunda, onu düzene sokar ve kullanılmayan tamsayıları ve diğer şeyleri silerim.
Baktıgın icin tesekkürler. Umarım Minitel saat projeniz iyi gider.
Luke. IG luke1969morgan