Pengertian
Mux atau Multiplexer arduino merupakan salah satu jenis komponen elektronika yang mempunyai fungsi sebagai penyelektor data yang berkerja berdasarkan command selector switch untuk menampilkan data yang ingin dituju.
Dengan kata singkatnya multiplexer memiliki banyak input data 2n contohnya 4, 8, 16,32 input tetapi hanya memiliki beberapa buah input digital dan memiliki 1 bagian pengontrol.
Melalui bagian input digital ini dapat dikehendaki data input mana yang akan ditampilkan. Kebalikan dari Multiplexer yaitu Demultiplexer (Demux). Salah satu contoh IC untuk kedua proses tersebut yaitu 74HC4067.
IC ini merupakan ic analog yang memilik 16 inputan dengan 4 input data (S0,S1,S,S3) , 1 pin SIGsebagai pengendali selector dan 1 input Enable untuk mengaktifkan. Bentuk fisik dari IC Mux 74HC4067.
Pada pasaran sudah terdapat modul IC 74HC4067, sudah dipackage ke dalam pcb yang langsung siap pakai menggunakan pin header dengan jumper.
Karakteristik
- High resistance off
- terdapat 16 input dengan 4 input data selector, 1 pin SIG dan 1 input Enable
- Dapat diaplikasikan :
- Multiplexer dan deMultiplexer
- konversi A/D dan D/A
- Signal Gating
- Low Resistance Off
- Tegangan kerja antara 3-18Vdc
- Beban minimal resistance keluaran 100Ω
Ilustrasi cara kerja
Saat pin input ic 74HC4067 (channel 0-15) yang terhubung dengan suatu perangkat misalnya dengan trimpot, untuk pembacaan ke-16 input-an tersebut dilakukan secara bergantian dalam satuan waktu μs.
Untuk sinyal kendali pembacaannya terdapat pada pin S0-S1 yang dimana dapat diliat pada tabel kebenaran dibawah :
Keterangan : SIG merupakan pin keluarnya sinyal hasil selektor data yang dibaca dari selektor (S0-S3), dan dapat aktif dapat dibaca jika di pin Enable di on kan.
Tutorial pertama Multiplexer Arduino Pembacaan sinyal Digital
Bahan yang perlu dipersiapkan antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Modul 74HC4067
- 16 Resistor 10 kΩ
- 16 swicth on-off
- Breadboard
- Kabel Jumper
Keterangan :
- SIG ↔ 3
- S0 ↔ 8
- S1 ↔ 9
- S2 ↔ 10
- S3 ↔ 11
- E ↔ 7
Sebelum memrogram dapat digunakan library dari pihak ke-3 yang dapat digunakan untuk memudahkan dalam pemrogramannya. [ddownload id=”1584″]
Setelah itu di estrak dan dimasukan ke dalam program arduino tepatnya di arduino libraries
Peletakan Library pada masing – masing Operation System :
- PC (Windows) : Program file /Arduino/ libraries
- Mac : (home directory)/Applications/Arduino (Show Package Content)/Contents/Java/Libraries
- Linux : (home directory)/sketchbook/libraries
File Proteus diatas yang dapat anda miliki secara gratis, hanya dengan klik salah satu share social media dibawah ini
[lockercat]
Simulasi proteus arduino mengakses module multiplexer pembacaan digital : [ddownload id=”2040″]
[/lockercat]
Kode Program
/* --- www.nyebarilmu.com --- */ /* * Berikut ini adalah contoh pembacaan sinyal digital * Menggunakan switch * Semua dihubungkan ke 16 channel modul 74HC4067 */ //menambahkan pembacaan untuk libraries modul 74HC4067 #include "MUX74HC4067.h" //(en, S0, S1, S2, S3) MUX74HC4067 mux(7, 8, 9, 10, 11); void setup() { //Inisialisasi port serial Serial.begin(9600); //inisialisasi pin 3 sebagai jalur signal mux.signalPin(3, INPUT, DIGITAL); } //Membaca 16 channel dan ditampilkan datanya pada serial monitor //jika salah satu push button ditekan void loop() { byte data; for (byte i = 0; i < 16; ++i) { //Membaca channel i data = mux.read(i); Serial.print("Status Button : "); Serial.print(i); Serial.print(" status "); if ( data == HIGH ) Serial.println("tidak ditekan"); else if ( data == LOW ) Serial.println("ditekan"); } Serial.println(); delay(1500); }
Hasil simulasi program diatas :
Tutorial kedua Demultiplexer arduino menggunakan indakator LED
Bahan yang perlu disediakan sama semua dengan tutorial diatas, yang membedakan yaitu switch diganti dengan LED warna hijau, kuning, merah, dan Biru.
File proteus yang dapat anda miliki
[lockercat]
Filenya : [ddownload id=”2041″]
[/lockercat]
Contoh kode program
/* --- www.nyebarilmu.com --- */ #include "MUX74HC4067.h" MUX74HC4067 mux(7, 8, 9, 10, 11); byte data =0 ; void setup() { mux.signalPin(3, OUTPUT, DIGITAL); Serial.begin(9600); } void loop() { for (byte a = 0; a < 16; ++a) { mux.write(a, HIGH); data = mux.read(a); Serial.print("LED ke-"); Serial.print(a); Serial.print(" : "); if ( data == HIGH ) Serial.println("nyala"); else if ( data == LOW ) Serial.println("mati"); delay(250); } }
Hasil simulasi program diatas
Tuorial yg bagus.. pak, maaf ijin tanya..
Bagaimana cara koneksi menggunakan 2 atau lebih mux74HC4067 dalam 1 arduino Mega2560
bila berkenan mohon bisa diberikan simple codenya..
terima kasih atas bantuannya..
Salam
iya terimakasih, gan
kalo untuk lebih dari 1, biasanya saya menggunakan metode manual tanpa library untuk pengaksesannya
jadi variable antar mux bisa dibedakan, gan
maaf butuh pencerahan..kalau spt ini bisa ..?
#include MUX74HC4067.h;
MUX74HC4067 mux1(7, 8, 9, 10, 11); <– dipakai/tdk..? kalau lebih dari 1
MUX74HC4067 mux2(7, 8, 9, 10, 11); <– atau harus menggunakan sebanyak n mux modul
byte data = ;
void setup()
{
mux.signalPin(3, OUTPUT, DIGITAL);
Serial.begin(9600);
}
void loop()
{
if (digitalRead(2) == LOW)
{
mux1.write(0, HIGH);
}
If (digitalRead(3) == LOW)
{
Mux2.write(0, HIGHT);
}
}
terima kasih atas pencerahannya..
contoh seperti ini gan,
bisa agan contoh program tanpa library
filenya ini >> file
jadi didalam program itu variabel S0-S4, dan SIG tinggal disesuaikan
Alhamdulillah pencerahannya.. terima kasih sangat membantu..
keep share pak.. insyaAllah berkah.. amiin
Aminnn, pak
thanks
Tuorial yg bagus.. pak, maaf ijin tanya..
Bagaimana cara koneksi menggunakan 2 atau lebih mux74HC4067 dalam 1 arduino Mega2560
bila berkenan mohon bisa diberikan simple codenya..
terima kasih atas bantuannya..
Salam
gan kalo pake mux yg icnya aja gak pake module kan Eneblenya ke ground, itu gimana ya gan?
bisa diperjelas lagi, gan?
gan kok yg file program tanpa library ga bisa dibuka ya?
could not create the sketch gan knp ya
maksudnya program yang mana ya gan?
sudah ane update yang terbaru,
silahkan dicoba saja
program yg ini gan https://www.nyebarilmu.com/?file=1609, yg dikolom komentar saudara priyanto itu gan ga bs dibuka gan
coba dibuka gunain notepad saja gan,
kadang beda versi software arduino juga bisa pengaruh, thanks
gan kok yg file program tanpa library ga bisa dibuka ya?
could not create the sketch gan knp ya
sudah saya update gan, silahkan dicek
maksudnya program yang mana ya gan?
sudah ane update yang terbaru,
silahkan dicoba saja
program yg ini gan https://www.nyebarilmu.com/?file=1609, yg dikolom komentar saudara priyanto itu gan ga bs dibuka gan
coba dibuka gunain notepad saja gan,
kadang beda versi software arduino juga bisa pengaruh, thanks