Indholdsfortegnelse:

Kaskade af skiftregistre 74HC595 styret via Arduino og Ethernet: 3 trin
Kaskade af skiftregistre 74HC595 styret via Arduino og Ethernet: 3 trin

Video: Kaskade af skiftregistre 74HC595 styret via Arduino og Ethernet: 3 trin

Video: Kaskade af skiftregistre 74HC595 styret via Arduino og Ethernet: 3 trin
Video: КАК НАСТРОИТЬ L4D2 2024, Juli
Anonim
Kaskade af skiftregistre 74HC595 styret via Arduino og Ethernet
Kaskade af skiftregistre 74HC595 styret via Arduino og Ethernet

I dag vil jeg gerne præsentere et projekt, som jeg har implementeret i to versioner. Projektet bruger 12 skiftregistre 74HC595 og 96 LED'er, Arduino Uno -kort med Ethernet -skærm Wiznet W5100. 8 lysdioder er tilsluttet hvert skifteregister. Tallene 0-9 er repræsenteret med lysdioder. Hvert skifteregister er udstyret med 8 udgangsterminaler.

Hvert af de 4 skiftregistre 74HC595 danner en logisk enhed - et display til registrering af et firecifret nummer. I alt er der 3 logiske displays i projektet bestående af 12 skiftregistre.

Implementeringerne er kompatible til Arduino -kort Nano, Mega, Uno og til Ethernet -skærme og moduler fra Wiznet -familien, specifikt modeller W5100 og W5500 (ved hjælp af Ethernet2 -biblioteket).

Forbrugsvarer

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 op til 12 skiftregister 74HC595
  • 32 op til 96 LED -dioder

Trin 1: Implementerede implementeringer i projektet med Arduino:

  • Webserver - HTTP -server, der kører direkte på Arduino, gør det muligt at fortolke HTML -kode
  • WebClient - Klient i stand til at foretage en HTTP -anmodning til en fjernserver, sende / downloade data

Webserver:

  • Indeholder en HTML-webside med en formular, der giver dig mulighed for at indtaste 3 firecifrede tal.
  • Efter afsendelse af formularen behandles og gemmes dataene i EEPROM -hukommelsen, brugeren informeres om databehandlingen af en separat underside.
  • Efter at have gemt dataene, omdirigeres brugeren tilbage til formularen.
  • EEPROM -hukommelse er energioafhængig, data er tilgængelige selv efter strømgendannelse, men også genstart af kortet.
  • Alle numre er derefter repræsenteret på tre skærme bestående af 12 74HC595 skifteregistre.

WebClient:

  • Kommunikation med webserveren finder sted hvert 5. sekund efter HTTP -protokollen.
  • Webserveren kører en PHP-webapplikation, der giver dig mulighed for at indtaste 3 firecifrede tal via HTML-formularen.
  • Dataene fra formularen gemmes i en MySQL -database.
  • Arduino anmoder om at hente data fra denne database via en forespørgsel til serveren.
  • De behandlede data analyseres af Arduino og plottes derefter ved hjælp af skifteregistre 74HC595.
  • Dataene gemmes også i EEPROM -hukommelsen på Arduino, de bruges i tilfælde af, at forbindelsen til webserveren mislykkes / når Arduino -kortene genstartes, bruges de til den første gengivelse af dataene på skifteregistrene.
  • Dataene overskrives kun i EEPROM, når dataene ændres, gemmes EEPROM -cellerne fra unødvendig overskrivning.

Trin 2: Kabelføring og skærmbillede

Kabelføring og skærmbillede
Kabelføring og skærmbillede
Kabelføring og skærmbillede
Kabelføring og skærmbillede

Kaskadeforbindelse til skiftregistre 74HC595 (kan udvides med x mere) - Eksport fra TinkerCAD. Screenshot er der fra webserver -interface, når det får data via HTML -formular, behandler dem og gemmer dem i EEPROM -hukommelse.

Trin 3: 74HC595 + kildekoder

Det fremgår tydeligt af diagrammet, at der kun bruges 3 datatråde til at styre skifteregistre:

  • Data Outlet - (SER til 74HC595)
  • Urudgang - (SRCLK på 74HC595)
  • Latch Outlet - (RCLK til 74HC595)

Skiftregistre kan kombineres i en kaskade, mens andre perifere enheder også kan styres af skiftregistre - for eksempel relæer til at skifte effektelementer. Det er også muligt at styre 500 separate relæer (med et tilstrækkeligt antal skiftregistre og strømforsyning) med en dataudgang.

Ved styring af output fra registre er det også muligt at ændre byteordren til den mest signifikante bit - MSB FIRST eller til LSB - den mindst signifikante bit. Som et resultat inverterer det output. I det ene tilfælde lyser for eksempel 7 dioder, i det andet tilfælde 1 diode afhængigt af input og byte rækkefølge.

Begge implementeringer bruger EEPROM -hukommelse, som kan gemme data, selv efter et strømsvigt eller efter en kortstart. Den anden brug af denne hukommelse er også evnen til at repræsentere de sidste kendte data, hvis det ikke er muligt at kommunikere med webserveren (forbindelsesfejl, server).

Hukommelsen er begrænset til 10.000 til 100.000 udskrifter. Implementeringer er designet til den mindst mulige hukommelsesbelastning. Dataene overskrives ikke, når de ændres. Hvis de samme data læses fra webserveren / klienten, overskrives de ikke i EEPROM -hukommelsen.

Softwareimplementering (Arduino-side) til WebClient kan prøves gratis på:

Arduino kommunikerer med en webgrænseflade, hvor det er muligt at ændre 3 firecifrede tal:

Spørg om kode til Arduino som webserver på: [email protected] Doner for flere instruktioner:

Anbefalede: