Sisällysluettelo:

Vaihtorekisterien kaskadi 74HC595 Ohjattu Arduinon ja Ethernetin kautta: 3 vaihetta
Vaihtorekisterien kaskadi 74HC595 Ohjattu Arduinon ja Ethernetin kautta: 3 vaihetta

Video: Vaihtorekisterien kaskadi 74HC595 Ohjattu Arduinon ja Ethernetin kautta: 3 vaihetta

Video: Vaihtorekisterien kaskadi 74HC595 Ohjattu Arduinon ja Ethernetin kautta: 3 vaihetta
Video: 74HC595 Seven Segment 2 Digits LED Display with decimal points for Arduino 2024, Marraskuu
Anonim
Vaihtorekisterien kaskadi 74HC595 Ohjattu Arduinon ja Ethernetin kautta
Vaihtorekisterien kaskadi 74HC595 Ohjattu Arduinon ja Ethernetin kautta

Tänään haluaisin esitellä projektin, jonka olen toteuttanut kahdessa versiossa. Projektissa käytetään 12 vuororekisteriä 74HC595 ja 96 LEDiä, Arduino Uno -kortti ja Ethernet -suoja Wiznet W5100. Jokaiseen vuororekisteriin on kytketty 8 LEDiä. Numerot 0-9 esitetään LED-valoilla. Jokainen vuororekisteri on varustettu 8 lähtöliittimellä.

Kukin neljästä vuororekisteristä 74HC595 muodostaa loogisen yksikön - näytön nelinumeroisen numeron luetteloimiseksi. Projektissa on yhteensä 3 loogista näyttöä, jotka koostuvat 12 vuororekisteristä.

Toteutukset ovat yhteensopivia Arduino -levyille Nano, Mega, Uno sekä Ethernet -suojat ja Wiznet -perheen moduulit, erityisesti mallit W5100 ja W5500 (käyttäen Ethernet2 -kirjastoa).

Tarvikkeet

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 - 12 -vuororekisteri 74HC595
  • 32 - 96 LED -diodia

Vaihe 1: Toteutetut toteutukset projektissa Arduinon kanssa:

  • Verkkopalvelin - HTTP -palvelin, joka toimii suoraan Arduinolla, mahdollistaa HTML -koodin tulkinnan
  • WebClient - Asiakas, joka pystyy tekemään HTTP -pyynnön etäpalvelimelle ja lähettämään / lataamaan tietoja

Verkkopalvelin:

  • Tarjoaa HTML-verkkosivun lomakkeella, jonka avulla voit syöttää kolme nelinumeroista numeroa.
  • Lomakkeen lähettämisen jälkeen tiedot käsitellään ja tallennetaan EEPROM -muistiin, käyttäjälle ilmoitetaan tietojen käsittelystä erillisellä alasivulla.
  • Tietojen tallentamisen jälkeen käyttäjä ohjataan takaisin lomakkeelle.
  • EEPROM -muisti on energiasta riippumaton, tiedot ovat käytettävissä myös virran palautuksen jälkeen, mutta myös levyn uudelleenkäynnistys.
  • Kaikki numerot esitetään sitten kolmella näytöllä, jotka koostuvat 12 74HC595 -siirtorekisteristä.

WebClient:

  • Viestintä verkkopalvelimen kanssa tapahtuu 5 sekunnin välein HTTP -protokollan jälkeen.
  • Verkkopalvelin käyttää PHP-verkkosovellusta, jonka avulla voit syöttää 3 nelinumeroista numeroa HTML-lomakkeen kautta.
  • Lomakkeen tiedot tallennetaan MySQL -tietokantaan.
  • Arduino pyytää noutamaan tietoja tästä tietokannasta kyselyn kautta palvelimelle.
  • Arduino jäsentää käsitellyt tiedot ja piirtää ne sitten siirtorekisterien 74HC595 avulla.
  • Tiedot tallennetaan myös Arduinon EEPROM -muistiin, niitä käytetään siinä tapauksessa, että yhteys verkkopalvelimeen epäonnistuu / kun Arduino -levyt käynnistetään uudelleen, niitä käytetään vuororekisterien tietojen ensimmäiseen renderointiin.
  • Tiedot korvataan EEPROMissa vain, kun tiedot muuttuvat, EEPROM -solut tallennetaan tarpeettomalta korvaamiselta.

Vaihe 2: Johdotus ja kuvakaappaus

Johdotus ja kuvakaappaus
Johdotus ja kuvakaappaus
Johdotus ja kuvakaappaus
Johdotus ja kuvakaappaus

Kaskadiyhteys vuororekistereille 74HC595 (voidaan pidentää x enemmän) - Vie TinkerCADista. Kuvakaappaus on olemassa verkkopalvelinliittymästä, kun se saa tietoja HTML -lomakkeen kautta, käsittelee ne ja tallentaa ne EEPROM -muistiin.

Vaihe 3: 74HC595 + lähdekoodit

Kaaviosta käy selvästi ilmi, että vain 3 datajohtoa käytetään siirtorekisterien ohjaamiseen:

  • Tiedonsiirto - (SER - 74HC595)
  • Kellolähtö - (SRCLK mallissa 74HC595)
  • Salvan ulostulo - (RCLK - 74HC595)

Vaihtorekisterit voidaan yhdistää kaskadiin, kun taas muita oheislaitteita voidaan ohjata siirtorekisterien avulla - esimerkiksi releet tehoelementtien kytkemiseksi. On myös mahdollista ohjata 500 erillistä relettä (riittävä määrä siirtorekistereitä ja virtalähdettä) yhdellä datalähdöllä.

Kun ohjataan rekisterien lähtöä, on myös mahdollista muuttaa tavujärjestystä merkittävimmäksi bitiksi - MSB FIRST tai LSB - vähiten merkitseväksi bitiksi. Tämän seurauksena se kääntää lähdöt. Yhdessä tapauksessa esimerkiksi 7 diodia palaa, toisessa tapauksessa 1 diodi riippuen tulo- ja tavujärjestyksestä.

Molemmat toteutukset käyttävät EEPROM -muistia, joka voi tallentaa tietoja myös sähkökatkon tai kortin uudelleenkäynnistyksen jälkeen. Tämän muistin toinen käyttö on myös kyky edustaa viimeisintä tunnettua dataa, jos se ei pysty kommunikoimaan verkkopalvelimen kanssa (yhteysvirhe, palvelin).

Muisti on rajoitettu 10 000 - 100 000 transkriptiin. Toteutukset on suunniteltu mahdollisimman pienelle muistikuormalle. Tietoja ei korvata, kun niitä muutetaan. Jos samat tiedot luetaan verkkopalvelimelta / asiakkaalta, niitä ei korvata EEPROM -muistissa.

Ohjelmistototeutusta (Arduino-puoli) WebClientille voi kokeilla ilmaiseksi osoitteessa:

Arduino kommunikoi verkkokäyttöliittymän kanssa, jossa on mahdollista muuttaa 3 nelinumeroista numeroa:

Pyydä Arduinon koodi verkkopalvelimeksi osoitteessa: [email protected] Lahjoita lisää ohjeita:

Suositeltava: