„ARDUINO“ turime 20 įvesties / išvesties kaiščių, todėl galime užprogramuoti 20 UNO kaiščių, kurios bus naudojamos kaip įvestis arba išvestis. Nors ATMEGA328P valdiklyje yra daugiau kaiščių nei UNO, taip yra todėl, kad projektuojant plokštę kai kurie kaiščiai yra numatyti.
Dabar kai kurioms programoms mums reikia daugiau nei 30 smeigtukų, tarkime, jei norime sukurti 5x5x5 LED CUBE, taigi tam mums reikia 5x5 + 5 = 30 smeigtukų. Tokiais atvejais mes naudojame nuoseklius ir lygiagrečius keitiklio lustus arba perjungimo registrą. Perkėlimo registro lustas paima duomenis iš UNO plokštės nuosekliai ir suteikia išvestį lygiagrečiai 8 bitų konfigūracijai.
Būtini komponentai
Aparatūra: „ Arduino uno“ plokštė, jungiamieji kaiščiai, 220Ω rezistorius, LED (aštuonios dalys), 74HC595 IC, duonos lenta.
Programinė įranga: „ Arduino“ kas vakarą
Grandinės schema ir darbo paaiškinimas
Čia mes ketiname siųsti duomenis aštuonių bitų dydžiu per vieną kanalą perkelti registrą. Pamainų registras ima duomenis nuosekliai ir saugo tuos duomenis savo atmintyje. Kai duomenis išsiųs valdiklis, mes išsiųsime komandą perkelti registrą, kad duomenys būtų rodomi išvestyje, o šia komanda poslinkių registras pateikia duomenis lygiagrečiai.
Šią išvestį rodo aštuoni šviesos diodai, prijungti prie išėjimo.
Norėdami prijungti pamainų registrą prie „Arduino UNO“, turime atlikti du dalykus:
|
Pirmiausia turime nustatyti bet kokius tris UNO kaiščius kaip išvestį. Tada prie šių trijų išvesties kaiščių turime prijungti skaitmeninį kaištį, laikrodžio kaištį ir fiksatoriaus kaištį. Po to turime pasakyti UNO, kuris lusto kaištis yra prijungtas prie UNO plokštės kaiščių. Tai daroma paprastai užrašant komandą „
shiftOut(dataPin, clockPin, data);
“. Duomenys čia gali būti dvejetainiai, dešimtainiai arba šešioliktainiai. Aštuonių bitų informacija, kurią reikia išsiųsti, rašoma vietoje „duomenys“.
Duomenys siunčiami taip:
Išjunkite fiksatorių, tai lustui nurodo kol kas nerodyti išvesties.
Aštuonis kartus duomenis siųsime laikrodžiu nuosekliai, taigi žemas laikrodis - mažai duomenų, laikrodis - ir pan.
Įjunkite fiksatorių, tai lustui rodo aštuonių bitų duomenis.
„ ARDUINO“ darbas su „SHIFT REGISTER“ žingsnis po žingsnio paaiškinamas toliau nurodytu C kodu: