
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02

Dziś chciałbym przedstawić projekt, który zrealizowałem w dwóch wersjach. W projekcie wykorzystano 12 rejestrów przesuwnych 74HC595 i 96 diod LED, płytkę Arduino Uno z nakładką Ethernet Wiznet W5100. Do każdego rejestru przesuwnego podłączonych jest 8 diod LED. Liczby 0-9 są reprezentowane przez diody LED. Każdy rejestr przesuwny wyposażony jest w 8 zacisków wyjściowych.
Każdy z 4 rejestrów przesuwnych 74HC595 tworzy logiczną jednostkę - wyświetlacz do wyświetlania 4-cyfrowej liczby. Łącznie w projekcie występują 3 wyświetlacze logiczne składające się z 12 rejestrów przesuwnych.
Implementacje są kompatybilne z płytami Arduino Nano, Mega, Uno oraz nakładkami i modułami Ethernet z rodziny Wiznet, a konkretnie modelami W5100 i W5500 (przy użyciu biblioteki Ethernet2).
Kieszonkowe dzieci
- Arduino Uno / Nano
- Ethernet Wiznet W5100 / W5500
- 4 do 12 rejestrów przesuwnych 74HC595
- 32 do 96 diod LED
Krok 1: Wdrożone wdrożenia w projekcie z Arduino:
- Webserver - serwer HTTP działający bezpośrednio na Arduino, umożliwia interpretację kodu HTML
- WebClient - Klient zdolny do wysłania żądania HTTP do zdalnego serwera, wysyłania/pobierania danych
Serwer internetowy:
- Udostępnia stronę internetową HTML z formularzem, który umożliwia wprowadzenie 3 czterocyfrowych liczb.
- Po przesłaniu formularza dane są przetwarzane i zapisywane w pamięci EEPROM, użytkownik jest informowany o przetwarzaniu danych na osobnej podstronie.
- Po zapisaniu danych użytkownik zostaje przekierowany z powrotem do formularza.
- Pamięć EEPROM jest niezależna energetycznie, dane są dostępne nawet po przywróceniu zasilania, ale także po restarcie płyty.
- Wszystkie liczby są następnie reprezentowane na trzech wyświetlaczach składających się z 12 rejestrów przesuwnych 74HC595.
Klient sieciowy:
- Komunikacja z serwerem WWW następuje co 5 sekund po protokole
- Na serwerze WWW działa aplikacja internetowa PHP, która umożliwia wprowadzenie 3 czterocyfrowych liczb za pomocą formularza HTML.
- Dane z formularza są przechowywane w bazie danych MySQL.
- Arduino żąda pobrania danych z tej bazy danych poprzez zapytanie do serwera.
- Przetworzone dane są analizowane przez Arduino, a następnie wykreślane za pomocą rejestrów przesuwnych 74HC595.
- Dane są również przechowywane w pamięci EEPROM Arduino, są wykorzystywane w przypadku awarii połączenia z serwerem WWW / w przypadku restartu płytek Arduino, służą do wstępnego renderowania danych w rejestrach przesuwnych.
- Dane w EEPROM są nadpisywane tylko wtedy, gdy dane się zmieniają, komórki EEPROM są zapisywane przed niepotrzebnym nadpisywaniem.
Krok 2: Okablowanie i zrzut ekranu


Kaskadowe połączenie dla rejestrów przesuwnych 74HC595 (można rozszerzyć o x więcej) - Eksport z TinkerCAD. Screenshot jest tam z interfejsu serwera WWW, gdy pobiera dane za pośrednictwem formularza HTML, przetwarza je i zapisuje w pamięci EEPROM.
Krok 3: 74HC595 + kody źródłowe
Ze schematu jasno wynika, że do sterowania rejestrami przesuwnymi używane są tylko 3 przewody danych:
- Wyjście danych - (SER do 74HC595)
- Wyjście zegara - (SRCLK na 74HC595)
- Wylot zatrzasku - (RCLK do 74HC595)
Rejestry przesuwne można łączyć kaskadowo, a inne peryferia mogą być również sterowane przez rejestry przesuwne – np. przekaźniki do przełączania elementów mocy. Możliwe jest również sterowanie 500 oddzielnymi przekaźnikami (z odpowiednią liczbą rejestrów przesuwnych i zasilaniem) jednym wyjściem danych.
Przy sterowaniu wyjściami rejestrów można również zmienić kolejność bajtów na najbardziej znaczący bit - MSB FIRST lub na LSB - najmniej znaczący bit. W rezultacie odwraca wyjścia. W jednym przypadku świeci się np. 7 diod, w drugim 1 dioda w zależności od wejścia i kolejności bajtów.
Obie implementacje wykorzystują pamięć EEPROM, która może przechowywać dane nawet po awarii zasilania lub po restarcie płyty. Drugim zastosowaniem tej pamięci jest również możliwość reprezentowania ostatnich znanych danych w przypadku braku możliwości komunikacji z serwerem WWW (błąd połączenia, serwer).
Pamięć jest ograniczona do 10 000 do 100 000 transkrypcji. Implementacje są zaprojektowane z myślą o jak najmniejszym obciążeniu pamięci. Dane nie zostaną nadpisane, gdy zostaną zmienione. Jeżeli te same dane są odczytywane z serwera WWW/klienta, nie są one nadpisywane w pamięci EEPROM.
Implementację oprogramowania (strona Arduino) dla WebClient można wypróbować za darmo pod adresem:
Arduino komunikuje się z interfejsem webowym, w którym istnieje możliwość modyfikacji 3 czterocyfrowych liczb:
Poproś o kod dla Arduino jako serwera WWW pod adresem: [email protected] Przekaż więcej instrukcji:
Zalecana:
Dioda LED Arduino sterowana przez Bluetooth: 3 kroki

Arduino Bluetooth Controlled LED: Ta instrukcja uczy, jak sterować diodą LED za pomocą Bluetooth za pośrednictwem aplikacji na urządzeniu z Androidem. Potrzebne materiały: płytka Arduino Uno, dioda LED, urządzenie z systemem Android, aplikacja Arduino Bluetooth, moduł Arduino Bluetooth
Taśma LED Neopixel Ws 2812 z Arduino sterowana przez Bluetooth z Androida lub iPhone'a: 4 kroki

Taśma LED Neopixel Ws 2812 z Arduino sterowana przez Bluetooth Z Androida lub iPhone'a: Witajcie, w tej instrukcji omawiałem, jak kontrolować pasek LED Neopixel lub pasek LED WS2812 z telefonu z Androidem lub iPhone'a za pomocą łączności Bluetooth. dodaj pasek led neopixel w swoim domu wraz z Arduino z
Korzystanie z 2 rejestrów przesuwnych (74HC595) do sterowania 16 diodami LED: 9 kroków

Używanie 2 rejestrów przesuwnych (74HC595) do sterowania 16 diodami LED: Ten obwód użyje 2 rejestrów przesuwnych (74HC595). Rejestry przesuwne będą sterować jako wyjścia 16 diod LED. Każdy rejestr przesuwny będzie napędzał 8 diod LED. Rejestry przesuwne są okablowane tak, aby każde wyjście rejestru przesuwnego wyglądało jak duplikat drugiego
48 x 8 przewijany wyświetlacz LED z matrycą LED za pomocą Arduino i rejestrów przesuwnych.: 6 kroków (ze zdjęciami)

Przewijany wyświetlacz LED 48 X 8 za pomocą Arduino i rejestrów przesuwnych.: Witam wszystkich! To mój pierwszy Instruktaż i chodzi o stworzenie programowalnej przewijanej matrycy LED 48 x 8 za pomocą rejestrów przesuwnych Arduino Uno i 74HC595. To był mój pierwszy projekt z płytką rozwojową Arduino. To było wyzwanie dla m
Matryca LED za pomocą rejestrów przesuwnych: 7 kroków (ze zdjęciami)

Matryca LED za pomocą rejestrów przesuwnych: Ta instrukcja ma być pełniejszym wyjaśnieniem niż inne dostępne online. W szczególności zapewni to więcej wyjaśnień dotyczących sprzętu niż jest dostępne w instrukcji LED Marquee przez led555. Cele Ta instrukcja przedstawia koncepcje