Oke kali ini sobat aka belajar tentang menggunakan shift register 74HC595, kenapa menggunakan shift register ini, barangkali sobat ingin mengendalikan 24 led atau 32 led dengan menggunakan arduino uno / nano (yang pinnya terbatas). Bisa di gunakan IC jenis tipe ini,
oke sobat langsung saja berikut komponen yang dibutuhkan
- Arduino nano
- SHif Register 74HC595(2 buah)
- Kabel jumper secukupnya
- breadboard besar
untuk rangkainnya bisa dilihat sebagai berikut :
dan untuk kodingan adalah sebagai berikut
#define SHIFT_DATA 2
#define SHIFT_CLK 3
#define SHIFT_LATCH 4
void setup() {
pinMode(SHIFT_DATA, OUTPUT);
pinMode(SHIFT_CLK, OUTPUT);
pinMode(SHIFT_LATCH, OUTPUT);
}
void loop() {
// int address = 0b1111111111111111; // Case 1
//int address = 0b0000000000000000; // Case 2
//int address = 0b0101010101010101; // Case 3
//int address = 0b1010101010101010; // Case 4
int address = 0b0101100110101110; // Case 5
shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, (address >> 8)); // Load first 8 bits
shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, address); // Load second 8 bits
digitalWrite(SHIFT_LATCH, LOW);
digitalWrite(SHIFT_LATCH, HIGH);
digitalWrite(SHIFT_LATCH, LOW);
}
#define SHIFT_CLK 3
#define SHIFT_LATCH 4
void setup() {
pinMode(SHIFT_DATA, OUTPUT);
pinMode(SHIFT_CLK, OUTPUT);
pinMode(SHIFT_LATCH, OUTPUT);
}
void loop() {
// int address = 0b1111111111111111; // Case 1
//int address = 0b0000000000000000; // Case 2
//int address = 0b0101010101010101; // Case 3
//int address = 0b1010101010101010; // Case 4
int address = 0b0101100110101110; // Case 5
shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, (address >> 8)); // Load first 8 bits
shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, address); // Load second 8 bits
digitalWrite(SHIFT_LATCH, LOW);
digitalWrite(SHIFT_LATCH, HIGH);
digitalWrite(SHIFT_LATCH, LOW);
}
Selamat belajar arduino