Di ARDUINO kami mempunyai 20 pin I / O, jadi kami dapat memprogram 20 pin UNO untuk digunakan sebagai input atau output. Walaupun terdapat lebih banyak pin pada pengawal ATMEGA328P daripada pada UNO, ini kerana semasa merancang papan, beberapa pin tidak berfungsi.
Sekarang untuk beberapa aplikasi, kita memerlukan lebih dari 30 pin, katakan jika kita ingin merancang CUBE LED 5x5x5, jadi untuk ini kita memerlukan 5x5 + 5 = 30 pin. Untuk kes seperti itu, kami menggunakan cip penukar bersiri hingga selari atau shift shift. Chip register shift mengambil data dari papan UNO secara bersiri dan memberikan output dalam konfigurasi selari 8 bit.
Komponen Diperlukan
Perkakasan: Arduino uno board, pin penyambung, perintang 220Ω, LED (lapan keping), 74HC595 IC, papan roti.
Perisian perisian: Arduino setiap malam
Diagram Litar dan Penjelasan Kerja
Di sini kita akan menghantar data dalam ukuran lapan bit melalui satu saluran untuk shift register. Register shift mengambil data secara bersiri dan menyimpan data tersebut dalam ingatannya. Setelah data dikirim oleh pengawal, kita akan mengirim perintah untuk beralih daftar untuk menunjukkan data pada output, dengan perintah ini pergeseran daftar mengeluarkan data selari.
Output ini ditunjukkan oleh lapan LED yang dihubungkan pada output.
Untuk menghubungkan shift shift ke Arduino UNO, kita perlu melakukan dua perkara:
|
Mula-mula kita perlu menetapkan tiga pin UNO sebagai output. Maka kita perlu menyambungkan pin digital, pin jam dan pin kait ke tiga pin output ini. Selepas itu kita perlu memberitahu UNO pin cip mana yang disambungkan ke pin papan UNO. Ini dilakukan dengan menulis ringkas dalam perintah "
shiftOut(dataPin, clockPin, data);
". Data di sini boleh dalam bentuk perduaan atau perpuluhan atau heksadesimal. Maklumat lapan bit yang perlu dihantar ditulis sebagai ganti "data".
Data yang dihantar dilakukan sebagai:
Lumpuhkan selak, ini memberitahu cip agar tidak menunjukkan output buat masa ini.
Untuk lapan kali kami akan menghantar data dengan jam secara bersiri, jadi jam tinggi-data-jam rendah- dan seterusnya.
Aktifkan selak, ini memberitahu cip untuk menunjukkan data lapan bit.
Kerja ARDUINO dengan SHIFT REGISTER dijelaskan langkah demi langkah dalam kod C yang diberikan di bawah: