Het is een eenvoudig systeem dat de intel galileo gen 2 en sensoren gebruikt om het automatiseren van de lijn van de doek. Er zijn twee servomotor die worden bevestigd aan het einde van de lijn van de doek en een vochtigheid sensor die de regen detecteert.
Als de vochtigheid sensor regen zintuigen, activeert het de lijn van de hang naar schaduw door het bewegen van de servomotor. Als de vochtigheid sensor sensoren er minder vocht in de lucht die is er zonlicht, het activeert de hangline te verplaatsen van de tint en kreeg aan het licht. Het heeft een LCD status weergeven.
Het gebruik van de Intel ardiuino IDE. De code van de steekproef:
PS: In deze code gebruikte ik Touch in plaats van de vochtigheid sensor.
Vegen
door BARRAGAN / / deze voorbeeldcode is in het publieke domein.
int touch = 7;
int zoemer = 3;
#include"rgb_lcd.h";
#include rgb_lcd lcd;
#include servo myservo; maken van servo-object om te bepalen van een servo
maximaal acht servo-objecten kan worden gemaakt
int pos = 0;
variabele op te slaan van de servo positie
VOID Setup {/ / de LCD's aantal kolommen en rijen instellen:
myservo.attach(5); hecht de servo op pin 5 aan de servo-object
pinMode (touch, INPUT);
pinMode(buzzer,OUTPUT);
LCD.begin (16, 2); Een bericht op het LCD-scherm afdrukt.
LCD.Print ("helder weer!");
lcd.setRGB (0, 255,0);
delay(1000); }
void loop {}
int staat = digitalRead(touch);
if(State==High) {}
LCD.Clear();
LCD.Print ("Rain! Rain!");
lcd.setRGB(255,0,0);
for (int i = 0; ik < 3; i ++) {}
digitalWrite (zoemer, hoge);
delay(500);
digitalWrite (zoemer, laag);
delay(500); }
voor (pos = 0; pos < 180; pos += 20) / / gaat van 0 graden tot 180 graden {}
in stappen van 1 graad
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(15); wacht 15ms voor de servo te bereiken de positie
}
voor (pos = 180; pos > = 1; pos-= 1) / / gaat van 180 graden tot 0 graden
{
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(15); wacht 15ms voor de servo te bereiken de positie
}
LCD.Clear();
LCD.Print ("helder weer!");
lcd.setRGB (0, 255,0);
}
else {digitalWrite (zoemer, laag);}}