İçindekiler:

Arduino ve Ethernet Üzerinden Kontrol Edilen 74HC595 Kaydırma Kayıtlarının Kademesi: 3 Adım
Arduino ve Ethernet Üzerinden Kontrol Edilen 74HC595 Kaydırma Kayıtlarının Kademesi: 3 Adım

Video: Arduino ve Ethernet Üzerinden Kontrol Edilen 74HC595 Kaydırma Kayıtlarının Kademesi: 3 Adım

Video: Arduino ve Ethernet Üzerinden Kontrol Edilen 74HC595 Kaydırma Kayıtlarının Kademesi: 3 Adım
Video: Nodemcu ile İnternet üzerinden ev aletlerini kontrol etme 2024, Temmuz
Anonim
Arduino ve Ethernet Üzerinden Kontrol Edilen 74HC595 Kaydırma Kayıtlarının Kademesi
Arduino ve Ethernet Üzerinden Kontrol Edilen 74HC595 Kaydırma Kayıtlarının Kademesi

Bugün iki versiyon halinde hayata geçirdiğim bir projeyi sunmak istiyorum. Proje, 12 kaydırmalı yazmaç 74HC595 ve 96 LED, Ethernet kalkanı Wiznet W5100 ile Arduino Uno kartı kullanıyor. Her bir vardiya kaydına 8 LED bağlanmıştır. 0-9 sayıları LED'lerle temsil edilir. Her shift register 8 çıkış terminali ile donatılmıştır.

4 vardiya kaydının her biri 74HC595 mantıksal bir birim oluşturur - 4 basamaklı bir sayıyı listelemek için bir ekran. Toplamda 12 shift registerden oluşan projede 3 adet mantıksal gösterge bulunmaktadır.

Uygulamalar Arduino kartları Nano, Mega, Uno ve Wiznet ailesinden Ethernet kalkanları ve modülleri, özellikle W5100 ve W5500 modelleri (Ethernet2 kitaplığını kullanarak) için uyumludur.

Gereçler

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4'e kadar 12 vardiya kaydı 74HC595
  • 32 ila 96 LED diyot

Adım 1: Arduino İle Projede Gerçekleştirilen Uygulamalar:

  • Web sunucusu - Doğrudan Arduino üzerinde çalışan HTTP sunucusu, HTML kodunun yorumlanmasına izin verir
  • WebClient - Uzak bir sunucuya HTTP isteği yapabilen, veri gönderebilen / indirebilen istemci

Web sunucusu:

  • 3 adet dört basamaklı sayı girmenizi sağlayan bir form içeren bir HTML web sayfası sağlar.
  • Formu gönderdikten sonra veriler işlenir ve EEPROM hafızasında saklanır, kullanıcıya ayrı bir alt sayfa ile veri işleme hakkında bilgi verilir.
  • Verileri kaydettikten sonra kullanıcı tekrar forma yönlendirilir.
  • EEPROM belleği enerjiden bağımsızdır, verilere güç geri kazanımından sonra bile erişilebilir, ancak aynı zamanda kart yeniden başlatılır.
  • Tüm sayılar daha sonra 12 74HC595 kaydırma kaydından oluşan üç ekranda temsil edilir.

Web İstemcisi:

  • Web sunucusuyla iletişim, HTTP protokolünden sonra her 5 saniyede bir gerçekleşir.
  • Web sunucusu, HTML formu aracılığıyla 3 adet dört basamaklı sayı girmenizi sağlayan bir PHP web uygulaması çalıştırır.
  • Formdaki veriler bir MySQL veritabanında saklanır.
  • Arduino, bu veritabanından sunucuya bir sorgu aracılığıyla veri almak ister.
  • İşlenen veriler Arduino tarafından ayrıştırılır, ardından 74HC595 vardiya kayıtları kullanılarak çizilir.
  • Veriler ayrıca Arduino'nun EEPROM belleğinde saklanır, web sunucusuna bağlantının başarısız olması durumunda / Arduino kartları yeniden başlatıldığında, verilerin shift register'larda ilk işlenmesi için kullanılırlar.
  • EEPROM'da verilerin üzerine yalnızca veriler değiştiğinde yazılır, EEPROM hücreleri gereksiz yere üzerine yazılmaktan kurtarılır.

Adım 2: Kablolama ve Ekran Görüntüsü

Kablolama ve Ekran Görüntüsü
Kablolama ve Ekran Görüntüsü
Kablolama ve Ekran Görüntüsü
Kablolama ve Ekran Görüntüsü

74HC595 kaydırmalı yazmaçlar için kademeli bağlantı (x daha fazla genişletilebilir) - TinkerCAD'den dışa aktarma. Ekran görüntüsü, HTML formu aracılığıyla veri aldığında, bunları işleyip EEPROM belleğine kaydettiğinde web sunucusu arayüzünden oradadır.

Adım 3: 74HC595 + Kaynak Kodları

Diyagramdan, kaydırma yazmaçlarını kontrol etmek için sadece 3 veri kablosunun kullanıldığı açıktır:

  • Veri Çıkışı - (SER - 74HC595)
  • Saat çıkışı - (74HC595'te SRCLK)
  • Mandal Çıkışı - (RCLK - 74HC595)

Kaydırma yazmaçları kademeli olarak birleştirilebilirken, diğer çevre birimleri de kaydırma yazmaçları tarafından kontrol edilebilir - örneğin, güç elemanlarını değiştirmek için röleler. Tek bir veri çıkışı ile 500 ayrı röleyi (yeterli sayıda kaydırma yazmacı ve güç kaynağı ile) kontrol etmek de mümkündür.

Kayıtların çıkışlarını kontrol ederken, bayt sırasını en anlamlı bit - MSB FIRST veya LSB - en az anlamlı bit olarak değiştirmek de mümkündür. Sonuç olarak, çıktıları tersine çevirir. Örneğin bir durumda giriş ve bayt sırasına bağlı olarak 7 diyot, diğer durumda 1 diyot yanar.

Her iki uygulama da, bir elektrik kesintisinden sonra veya bir kart yeniden başlatıldıktan sonra bile veri depolayabilen EEPROM belleği kullanır. Bu belleğin ikinci kullanımı da web sunucusu ile iletişimin mümkün olmaması durumunda (bağlantı hatası, sunucu) bilinen son verileri temsil edebilme özelliğidir.

Bellek, 10.000 ila 100.000 transkript ile sınırlıdır. Uygulamalar, mümkün olan en az bellek yükü için tasarlanmıştır. Veriler değiştirildiğinde üzerine yazılmaz. Aynı veriler web sunucusundan/istemcisinden okunuyorsa, EEPROM belleğine bunların üzerine yazılmaz.

WebClient için yazılım uygulaması (Arduino tarafı) şu adreste ücretsiz olarak denenebilir:

Arduino, 3 dört basamaklı sayıyı değiştirmenin mümkün olduğu bir web arayüzü ile iletişim kurar:

Arduino için web sunucusu olarak kod isteyin: [email protected] fazla talimat için bağış yapın:

Önerilen: