Arduino Uno als 74HC4051 (MUX/DEMUX) tester
Geplaatst op74HC4051 testen
De 74HC4051 is een multiplexer / demultiplexer IC. Om deze te testen kan de Arduino Uno gebruikt worden met twee 74HC4051 ICs. De eerste IC fungeert als multiplexer, de tweede als demultiplexer.
Pinout
Voor de correcte pin nummering, houdt de inkeping in het IC naar de linkerzijde! De pin links onder, is pin nummer 1. Tel zo verder naar rechts tot en met pin nummer 8. De pin rechts boven, is pin nummer 9. Tel nu verder naar links tot en met pin nummer 16. De pin configuratie van de 74HC4051 is als volgt: |
Pin | Label | Functie |
1 | A4 | Kanaal in/uit |
2 | A6 | Kanaal in/uit |
3 | A | Gemeenschappelijk in/uit |
4 | A7 | Kanaal in/uit |
5 | A5 | Kanaal in/uit |
6 | ~E | Enable (negatief) |
7 | Vee | Negatieve voeding |
8 | GND | Grond (0V) |
9 | Vcc | Voeding (5V DC) |
10 | A2 | Kanaal in/uit |
11 | A1 | Kanaal in/uit |
12 | A0 | Kanaal in/uit |
13 | A3 | Kanaal in/uit |
14 | S0 | Adreslijn bit 0 |
15 | S1 | Adreslijn bit 1 |
16 | S2 | Adreslijn bit 2 |
Digitaal testen
Alhoewel de 74HC4051 een analoog MUX/DEMUX is, kan deze niet analoog getest worden met de Arduino Uno, omdat deze geen analoge uitgangen heeft (DAC). Later in dit artikel, wordt beschreven hoe dit toch kan verwezenlijkt worden met een DAC breakout bord. Om digitaal te testen zijn dus enkel het Arduino bord en 2 ICs nodig.
Aansluiten
Leg pin 16 (Vcc) van beide ICs op 5VDC; pin 8 (GND) op 0V.
Leg pinnen 6 (~E) en 7 (Vee) van beide ICs eveneens op GND.
Verbind volgende pinnen van beide ICs met elkaar: 1,2,4,5,15,16,13,12 (A0..A7).
Verbind van beide ICs de pinnen 11 (S0) naar het Arduino bord op A0.
Verbind van beide ICs de pinnen 12 (S1) naar het Arduino bord op A1.
Verbind van beide ICs de pinnen 13 (S2) naar het Arduino bord op A2.
Van IC 1, verbind pin 3 (A) naar het Arduino bord op A4.
Van IC 2, verbind pin 3 (A) naar het Arduino bord op A5.
Arduino code
Gebruik volgende code voor de Arduino
Test 74HC4051 MUX/DEMUX met Arduino Uno
Het resultaat is iets in dit genre:
Componenten
De componenten voor deze test:
Componenten lijst
74HC4051 multiplexer - 5 stuks Niet op voorraad (worden per 5 verkocht) € 3,60 Breadboard 400 punten - wit Niet op voorraad € 1,90 Male-Male jumper set 65 stuks Direct leverbaar € 2,95 Totaal € 8,45Op dezelfde manier kan je de versie testen op het breakout board
Analoog testen
Om analoog te testen heb je een DAC nodig. Standaard heeft de Arduino Uno dit niet, maar met behulp van het “Adafruit MCP4725 (12bit DAC)” breakout bord, kan je dit eventueel verwezenlijken.
Aansluiten
De aansluiting dient dan aangepast te worden:
Leg pin 3 (A) van IC 1 op de uitgang van de MCP4725 (VOU) (in plaats van op A5)
Leg pin 3 (A) van IC 2 op pin A3 van het Arduino bord (in plaats van op A4).
Pinnen A4 (SCA) en A5 (SCL) van het Arduino bord, moeten aangesloten worden op SDA en SCL van de MCP4725.
Leg ook VDD en GND van het MCP4725 bord op respectievelijk 5V en GND.
Leg pin A0 van de MCP4725 op GND om I2C adres 0x62 te selecteren.
(Alternatief: A0 op 5V op adres 0x63 te selecteren.)
Adafruit bibliotheken
Om de Adafruit MCP4725 DAC aan te sturen, is het aangeraden de bijhorende bibliotheek van Adafruit te downloaden.
Deze kan je terugvinden op Github.
De code voor het analoge testen is dan als volgt:
Test 74HC4051 MUX/DEMUX met Arduino Uno en DAC
Het resultaat op de seriële monitor is in dit genre:
Er zullen af en toe “foutjes” zijn door afrondingen en onnauwkeurigheden. Zo zie je bijvoorbeeld dat 2,89V niet gelijk is aan 2,88V. Echter in combinatie met alle andere succesvolle resultaten, kan je aannemen dat de MUX/DEMUX perfect werkt.