I ARDUINO har vi 20 I / O-ben, så vi kan programmere 20 ben UNO, der skal bruges som enten input eller output. Selvom der er flere stifter på ATMEGA328P-controller end på UNO, skyldes det, at nogle stifter er standard, mens du designer bordet.
Nu til nogle applikationer har vi brug for mere end 30 ben, sig hvis vi vil designe en 5x5x5 LED CUBE, så til dette har vi brug for 5x5 + 5 = 30pins. I sådanne tilfælde bruger vi seriel til parallel konverterchips eller skiftregister. En shift registerchip tager data fra UNO-kortet serielt og giver output i 8 bit parallel konfiguration.
Komponenter, der kræves
Hardware: Arduino uno-kort, forbindelsesstifter, 220Ω modstand, LED (otte stykker), 74HC595 IC, brødbræt.
Sofware: Arduino om natten
Kredsløbsdiagram og arbejdsforklaring
Her skal vi sende data i otte bit størrelse gennem en enkelt kanal for at skifte register. Skiftregisteret tager dataene serielt og gemmer disse data i hukommelsen. Når dataene er sendt af controlleren, sender vi en kommando til at skifte register for at vise dataene ved udgangen, med denne kommando lægger skiftregisteret data parallelt.
Denne udgang vises med otte lysdioder tilsluttet ved udgangen.
For at forbinde skiftregisteret til Arduino UNO er vi nødt til at gøre to ting:
|
Først skal vi indstille en hvilken som helst tre ben UNO som output. Derefter er vi nødt til at forbinde digital pin, clock pin og latch pin til disse tre output pins. Derefter er vi nødt til at fortælle UNO, hvilken chip chip der er forbundet til UNO board pins. Dette gøres ved simpel skrivning i kommando “
shiftOut(dataPin, clockPin, data);
”. Dataene her kan være i binær eller decimal eller hexadecimal. De otte-bit information, der skal sendes, skrives i stedet for "data".
De sendte data udføres som:
Deaktiver låsen, dette fortæller, at chip ikke skal vise output for nu.
I otte gange sender vi data med ur serielt, så ur højt lav-datarom lav- og så videre.
Aktivér lås, dette fortæller chip at vise otte bit data.
Arbejdet med ARDUINO med SKIFTREGISTER forklares trin for trin i C-koden angivet nedenfor: