V ARDUINO imamo 20 I / O nožic, tako da lahko programiramo 20 nožic UNO, ki jih bomo uporabili kot vhodne ali izhodne. Čeprav je na krmilniku ATMEGA328P več zatičev kot na UNO, je to zato, ker so pri načrtovanju plošče nekateri zatiči privzeti.
Zdaj za nekatere aplikacije potrebujemo več kot 30 nožic, recimo, če želimo zasnovati LED CUBE 5x5x5, torej za to potrebujemo 5x5 + 5 = 30pins. V takih primerih uporabljamo serijske do vzporedne pretvorniške čipe ali pomični register. Čip registra premika zaporedno zajema podatke z plošče UNO in daje izhod v 8-bitni vzporedni konfiguraciji.
Potrebne komponente
Strojna oprema: Arduino uno plošča, priključni zatiči, upor 220Ω, LED (osem kosov), 74HC595 IC, plošča za kruh.
Programska oprema: Arduino ponoči
Shema vezja in delovna razlaga
Tukaj bomo poslali podatke v osmih bitnih velikostih po enem kanalu za premik registra. Prestavni register podatke zaporedno zajema in jih shrani v svoj pomnilnik. Ko podatke pošlje krmilnik, bomo poslali ukaz za premik registra, ki bo prikazal podatke na izhodu, s tem ukazom register premika pa vzporedno podaja podatke.
Ta izhod prikazuje osem LED, priključenih na izhodu.
Za povezavo registra premikov z Arduino UNO moramo narediti dve stvari:
|
Najprej moramo za izhod nastaviti katere koli tri nožice UNO. Nato moramo na te tri izhodne nožice priključiti digitalni zatič, zatič za uro in zatič. Po tem moramo UNO povedati, kateri zatič čipa je povezan z zatiči plošče UNO. To se naredi s preprostim zapisom v ukazu “
shiftOut(dataPin, clockPin, data);
”. Podatki so lahko v binarnih ali decimalnih ali šestnajstiških vrednostih. Osem bitne informacije, ki jih je treba poslati, so zapisane namesto "podatkov".
Poslani podatki se izvedejo kot:
Onemogočite zapah, to pove čipu, da za zdaj ne prikazuje izhoda.
Osemkrat bomo podatke pošiljali z uro serijsko, torej ura z nizko vrednostjo podatkov z nizko uro in tako naprej.
Omogoči zapah, to pove čipu, da prikaže osem bitne podatke.
Delovanje ARDUINO s SHIFT REGISTER je razloženo po korakih v spodnji kodi C: