NodeMCU digitalRead

Hoi allemaal,

Ik ben nieuw hier en heb al enige ervaring met Arduino. Ik heb al veel meegelezen met posts en kwam vaak via Google op dit forum uit ;).

Mijn probleem is niet zozeer de sketch denk ik en wellicht dat jullie mij kunnen helpen. Ik wil d.m.v. digitalRead van pin D2 op de NodeMCU esp8266 iets triggeren.
Hiervoor gebruik ik de volgende sketch om te testen:

void setup() {
  pinMode(D1, INPUT);
  pinMode(LED_BUILTIN , OUTPUT );
 
}

void loop () {
  byte val = digitalRead(D1);

  if( val == HIGH){
    digitalWrite(LED_BUILTIN , LOW);
  } else{
    digitalWrite(LED_BUILTIN , HIGH);
  }
}

Ik gebruik een button, 1K weerstand, 3.3v pin en de GND pin van de NodeMCU. Dit werkt goed en wanneer ik de button indruk gaat de LED op de NodeMCU branden en bij loslaten weer uit.

Nu wil ik het LED lampje aan en uit zetten d.m.v. 3.3v op de pin te zetten van een stroombron welke niet afkomstig is van de NodeMCU. Ik heb 12v teruggebracht naar 3.3v d.m.v. een L78L33 voltage regulator met de nodige keramische condensatoren. Als ik de 3.3v welke uit de regulator komt op pin D2 zet gaat de LED random aan en uit. Ik heb geen enkel idee hoe dit komt en hoop dat jullie mij hiermee kunnen helpen.

Alvast bedankt!

image

Hey DuukHarteveld,
Heb je de beide grounds wel aan elkaar gekoppeld?
Dus gnd van je spanningsregelaar en de gnd van je esp.
Alsook een Pull-up of Pull-down weerstand gebruikt?

Hoi GijKieken,

Bedankt voor je antwoord. Het werkt! Had geen idee dat ik beiden grounds aan elkaar moest koppelen. Voor de button heb ik een 10k weerstand als Pull-down weerstand gebruikt.

Nogmaals dank!

Het is altijd fijn om respons te krijgen.
En nog leuker als het werkt.
Op naar je volgende project,