Mux zet outputport op nul na post wissel

Hardware / electronica onderwerpen
Berichten: 4
Geregistreerd: 10 Apr 2022, 15:43

Mux zet outputport op nul na post wissel

Berichtdoor Pieter14 » 10 Apr 2022, 18:15

Hallo, ik ben nieuw op dit forum.
Ik heb een heel raar probleem, en ondanks twee dagen aanklooien kom ik er niet uit.
Ik ben aan het 'spelen' met een 16 poort mux op een ESP32.
Het probleem is dat als ik b.v. poort 15 selecteer op de mux en ik zet die hoog (via de mux ingang), dat dan de led (die ik er op heb aangesloten) keurig gaat branden. Maar als ik nu op de mux van poort verander dan gaat de output van van de poort waar de led aanhangt weer naar nul, en gaat de LED uiteraard uit.
Dus: zodra ik van poort wissel op de mux door een andere poort te selecteren via de vier selectie aansluitingen gaat de op dat moment geselecteerde poort naar nul.
Verder doen de poorten alles. input, output, zelft touch werkt. De poorten doen dus precies at je zou verwachten, maar twee poorten op HIGH zetten is dus niet mogelijk.
Dat kan toch nooit de bedoeling zijn.
Ik snap er niks meer van.
Dit gedrag heeft hij op elke poort.

Hier het testprogramma:
// EN op de mux is hardwired to ground.
// ESP used is: ESP32 WROOM
// Mux used is: 74HC4067 16 port

const byte P0=5;
const byte P1=18;
const byte P2=19;
const byte P3=21;
const byte Sig=4;

void SetMux(byte i){ //selecteert een poort op de mux
digitalWrite(P0,bitRead(i,0));
digitalWrite(P1,bitRead(i,1));
digitalWrite(P2,bitRead(i,2));
digitalWrite(P3,bitRead(i,3));
}

void setup(){
pinMode(P0,OUTPUT);//set de 'poort selector' pinnen in output mode
pinMode(P1,OUTPUT);
pinMode(P2,OUTPUT);
pinMode(P3,OUTPUT);
pinMode(Sig,OUTPUT);//zet de signaal pin in output mode

SetMux(15);//set mux to port 15. (Dit is een willekeurige keuze)
digitalWrite(Sig,HIGH); //set LED on. This works.
delay(2000); //wait a while

SetMux(10);//set mux naar nieuwe willekeurige poort
//after changing port LED goes off.....
}


void loop() {
}

Ik begin echt te denken dat de mux stuk is, maar verder doet hij het goed.
Doe ik nu echt iets heel stoms?
Als iemand mij helpen kan dan heel graag.

Advertisement

Berichten: 3845
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Mux zet outputport op nul na post wissel

Berichtdoor shooter » 11 Apr 2022, 11:30

ja je denkt niet slim.
de multiplexer is niks anders als een keuzeschakelaar je draait naar een bepaalde stand en dan heb je dus de ingang op een van de mogelijke 16 uitgangen gezet. als je dan aan de schakelaar draait dan is er een andere uitgang actief en als je daar een ledje aanhangt zou die ook aangaan. denk wel aan de maximale stroom
paul deelen
shooter@home.nl

Berichten: 4
Geregistreerd: 10 Apr 2022, 15:43

Re: Mux zet outputport op nul na post wissel

Berichtdoor Pieter14 » 13 Apr 2022, 13:57

Bedankt voor de reactie.
Maar ik heb het idee dat ik het niet goed heb uitgelegd.
Als ik een poort selecteer op de mux en die hoog zet (en de led gaat keurig aan), en daarna de mux omzet naar een andere poort, dan zou de originele poort toch hoog moeten blijven staan? Als ik het input signaal niet verander dan gaat die "nieuw geselcteerde poort" uiteraard ook meteen naar hoog, dat snap ik.
Hoe kan ik anders twee rely's of twee leds beide aanzetten via de mux?
Volgens alle fimljes die ik bekijk en beschrijvingen die ik lees op het internet zou het zo moeten werken, en dat lijkt me ook logisch.
Als je van poort wisselt en alle andere poorten de mux gaan naar LOW, dás toch niet de bedoeling? Dan kan je er toch niks mee?
Hopelijk wil je er nog eens met me mee denken.

Berichten: 4
Geregistreerd: 10 Apr 2022, 15:43

Re: Mux zet outputport op nul na post wissel

Berichtdoor Pieter14 » 14 Apr 2022, 14:52

Ik heb nog veel meer zoekwerk gedaan en iemand vertelde me dat dat inderdaad het normale gedrag van een mux zou zijn.
Mijn probleem (van het opvoeren van het aantal poorten naar 16,32 en meer) zou wel kunnen worden opgelost dmv een shift register.
Daar had ik dus nooit van gehoord.
Kan je me vertellen of het zin heeft me te verdiepen in shift registers?
Of is dat weer iets heel anders.
Ik moet uiteindelijk analoog en digitaal kunnen lezen van meer dan 16 pinnen namelijk.
Thanks, ik ben in ieder geval na een week of twee aanklo.... iets verder nu.
Pieter

Berichten: 3845
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Mux zet outputport op nul na post wissel

Berichtdoor shooter » 15 Apr 2022, 09:04

Die multiplexer is bedoeld om 1 kanaal tegelijk te verbinden met een analoge ingang van jouw arduino.
dus zet kanaal dan analogIn dan volgende kanaal etc. en ja je kunt het ook met schuifregisters doen (zijn sneller maar dan heb je wel analoge problemen want dat gaat moeilijker.
paul deelen
shooter@home.nl

Berichten: 4
Geregistreerd: 10 Apr 2022, 15:43

Re: Mux zet outputport op nul na post wissel

Berichtdoor Pieter14 » 17 Apr 2022, 11:37

Hee bedankt, ik loop nu weer in het juiste spoor.
Had mezelf wijsgemaakjt dat een mux de poorten 'latcht' maar dat doet hij dus niet.
Zal een combinatie moeten gaan gebruiken van mux en shift-register op verschillende poorten.
Zit nu de specs te bekijken van de mcp23017 chip.
Nog hoop uitzoek- en testwerk te doen, maar ik kan nu weer verder.
Heel erg bedankt, soms zit je gewoon in een brainlock, en dan kan 1 opmerking je weer aan de gang helpen.
Ik ga er nu weer verder aan werken.
Nogmaals bedankt.
Pieter

Terug naar ESP Hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten