Az ARDUINO-ban 20 I / O érintkezõvel rendelkezünk, így 20 UNO érintkezõt programozhatunk bemenetként vagy kimenetként. Noha az ATMEGA328P vezérlőn több csap van, mint az UNO-n, ez azért van, mert a tábla tervezése közben egyes csapok alapértelmezettek.
Néhány alkalmazáshoz 30-nál több csapra van szükségünk, mondjuk, ha 5x5x5 LED CUBE-t akarunk megtervezni, ezért ehhez 5x5 + 5 = 30pins szükséges. Ilyen esetekben soros és párhuzamos konverter chipeket vagy shift regisztert használunk. A shift regiszter chip sorosan veszi az UNO kártya adatait, és 8 bites párhuzamos konfigurációt ad.
Szükséges alkatrészek
Hardver: Arduino uno kártya, összekötő csapok, 220Ω-os ellenállás, LED (nyolc darab), 74HC595 IC, kenyérlap.
Szoftver: Arduino éjszakánként
Áramköri ábra és működési magyarázat
Itt nyolc bites méretben küldünk adatokat egyetlen csatornán keresztül a regiszter eltolásához. A shift regiszter sorba veszi az adatokat, és ezeket az adatokat a memóriájában tárolja. Miután az adatokat elküldte a vezérlő, parancsot fogunk küldeni a shift regiszterhez, hogy az adatok megjelenjenek a kimeneten, ezzel a paranccsal a shift regiszter párhuzamosan adja ki az adatokat.
Ezt a kimenetet a kimenethez csatlakoztatott nyolc LED mutatja.
A műszakregiszter és az Arduino UNO összekapcsolásához két dolgot kell tennünk:
|
Először ki kell állítanunk az UNO bármely három érintkezőjét. Ezután ehhez a három kimeneti csaphoz csatlakoztatnunk kell a digitális csapot, az órát és a reteszt. Ezt követően el kell mondanunk az UNO-nak, hogy melyik csip van csatlakoztatva az UNO tábla csapjaihoz. Ez a „
shiftOut(dataPin, clockPin, data);
” parancs egyszerű írásával történik. Az adatok itt lehetnek bináris, decimális vagy hexadecimális értékek. Az elküldendő nyolc bites információt az „adatok” helyett írják.
Az elküldött adatok a következők:
Kapcsolja ki a reteszt, ez azt mondja a chipnek, hogy egyelőre ne jelenítse meg a kimenetet.
Nyolcszor küldünk adatokat órával sorosan, tehát óra magas alacsony adat-óra alacsony - és így tovább.
Engedélyezze a reteszt, ez megmondja a chipnek, hogy nyolc bites adatot mutasson.
Az ARDUINO SHIFT REGISTER programmal történő munkáját lépésről lépésre magyarázzák az alább megadott C kódban: