Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
1978 -ci ildə France Telecom tərəfindən yaradılan Minitel, məlumat axtarış və mesajlaşma xidməti idi. Dünya şəbəkəsindən əvvəl ən uğurlu şəbəkə hesab olunur. 30 il sonra 2008 -ci ildə şəbəkə nəhayət bağlandı. (Wiki -də bu barədə çoxlu məlumatlar var.) Bir gecədə bu terminallar köhnəlmiş oldu.
CRT ekran klaviaturası, modem və bəzi keçid qeydlərindən ibarət olan bu "lal" terminallar məlumatları emal etməyə qadir deyil. Bəs bununla nə edə bilərsən? Bir saata çevirin!
Addım 1: Müştərilərin siyahısı
Arduino yükləyicisi olan Atmega 328p mikroprosessor
16 mhz kristal
22 pf kondansatör x 2
10 kOhm müqavimət
100 uf elektrolitik qapaq
DS3231 RTC modulu
asan əlaqə üçün baş pinləri
(10kOhm və 100kOhm rezistorlar: isteğe bağlı)
bir az tel və lehim
Eskiz yükləmək üçün Arduino Uno lövhəsi
Və əlbəttə ki, Minitel 1 terminalı
Addım 2: Şematik
Sxematik çox sadədir. 4 və 5 analog pinlərə qoşulmuş RTC ilə əsas Atmega328p quruluşunuzdur. Minitel rx və tx rəqəmsal sancaqlar 7 və 8 -ə qoşulmuşdur. Əsasən budur. Nümunələrimdən birində analog pin 3 -ə qoşulmuş bir gərginlik bölücü yaratmaq üçün bir neçə rezistor əlavə etdim. Minitel indi 50 volta qədər DC voltmetr ola bilər. LDR, termometr, mikrofon və s. Kimi əlavə qurğular da əlavə edə bilərsiniz. Çizdiyim sxemdə gərginlik bölücü rezistorları yoxdur. Başqa şeylər, fərqli dəyərlər əlavə etmək və ya tamamilə tərk etmək istəyə bilərsiniz.
Addım 3: Kabel çəkmə
DİQQƏT: Minitels korpusunu çıxarmadan əvvəl, onu elektrik şəbəkəsindən ayırdığınızdan əmin olun və yüksək gərginlikli kondansatörlərin boşalmasına 5 dəqiqə vaxt verin.
Minitel -in içərisində dövrə üçün çox yer var, ancaq digər hissələrə toxunmadığından əmin olun. Özümü çıxarıla bilən bir arxa panelə bağladım.
Dövrənizin RX və TX -ni Minitel -in TX və RX -ə qoşun. Şəkil və sxemə baxın. Bunları səhv bir şəkildə bağlasanız, heç bir problem yoxdur, sadəcə kodunuzdakı pin nömrələrini dəyişdirə bilərsiniz. (bu barədə daha sonra)
Minitels 7805 gərginlik tənzimləyicisini tapın və dövrənizi ona bağlayın. (Qütblərinizi düzgün aldığınızdan əmin olun. Həmişə! Həmişə! Həmişə !! işə salmadan əvvəl iki dəfə yoxlayın.)
Minitelin arxasında köhnə France Telecom telefon fişi və prizi var. Fişi və qurğunu ayırın və çıxarın. Sonra, soket terminallarını dövrənizə bağlayın. Arduino Uno lövhənizi mikrodenetleyicinizi açıb çıxarmadan rozetkaya bağlayaraq yeni sxemləri dəyişdirə və dövrə yükləyə biləcəksiniz. Ayrıca, əvvəlki addımda qeyd edildiyi kimi, digər periferik cihazları əlavə etmək üçün analog pininizi terminallardan birinə bağlaya bilərsiniz.
Addım 4: Qalxın və qaçın
Burada bəzi şəkillər var.
Addım 5: Kod
Kod üç kitabxanadan istifadə edir. SoftwareSerial, Minitel və DS3231. Hamısı GitHub -dan yüklənə bilər. Minitel m (7, 8) zəng funksiyası, 7 və 8 rəqəmsal pinlərdə Minitels RX & TX qurur (İstədiyiniz digər mövcud pinlərə dəyişdirilə bilər)
Sonra böyük rəqəmlər və boşluq işğalçıları üçün bütün ədədlər və xarakter diziləri var. setup () real vaxt saatı başlayır. (İstəsəniz burada vaxt və tarixi təyin edə bilərsiniz. ancaq Minitel'i hər açdığınızda vaxt sıfırlanmaması üçün təyin olunmuş vaxt funksiyasını redaktə etməyi və ya bozlaşdırmağı unutmayın)
Minitel 1 yavaş olduğundan və qrafik imkanları çox məhdud olduğundan (40 yaş), funksiyalarınızı mümkün qədər qısa saxlamaq vacibdir. Əsas Loop düymələri oxumaq və rejimi seçməklə məşğul olur. Menyu və tənzimləmə rejimlərində, RTC oxunmur və qrafiklərin təzələnməsi yoxdur, buna görə klaviaturadan girişlər tez oxunur. Lakin; saat rejimində düymələrə basmaq bir neçə cəhd edə bilər. Səbirli olun.
Bu nümunə kodu voltmetr üçün deyil, zəngli saat versiyası üçündür. Volt sayğacının kodunu istəsəniz, istəyə görə göndərərəm.
Bütün kod vasitəsilə danışmayacağam. Yəqin ki, artıq bu hissəni atlamısınız.
Kodum çox kobud və qarışıqdır. Həqiqətən təmizləməliyəm. amma işləyir. Vaxtım olanda onu nizamlayıram və istifadə olunmamış tam ədədləri və əşyaları silirəm.
Baxdığınız üçün təşəkkürlər. Ümid edirəm Minitel saat layihəniz yaxşı gedir.
Luka. IG luke1969morgan