Innholdsfortegnelse:

Kaskade av skiftregistre 74HC595 kontrollert via Arduino og Ethernet: 3 trinn
Kaskade av skiftregistre 74HC595 kontrollert via Arduino og Ethernet: 3 trinn

Video: Kaskade av skiftregistre 74HC595 kontrollert via Arduino og Ethernet: 3 trinn

Video: Kaskade av skiftregistre 74HC595 kontrollert via Arduino og Ethernet: 3 trinn
Video: Kaskade - Steppin' Out (Soul Avengerz Mix) 2024, Juli
Anonim
Cascade of Shift Registers 74HC595 kontrollert via Arduino og Ethernet
Cascade of Shift Registers 74HC595 kontrollert via Arduino og Ethernet

I dag vil jeg presentere et prosjekt som jeg har implementert i to versjoner. Prosjektet bruker 12 skiftregistre 74HC595 og 96 LED, Arduino Uno -kort med Ethernet -skjerm Wiznet W5100. 8 lysdioder er koblet til hvert skiftregister. Tallene 0-9 er representert med lysdioder. Hvert skiftregister er utstyrt med 8 utgangsterminaler.

Hvert av de 4 skiftregistrene 74HC595 danner en logisk enhet - et display for å vise et firesifret tall. Totalt er det 3 logiske visninger i prosjektet som består av 12 skiftregistre.

Implementeringene er kompatible for Arduino -kort Nano, Mega, Uno og for Ethernet -skjold og moduler fra Wiznet -familien, spesielt modellene W5100 og W5500 (ved bruk av Ethernet2 -biblioteket).

Rekvisita

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

Trinn 1: Implementerte implementeringer i prosjektet med Arduino:

  • Webserver - HTTP -server som kjører direkte på Arduino, lar deg tolke HTML -kode
  • WebClient - Klient som er i stand til å sende en HTTP -forespørsel til en ekstern server, sende / laste ned data

Internett server:

  • Tilbyr en HTML-webside med et skjema som lar deg angi tre firesifrede tall.
  • Etter å ha sendt skjemaet, blir dataene behandlet og lagret i EEPROM -minnet, brukeren blir informert om databehandlingen av en egen underside.
  • Etter at dataene er lagret, blir brukeren omdirigert tilbake til skjemaet.
  • EEPROM -minne er energiuavhengig, data er tilgjengelig selv etter strømgjenoppretting, men også omstart av kortet.
  • Alle tall blir deretter representert på tre skjermer bestående av 12 74HC595 skiftregistre.

WebClient:

  • Kommunikasjon med webserveren skjer hvert 5. sekund etter HTTP -protokollen.
  • Webserveren kjører en PHP-webapplikasjon som lar deg skrive inn 3 firesifrede tall via HTML-skjemaet.
  • Dataene fra skjemaet lagres i en MySQL -database.
  • Arduino ber om å hente data fra denne databasen via en forespørsel til serveren.
  • De behandlede dataene blir analysert av Arduino, deretter plottet ved hjelp av skiftregistre 74HC595.
  • Dataene lagres også i EEPROM -minnet til Arduino, de brukes i tilfelle tilkoblingen til webserveren mislykkes / når Arduino -kortene startes på nytt, brukes de til den første gjengivelsen av dataene på skiftregistrene.
  • Dataene overskrives i EEPROM bare når dataene endres, EEPROM -cellene lagres fra unødvendig overskriving.

Trinn 2: Kabling og skjermbilde

Kabling og skjermbilde
Kabling og skjermbilde
Kabling og skjermbilde
Kabling og skjermbilde

Kaskadetilkobling for skiftregistre 74HC595 (kan utvides med x mer) - Eksport fra TinkerCAD. Skjermbilde er der fra webservergrensesnittet, når det får data via HTML -skjema, behandler dem og lagrer dem i EEPROM -minne.

Trinn 3: 74HC595 + kildekoder

Det er klart fra diagrammet at bare 3 datakabler brukes til å kontrollere skiftregistrene:

  • Datauttak - (SER til 74HC595)
  • Klokkeutgang - (SRCLK på 74HC595)
  • Låseuttak - (RCLK til 74HC595)

Skiftregistre kan kombineres i en kaskade, mens andre eksterne enheter også kan styres av skiftregistre - for eksempel reléer for å bytte effektelementer. Det er også mulig å styre 500 separate reléer (med et tilstrekkelig antall skiftregistre og strømforsyning) med én datautgang.

Når du kontrollerer utgangene til registerene, er det også mulig å endre byteordren til den mest signifikante biten - MSB FIRST, eller til LSB - den minst signifikante biten. Som et resultat inverterer det utgangene. I det ene tilfellet lyser for eksempel 7 dioder, i det andre tilfellet 1 diode avhengig av inngang og byterekkefølge.

Begge implementeringene bruker EEPROM -minne, som kan lagre data selv etter et strømbrudd eller etter en omstart av kortet. Den andre bruken av dette minnet er også muligheten til å representere de siste kjente dataene i tilfelle det ikke er mulig å kommunisere med webserveren (tilkoblingsfeil, server).

Minnet er begrenset til 10 000 til 100 000 transkripsjoner. Implementeringer er designet for minst mulig minnelast. Dataene blir ikke overskrevet når de endres. Hvis de samme dataene leses fra webserveren / klienten, blir de ikke overskrevet i EEPROM -minnet.

Programvareimplementering (Arduino-side) for WebClient kan prøves gratis på:

Arduino kommuniserer med et webgrensesnitt der det er mulig å endre 3 firesifrede tall:

Be om kode for Arduino som webserver på: [email protected] Doner for flere instrukser:

Anbefalt: