İçindekiler:

Minik LED Matris Ekran Saati: 8 Adım
Minik LED Matris Ekran Saati: 8 Adım

Video: Minik LED Matris Ekran Saati: 8 Adım

Video: Minik LED Matris Ekran Saati: 8 Adım
Video: Arduino 8x8 Dotmatrix - Dotmatris Kullanımı - Led Tabela - 59 - 2024, Temmuz
Anonim
Image
Image
Minik LED Matris Ekran Saati
Minik LED Matris Ekran Saati
Minik LED Matris Ekran Saati
Minik LED Matris Ekran Saati
Minik LED Matris Ekran Saati
Minik LED Matris Ekran Saati

Her zaman, 90'ların filmlerinden bir şeye benzeyen, oldukça mütevazı işlevselliğe sahip eski moda bir masaüstü saatine sahip olmak istemişimdir: gerçek zamanlı saat, tarih, değişen arka plan ışığı, bipleyici ve alarm seçeneği. Bu yüzden, bir tane inşa etmek için bir fikirle geldim: Yukarıda bahsettiğim tüm özelliklere sahip mikro denetleyiciye dayalı ve USB ile çalışan bir dijital cihaz - ister PC ister herhangi bir mobil USB şarj cihazı. Menüler ve ayarlarla programlanabilir hale getirmek istediğim için bu projede MCU yerleşimi kaçınılmaz oldu. ATMEGA328P IC (Her Arduino Uno kartından oluşur) devrenin "beyni" olarak seçildi (Bundan bahsetmişken, onlardan bolca vardı). Bazı elektronik parçaları RGB LED, yavaş şarjlı zaman tutma çipi ve basmalı düğmeler olarak birleştirmek, tüm projenin doğuşunu sağladı - Programlanabilir küçük boyutlu LED ekranlı masaüstü saati.

Öyleyse, projenin varlığını ele aldıktan sonra, onu inşa edelim

Adım 1: Fikir

Fikir
Fikir

Daha önce bahsedildiği gibi, cihazımız bazı iyi görünümlü LED matris ekranları, renk değiştiren RGB LED arka ışığı, yavaş şarjlı zaman tutma çipi, kullanışlı USB güç kaynağı ünitesi ve küçük boyutlu muhafaza içerir.

Cihaz çalışma blok şemasını parçalara göre tanımlayalım:

1. Güç Kaynağı Ünitesi:

Cihaz 5 Volt DC ile çalıştığı için güç kaynağı bileşeni iki ayrı devreden oluşmaktadır:

  • Mikro-USB girişi - Doğrudan Charger\PC güç kaynağı için.
  • LM7805 IC tabanlı 5V Lineer voltaj regülatör devresi.

LM7805 IC devresi, farklı güç kaynağı girişi kullanılabilirliği uygulamayı tercih etmediğiniz sürece isteğe bağlıdır. Cihazımızda Micro-USB PSU kullanılmaktadır.

2. Mikrodenetleyici Birimi:

Mikrodenetleyici ATMEGA328P, tüm cihazın "beyni" olarak işlev görür. Amacı, tüm çevresel devrelerle iletişim kurmak, gerekli verileri sağlamak ve cihazın kullanıcı arayüzünü kontrol etmektir. Seçilen mikrodenetleyici ATMEGA328P olduğundan, Atmel Studio'ya ve temel C bilgisine ihtiyacımız olacak (Şematikler ve programlama dizileri sonraki adımlarda açıklanmaktadır).

3. Gerçek Zamanlı Saat devresi:

Cihazdaki en önemli ikinci devre. Amacı, giriş güç bağlantısına bağımlı olmadan, yani zaman verileri gerçek zamanlı modda yenilenmekte olan, saklama gereksinimi ile tarih ve saat verilerini sağlamaktır. RTC bileşeninin saat/tarih verilerini değiştirmeye devam edebilmesi için devreye 3V madeni para büyüklüğünde pil eklenmiştir. IC, DS1302'dir, çalışması sonraki adımlarda açıklanmıştır.

4. Giriş Arayüzü - Basmalı Düğme Anahtarları:

Giriş PB anahtarları, kullanıcı için giriş arayüzü sağlar. Bu anahtarlar MCU ve kontrol cihazı tanımlı programda işlenir.

5. LED Matris Ekranı

Cihaz ekranı iki IC sarılı HCMS-2902 Alfanümerik LED matrisinden oluşur, her IC 4 karakter 5x7 minik LED matrisine sahiptir. Bu ekranların kullanımı basit, 3 telli iletişim destekli ve küçük boyutlu - bu projede ihtiyacımız olan her şey.

6. RGB Arka Işık:

Renk değiştiren arka ışık, MCU'dan gelen PWM sinyalleriyle kontrol edilen harici RGB LED'e dayanır. Bu projede RGB LED'in toplam 4 pini vardır: R, G, B ve ortak, burada R, G, B renk paleti MCU tarafından PWM üzerinden kontrol edilir.

7. Zil:

Buzzer devresi, özellikle alarm amaçlı olmak üzere ses çıkışı olarak kullanılmaktadır. BJT anahtarı, buzzer bileşenine yeterli akımı sağlamak için kullanılır, bu nedenle ses seviyesi canlı bir kişiyi uyandıracak kadar yüksek olacaktır.

Adım 2: Parçalar ve Enstrümanlar

Parçalar ve Aletler
Parçalar ve Aletler

I. Elektronik:

A. Entegre ve Aktif Bileşenler:

  • 1 x ATMEGA328P - MCU
  • 2 x HCMS2902 - AVAGO Ekranları
  • 1 x DS1302 - RTC
  • 1 x 2N2222A - BJT (NPN)

B. Pasif Bileşenler:

  • Dirençler:

    • 5 x 10K
    • 1x180R
    • 2 x 100R
  • kapasitörler:

    • 3 x 0.1 uF
    • 1 x 0.47uF
    • 1 x 100uF
    • 2 x 22pF
  • 1 x 4-pin RGB LED
  • 1 x Zil
  • 1 x 32.768KHz Kristal

C. Konektörler:

  • 1 x Mikro-USB konektörü
  • 2 x 6 pinli standart aralık (100mil) konektör.
  • 2 x 4 pimli standart aralık (100mil) konektör.
  • 1 x Düğme Pil kutusu.

D. Çeşitli:

  • 3 x SPST Basmalı Düğme anahtarı
  • 1 x 3V Düğme pil.

E. Opsiyonel PSU:

  • 1 x LM7805 - Lineer Regülatör
  • 2 x 0.1uF Kapak
  • 2 x 100uF Kapak

II. Mekanik:

  • 1 x Plastik Muhafaza
  • 4 x Kauçuk ekler
  • 1 x prototip lehimleme tahtası
  • 1 x MCU başlığı (Mikrodenetleyici arızası durumunda)
  • 2 x Küçük 8mm cıvata
  • 2 x 8mm Pullar

III. Aletler ve Malzemeler:

  • Lehim telleri
  • küçülen tüpler
  • Lehimleme kalay
  • Havya
  • Kesici
  • pense
  • Cımbız
  • Matkap uçları
  • Küçük Boyutlu Dosya
  • Çeşitli Tornavidalar
  • Kaliper
  • multimetre
  • Breadboard (Opsiyonel)
  • Mikro USB Kablosu
  • Orta Boy Dosya
  • Sıcak yapıştırıcı tabancası
  • AVR ISP Programcısı

IV. Programlama:

  • Atmel Studio 6.3 veya 7.0.
  • ProgISP veya AVRDude
  • Microsoft Excel (Ekran karakteri oluşturmak için)

Adım 3: Şematik Açıklama

Şematik Açıklama
Şematik Açıklama

Devrenin çalışmasının anlaşılmasını kolaylaştırmak için şema adımı yedi alt gruba ayrılmıştır. Şematik sayfada tanımlanan ağ adlarının, cihazın ayrı alt devreleri arasındaki bağlantıları da tanımladığını fark etmelisiniz.

A. Ana Bileşenler Kurulu:

Daha önce de belirtildiği gibi, cihazın "içinde" olmasını istediğimiz tüm uygun alt devreler, tek kesimli bir prototip panosuna yerleştirilir. Gelelim ana karta yerleştirilmiş devrelerin çalışmasının açıklamasına:

1. Mikrodenetleyici Devresi:

Bu projede kullanılan MCU bir ATMEGA328P'dir. Bu durumda harici bir 5V güç kaynağı ile çalışır - mikro USB konektörü. Tüm uygun I/O pinleri tasarım gereksinimlerine göre bağlanır. Tüm ağ adları tam olarak programlama adımında kullanılacağı şekilde tanımlandığından, bağlantı noktası G/Ç eşlemesinin anlaşılması kolaydır. MCU, programlama sırası ve güç başlatma için kullanılan basit RC sıfırlama devresine sahiptir.

MCU'nun en önemli kısmı programlama devresidir. 6 pinli bir programlama konektörü vardır - J5, VCC, GND ve RESET ağlarının harici ISP programcısı ve ana bileşen kartı için ortak olduğundan emin olun.

2. Gerçek Zamanlı Saat Devresi:

Bir sonraki devre, projedeki ana çevresel bir parçadır. DS1302, işlem birimimize işlenen saat ve tarih değerleri sağlayan bir şarj zaman işleyişi IC'sidir. DS1302, 3 kablolu SPI iletişimine benzer şekilde 3 kablolu arabirim aracılığıyla MCU ile aşağıdaki hatlarda iletişim kurar:

  • RTC_SCK (Çıkış): SDO hattında iletilen verilerin sürülmesini ve örneklenmesini gerçekleştirir.
  • RTC_SDO (G/Ç): Veri sürüş hattı. Saat/tarih verileri alınırken MCU'ya girdi olarak ve veri iletilirken çıktı olarak davranır (daha fazla açıklama için Programlama Temelleri adımına bakın).
  • RTC_CE:(Çıkış): Veri iletimi etkinleştirme hattı. MCU tarafından YÜKSEK olarak ayarlandığında, veri iletilmeye/alınmaya hazırdır.

DS1302, yeterli devre davranışı için harici bir 32.768KHz kristal osilatör gerektirir. Devre sayma sisteminde büyük bir kaymayı önlemek için (Drift fenomeni bu tür entegre devrelerde kaçınılmazdır), her bir kristal pime iki kalibrasyon kondansatörü yerleştirmek gerekir (şemalarda X1, C8 ve C9 bölümlerine bakın). 22pF, bu projede zaman tutma önlemleriyle yapılan birçok deneyden sonra en uygun değerlerdi, bu nedenle, devreyi tamamen lehimlemek üzereyken, bu kapasitörleri başka değerlerle değiştirme seçeneği olduğundan emin olun. Ancak küçük boyutlu tahta için 22pF, çok küçük kayma için oldukça iyi çalıştı (ayda 7 Saniye).

Bu devredeki son fakat en az olmayan bileşen - DS1302 IC'ye yeterli enerjiyi sağlamak için kart üzerine 3V düğme pil yerleştirilmelidir, böylece zaman sayma işlemine devam eder.

4. 8 Karakter LED Matrisi:

Cihaz ekranı, RTC devresinin DS1302'sine benzer, 3 telli arayüz üzerinden programlanmış 2 x 4 karakterli LED Matrix ekran IC'lerine dayanmaktadır, tek farkla, bu veri sağlama hattı (SDI) MCU'nun çıkışı olarak tanımlanır (eklemek istemiyorsanız ekran devrenize durum kontrolü yeteneği). Ekranlar bir seri 3-Wire uzantısında birleştirilir, bu nedenle her iki IC, tüm ekran karakter tanımları için programlama yeteneğinin olduğu tek bir görüntüleme cihazı olarak işlev görür (Bkz. SPI serisi kombinasyonu). Devrenin tüm ağ adları, MCU'ya uygun bağlantılarla eşleşir - ekranlar arasında iletişim kuran ortak ağlar olduğunu ve her iki ekran iletişim arabirimini MCU'ya bağlamanın gerekmediğini unutmayın. Programlama ve karakter oluşturma sırası sonraki adımlarda tanımlanır.5. Kullanıcı Arayüzü devresi:

Kullanıcı arayüzü iki alt gruba ayrılmıştır - Giriş ve çıkış sistemleri: Giriş Sistemi: Cihazın kendisi, tanımlanmış mantığı YÜKSEK veya DÜŞÜK olarak çalıştırmak için ek çekme dirençleri ile üç SPST basmalı düğme anahtarı olarak tanımlanan kullanıcı tarafından sağlanan girişe sahiptir. MCU. Bu anahtarlar, programlanan algoritmanın tamamı için kontrol sistemi sağlar, çünkü saat/tarih değerlerinin, menü kontrolünün vb. ayarlanması gerekir.

6. Çıkış Sistemi:

A. Buzzer devresi her iki durumda da ses çıkışı, menü değiştirme onay sesi ve alarm algoritması sağlar. Anahtar olarak kullanılan NPN transistörü, buzzer'a yeterli akım sağlayarak uygun bir yoğunlukta ses çıkarmasını sağlar. Buzzer, doğrudan MCU'nun yazılımı tarafından kontrol edilir. B. Cihazın arka ışık parçası olarak RGB LED kullanılmıştır. Arka ışık seçimi için dört seçenek ile doğrudan MCU tarafından kontrol edilir: KIRMIZI, YEŞİL, MAVİ, PWM veya KAPALI modları. LED R, G ve B pinlerine seri olarak bağlanan dirençlerin, sabit bir akım üzerinde her rengin farklı yoğunluğu olduğundan farklı değerlere sahip olduğuna dikkat edin. Yeşil ve mavi LED'ler için, kırmızı biraz daha fazla yoğunluğa sahip olduğunda aynı özellikler vardır. Böylece kırmızı LED daha büyük direnç değerine bağlanır - bu durumda: 180Ohm (Bkz. RGB LED Açıklaması).7. Konektörler:

Ekran, RGB LED, Güç girişi ve basmalı düğme anahtarları ve ana kart gibi harici arabirim bileşenleri arasında iletişimi sağlamak için ana kart üzerine konektörler yerleştirilmiştir. Her konektör farklı bir devreye tahsis edilmiştir, bu nedenle cihaz montajının karmaşıklığı önemli ölçüde düşer. Şemalarda görebileceğiniz gibi, her bir konektör ağ sırası isteğe bağlıdır ve kablolama işlemini çok daha basit hale getirirse değiştirilebilir. Tüm şema kavramlarını ele aldıktan sonra, bir sonraki adıma geçelim.

Adım 4: Lehimleme

Lehimleme
Lehimleme
Lehimleme
Lehimleme
Lehimleme
Lehimleme

Muhtemelen bazılarımız için tüm projedeki en zor adımdır. Cihazın bir an önce çalışmasını çok daha kolay hale getirmek için lehimleme işlemi aşağıdaki sırayla tamamlanmalıdır:

1. MCU ve programlama konektörü: Arıza durumunda MCU IC'yi değiştirebilmek için MCU'nun kendisi yerine 28 pin başlığı lehimlenmesi önerilir. Cihazın programlanabildiğinden ve açılabileceğinden emin olun. Programlama konektörüne pin açıklama etiketinin yerleştirilmesi tavsiye edilir (Üçüncü resme bakın).

2. RTC devresi: Gerekli tüm parçaları lehimledikten sonra, kalibrasyon kapasitörlerinin değiştirilmesinin kolay olduğundan emin olun. 3V düğme pil kutusunu kullanmak istiyorsanız - cihazın muhafaza boyutlarına uygun olduğundan emin olun.

3. Ekran: İki ekran IC'si ayrı küçük boyutlu kart üzerine lehimlenmelidir (Resim 1). Gerekli tüm ağları lehimledikten sonra, harici tellerin hazırlanması gerekir (Resim 4): bu teller lehimlenmeli ve ekran kartının yanından geçirilmelidir, tellere uygulanan gerilimin ve mekanik stresin aynı olmayacağına dikkat edin. ekran kartındaki lehim bağlantılarını etkiler.

4. Bir önceki adımdaki tellerin üzerine, bir sonraki adımda montaj işlemini çok daha kolay hale getirecek olan etiket etiketleri yerleştirilmelidir. İsteğe bağlı adım: her kabloya bir erkek tek pimli konektör ekleyin (Arduino stili).

5. Çevresel bileşenler de dahil olmak üzere ana kartta kalan konektörleri lehimleyin. Bir kez daha, her konektör için pin açıklamalı çıkartmalar yerleştirmeniz önerilir.

6. Buzzer devresi: Buzzer cihazın içinde bulunur, bu nedenle ana kart üzerinde lehimlenmelidir, ara bağlantı konektörüne gerek yoktur.

7. RGB LED: Ana kart alanından tasarruf etmek için seri dirençleri her bir direncin kendi rengine ve uygun MCU pinine karşılık geldiği LED pinleri üzerine lehimledim (Resim 5).

Adım 5: Montaj

birleştirme
birleştirme
birleştirme
birleştirme
birleştirme
birleştirme

Bu adım, proje görünümünü tanımlar - elektriksel ve mekanik. Önerilen tüm notlar dikkate alındığında montaj işlemi çok kolay bir şekilde gerçekleştirilmektedir. Aşağıdaki adım adım sıralama, tam işlem bilgisi sağlar:

Bölüm A: Muhafaza

1. Düğme topuz çapına göre (bu durumda 3 mm) üç delik açın.2. Muhafazanın yan tarafına sesli uyarıya özel bir delik açın. İstenilen herhangi bir matkap ucu çapı kullanılabilir.3. Kullanmanız gereken USB konektörüne (bu durumda Mikro USB) göre taşlama için temel olarak küçük bir delik açın. Bundan sonra, konektör boyutlarına uyacak şekilde küçük boyutlu eğe ile taşlama gerçekleştirin.4. Taşlama için temel olarak nispeten büyük bir delik açın. Ekran boyutlarına göre orta boy bir eğe ile taşlama yapın. Ekran IC'lerinin kasanın dış tarafında bulunduğundan emin olun.5. Cihazın alt kısmına RGB LED çapına göre orta büyüklükte bir delik açın. Kısım B - Ekler:

1. Üç düğmenin (GND ve sinyal) her birine iki kablo lehimleyin. Kablolar üzerinde etiket etiketleri ve tek pimli konektörler önerilir.2. Hazırlanmış dört kabloyu RGB LED pinlerine bağlayın. Lehim bağlantılarına etiket çıkartmaları ve daralan tüpler yerleştirin.3. Cihazın altına dört lastik ayak takın. Kısım C - Parçaların Bağlanması:

1. RGB LED'i kasanın altına yerleştirin, ana karttaki özel konektöre bağlayın. Sıcak tutkalla yapıştırın.2. Üç basmalı düğme anahtarını yerleştirin, bunları ana karttaki özel konektöre bağlayın, sıcak tutkalla bağlayın.3. USB konektörünü yerleştirin, programlama konektörü güç kaynağı pinlerine (VCC ve GND) bağlayın. Güç kaynağı hatlarının kutuplarının lehimli parçalarla eşleştiğinden emin olun. Sıcak tutkalla yapıştırın.4. Ekran kartını yerleştirin, özel konektöre bağlayın. Sıcak tutkalla yapıştırın. Notlar:

1. Ana kart-muhafaza ve üst kapağa cıvata-somun çiftlerinin eklenmesi tavsiye edilir (Bu durumda gösterildiği gibi).2. Kırık tellerin arızalanmasını önlemek için, muhafaza içindeki görünümleri dikkate alınır.

Adım 6: Kısa Programlamaya Giriş

Kısa Programlamaya Giriş
Kısa Programlamaya Giriş
Kısa Programlamaya Giriş
Kısa Programlamaya Giriş
Kısa Programlamaya Giriş
Kısa Programlamaya Giriş

Tüm parçalar lehimlendikten sonra, son montaj adımına geçmeden önce ilk cihaz testinin yapılması tavsiye edilir. MCU kodu C ile yazılır ve ATMEGA328P herhangi bir ISP Programlayıcı ile programlanır (Çeşitli Atmel programlama cihazları vardır: AVR MKII, AVR DRAGON vb. - eBay'den ProgISP veya AVRDude yazılımı tarafından kontrol edilen ucuz USB ISP Programmer'ı kullandım). Programlama ortamı Atmel Studio 4 ve üzeri olmalıdır (Yazılımın en yeni sürümlerini şiddetle tavsiye ederim). Harici, Atmel Studio'ya ait olmayan bir programlayıcı kullanılıyorsa, programlama yazılımına.hex dosya yolu verilmesi gerekir (Genellikle projenin Debug veya Release klasöründe bulunur). Montaj adımına geçmeden önce cihazın programlanabildiğinden ve herhangi bir temel AVR'ye özel proje oluşturma ve derleme işleminin ATMEGA328P mikro denetleyicisine dayandığından emin olun (Bkz. Atmel Studio öğreticisi).

Adım 7: Kod Açıklaması

Kod Açıklaması
Kod Açıklaması
Kod Açıklaması
Kod Açıklaması

Karar kodu algoritması iki yarı ayrı katmana ayrılır: 1. Çekirdek katman: Çevresel devrelerle iletişim, cihaz operasyon tanımı, başlatma ve bileşen bildirimleri.2. Arayüz katmanı: Kullanıcı-cihaz etkileşimi, menü işlevselliği, saat/sesli/renk/alarm ayarı. Program sırası Resimde açıklanmıştır. 1, burada her blok MCU durumuna karşılık gelir. Tanımlanan program, donanım ve dış dünya arasında arayüz sağlayan temel "işletim sistemi" olarak işlev görür. Aşağıdaki açıklama, temel program çalışmasını parçalara göre açıklar: Kısım A: Çekirdek Katman:

1. MCU G/Ç Başlatma: Her şeyden önce, donanım bileşenlerini başlatmaya ihtiyaç vardır: - Kod kullanılan sabitler. - Bağlantı Noktaları G/Ç - Arayüz. - Çevresel iletişim bildirimleri.

2. Temel Genel Fonksiyonlar: Bazı fonksiyonlar ayrı kod blokları tarafından kullanılır, yazılım tarafından kontrol edilen pinler üzerindeki tanımlama işlemleri: - RTC ve ekran kartı iletişimini etkinleştirme/devre dışı bırakma.- Buzzer ses üretimi açma/kapama.- 3 Telli Saat yukarı/Saat aşağı işlevleri.- Karakter oluşturma işlevlerini görüntüleyin.3. Çevresel Başlatma: G/Ç portları yapılandırıldıktan sonra devre fonksiyonları tanımı arasındaki iletişim gerçekleşir. Bittiğinde - MCU, yukarıda tanımlanan işlevleri kullanarak RTC ve ekran devrelerini başlatmaya başlar.

