View Single Post
Claryn's Avatar
Trådstarter
Sitat av ivar_oslo Vis innlegg
U betyr at det ikke er buffer på utgangen (unbuffered). Et buffer gir raskere skifte mellom verdiene, men koster litt mer. Uten buffer er bra hvis du har signaler som skifter sakte, eller bruker dem i analogt modus.

Tenk på at CMOS ikke greier å drive en LED. Da trenger du spesielle buffer-icer (driver) eller en transistor. Sjekk databladene for maks utstrøm.
Vis hele sitatet...
Er det trøblete å mikse buffered og unbuffered gates inn i simple kretser?

Du tenker en transistor som har 2 innganger (Vdd og utgang fra IC), og slipper gjennom Vdd dersom det er spenning fra IC?

Hvilke ICer trenger jeg isåfall hvis jeg vil ha LEDs? Har sett mange videoer hvor folk har ICer, og kobler LEDs dirkete på etter dem.

---------------
Jeg har testet litt. Jeg vet at jeg kan lage en krets som denne:


For å få en LED til å lyse ved logisk høy ouput. Jeg vil helst unngå å måtte bruke en transistor, og jeg har faktisk en CD4011UB NAND gate liggende, fra en digitalkrets lab. Heldigivis brukte vi sokkel på kretskortet, så den er ikke loddet fast.

Jeg koblet opp ICen, ga den 5V over Vdd som vist i databladet, og koblet Vss til jord. Deretter satte inputs på en av de fire NAND portene til Vdd, og den andre til jord - resultatet er logisk høy på output 3 (Vdd).
Her har jeg en digital PWM pin 7, som tar input koblet til utgangen.
I koden min:

Kode

const int ledPin = 8;
const int cmosPin = 7;

void setup() {
    pinMode(ledPin, OUTPUT);
    pinMode(cmosPin, INPUT);
    digitalWrite(ledPin, LOW);
}

void loop() {
    int cmosState = digitalRead(cmosPin);

    if (cmosState == HIGH) {
      digitalWrite(ledPin, HIGH);
      delay(1000);
      digitalWrite(ledPin, LOW);
      delay(1000);
    }
}
Sjekker jeg for logisk høy på pinnen (7), og hvis den er høy, får jeg en LED koblet til pin 8 til å lyse. Oppkoblingen er som her:


Lat som at IC på bildet er en CD4011UB, fordi det er det det er.

Problemet er at uansett hvordan jeg endrer input på NAND-gaten (den oransje ledningen), vil ikke LEDen starte å lyse. Hvis jeg derimot trekker ut den gule ledning fra 7, ut av breadboardet, begynner den å blinke.

Jeg prøvde å endre condition i if statement til LOW, men da lyser LEDen uansett, så lenge pin 8 er koblet til.

Hva er det jeg gjør galt her? Burde ikke dette fungere, eller er det noe galt i oppkoblingen min??
Sist endret av Claryn; 17. mars 2017 kl. 00:34. Grunn: Automatisk sammenslåing med etterfølgende innlegg.