Oppitunti 2
Oppitunti 2: Liikennevalot ja servomoottori
Liikennevalojen - koodi
// Liikennevalot
#define red 10
#define yellow 9
#define green 8
void setup(){
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
}
void loop(){
vaihdaValot();
delay(15000);
}
void vaihdaValot(){
// vihreä sammuu, keltainen 3 sekuntia
digitalWrite(green, LOW);
digitalWrite(yellow, HIGH);
delay(3000);
// keltainen sammuu, punainen syttyy ja palla 5 sekuntia
digitalWrite(yellow, LOW);
digitalWrite(red, HIGH);
delay(5000);
// keltainen syttyy 2 seconds (punainen on vielä päällä)
digitalWrite(yellow, HIGH);
delay(2000);
// punainen ja keltainen sammuu, vihreä syttyy
digitalWrite(yellow, LOW);
digitalWrite(red, LOW);
digitalWrite(green, HIGH);
delay(3000);
}
Servomoottorin ohjauksen koodi
// Servomoottorin koodi
#include <Servo.h>
#define SERVOPIN 8
Servo servo;
int angle = 10;
void setup() {
servo.attach(SERVOPIN);
servo.write(angle);
}
void loop()
{
// scan from 0 to 180 degrees
for(angle = 10; angle < 180; angle++)
{
servo.write(angle);
delay(15);
}
// now scan back from 180 to 0 degrees
for(angle = 180; angle > 10; angle--)
{
servo.write(angle);
delay(15);
}
}