4. Çekirdek fonksiyonların tanımı: Bu aşamada cihaz, bazı çevresel devrelerle iletişim kurmaya hazırdır ve hazırdır. Bu işlevler şunları tanımlar: - Anahtar geçiş kontrolü - RGB LED çalışması (Özellikle PWM) - Buzzer kare dalga üreteci

5. Ekran Fonksiyonları: Kullandığım HSMS IC'ler hakkında internette pek bir şey bulamadım, bu yüzden kütüphanesini kendim yazdım. Görüntüleme işlevleri, ASCII karakterlerinin ve tüm tam sayıların görüntülenmesi dahil olmak üzere eksiksiz karakter görüntüleme işlevi sağlar. Fonksiyonlar genelleştirilmiş şekilde yazılır, bu nedenle kodun herhangi bir bölümünden ekran fonksiyonları çağırmak gerekirse, işlemle genelleştirildiği için kullanımı kolaydır (Örneğin: String gösterimi, tek karakter gösterimi vb.).

6. RTC çalışma işlevleri: Tüm RTC işlevleri, DS1302 IC'nin çalışmasına göre genelleştirilmiş şekilde (Görüntü işlevleri kümesine benzer) yazılmıştır. Kod, gitHub'da birçok varyasyonda bulunan yazılı kitaplığı temel alır. Son kodda göreceğiniz gibi, ekran ve RTC fonksiyonları seti ayrı.c ve.h dosyalarına dahil edilmiştir. Kısım B - Arayüz Katmanı:

1. Ana işlev: void main() bölümünde, tüm temel başlatma işlevlerinin bildirimi vardır. Tüm bileşenlerin başlatılmasından hemen sonra MCU, cihaz işlevselliğinin bir kullanıcı tarafından kontrol edildiği sonsuz döngüye girer.

2. Gerçek Zamanlı Anahtarlar, Arka Işık ve Ekran Kontrolü: MCU, sonsuz bir döngüde çalışırken cihazın her bir parçasında yenileme gerçekleştirir. Hangi verilerin görüntüleneceğini, hangi düğmeye basıldığını ve hangi arka ışık modunun seçildiğini seçer.

3. Kullanıcı menüsü işlevleri: Bu işlevler, menü sistemi ve hiyerarşinin bir durum makinesi olarak tanımlandığı ağaç benzeri bir biçime sahiptir (Bkz. Resim X). Bir kullanıcı girişi tarafından kontrol edilen her durum makinesi - basmalı düğme geçiş yapar, böylece uygun basmalı düğmeye basıldığında - durum makinesi değerini değiştirir. Cihazda menüde yapılan herhangi bir değişikliğin anında değiştirilebilmesi için tasarlanmıştır.

4. Kullanıcı Menü Değiştirme: Kullanıcı girişi sağlandığında, menü durumunun durumunu değiştirmesi gerekir. Bu nedenle, bu işlevler bir durum makinesi üzerinde kullanıcıya bağlı kontrol sağlar. Bu özel durumda: sonraki, önceki ve Tamam.

Adım 8: Son Kod ve Faydalı Dosyalar

Ve bu kadar! Bu adımda, ihtiyacınız olabilecek tüm dosyaları bulabilirsiniz: - Elektrik Şemaları - Tam Kaynak Kodu - Ekran Karakteri OluşturucuOpsiyonel Özellik: Ekran IC'leri kitaplığında görüntülenebilecek çeşitli karakterler vardır, ancak bazıları dahil değildir. Karakterleri kendiniz oluşturmak istiyorsanız, Print_Character(' ') işlevinde bir ASCII referansıyla büyük/küçük harf durumu ekleyin (bkz. display.c işlevleri). Umarım bu Eğitilebilirliği faydalı bulursunuz:) Okuduğunuz için teşekkürler!

Önerilen: