U bevindt zich hier: prak EE Arduino-toestanden fotoweerstand, motor oefening  
 ARDUINO-TOESTANDEN
fotoweerstand, motor oefening
servo-oefening
motorshieldoefening
Arduino gecontroleerde robot
pachube-cliënt
toerentalmonitor platendraaier
radiobestuurd wagentje
een aquaponic-systeem
geluidsgenerator
geluidsvervormer
lichtzoeker
ledstripdriver
7 segment display - oefening
99 teller
 PRAK EE
'droogte'-detector
spelen met een ouwe GSM
parallelle poortproefjes
ad-omvormertje
Lappie-detector
regenwatersysteem
dossier simpele leugendetectors
variabel voedinkje
renovatie platendraaiertje
detectorschakeling
renovatie versterker
vintage audio
'vintage'-teller
upgrade klokradio
LFR
lichtdetectie
deurbel
kristalradio
En-schakelingetje
zonnepaneeloefening
flatscreen
Arduino-toestanden
99 teller

FOTOWEERSTAND, MOTOR OEFENING
 

Dc-motortje laten draaien afhankelijk van de lichtinval op een foto-weerstand.



 

schema DC-motortje, optocoupler, controller. Met behulp van een opto-coupler wordt het dc-motortje aan de controller verbonden.




 

Hieronder een programma en een filmpje van een iets uitgebreider oefening op dc-motortjes. Er hangen nog enkele extra ledjes aan de digitale uitgangspoorten. Ook is in het programma nog sprake van een 2de fotoweerstand aan de analoge ingang.


 

int omgevingssensor = A5;

int kopsensor = A0;

int rechtsvooruitled = 7;

int linksvooruitled = 6;

int rechtsachteruitled = 9;

int linksachteruitled = 8;

int onderste_grenswaarde = 200;

int bovenste_grenswaarde = 1400;

int delta = 10;





void setup()
{

Serial.begin(9600);

pinMode(rechtsvooruitled, OUTPUT);

pinMode(linksvooruitled, OUTPUT);

pinMode(rechtsachteruitled, OUTPUT);

pinMode(linksachteruitled, OUTPUT);


}





void loop()
{


int omgevingswaarde = analogRead(omgevingssensor);

Serial.print ("omgevingswaarde ");

Serial.println(omgevingswaarde);

int kopwaarde = analogRead(kopsensor);

Serial.print ("kopwaarde ");

Serial.println(kopwaarde);

if (omgevingswaarde >1000)

{

delta = 5;

}

if ((omgevingswaarde < 1000) and (omgevingswaarde >800))

{

delta = 10;

}

if (omgevingswaarde < 800)

{

delta = 15;

}

onderste_grenswaarde = omgevingswaarde - delta;

bovenste_grenswaarde = omgevingswaarde + delta * 2;

if ( (kopwaarde < bovenste_grenswaarde) and (kopwaarde > onderste_grenswaarde))

{
Serial.println("vooruit");

digitalWrite(rechtsvooruitled, HIGH);

digitalWrite(linksvooruitled, HIGH);

digitalWrite(rechtsachteruitled, LOW);

digitalWrite(linksachteruitled, LOW);


}


if ( kopwaarde >= bovenste_grenswaarde)

{

Serial.println("achteruit");

digitalWrite(rechtsvooruitled, LOW);

digitalWrite(linksvooruitled, LOW);

digitalWrite(rechtsachteruitled, HIGH);

digitalWrite(linksachteruitled, HIGH);

delay(1000);

digitalWrite(rechtsachteruitled, LOW);

digitalWrite(linksachteruitled, LOW);

delay(500);



}


//delay(2000);


}


 



 

Meer weten over de Arduino-controller?
Ga naar deze site !