Es ist ein einfaches System, das Intel Galileo Gen 2 und Sensoren verwendet, um die Tuch-Linie zu automatisieren. Es gibt zwei Servomotor, die am Ende der Linie Tuch befestigt sind und eine feuchte-Sensor, der um Regen zu ermitteln.
Wenn der Feuchtigkeitssensor Regen spürt, aktiviert es hängen Linie Übersiedlung nach Schatten durch Verschieben des Servomotors. Wenn die Luftfeuchtigkeit Sensor Sensoren es wird weniger Feuchtigkeit in der Luft ist, dass Sonnenlicht vorhanden ist, aktiviert die Hangline, von Schatten zu bewegen und kam zum Vorschein. Es verfügt über ein LCD Status angezeigt.
Unter Verwendung der Intel Ardiuino IDE. Beispiel-Code:
PS: In diesem Code habe ich anstelle von Feuchte-Sensor Touch.
Sweep
von BARRAGAN / / dieser Beispielcode ist in der Public Domain.
Int-Touch = 7;
Int Summer = 3;
#include"rgb_lcd.h";
#include Rgb_lcd lcd;
#include Servo Myservo; Erstellen Sie Servo-Objekt um ein Servo Steuern
maximal acht Servo-Objekte kann erstellt werden
Int pos = 0;
Variable, die Servoposition speichern
void setup() {/ / der LCD Anzahl der Spalten und Zeilen einrichten:
myservo.Attach(5); legt das Servo an Pin 5 auf das Servo-Objekt
PinMode (touch, Eingabe);
pinMode(buzzer,OUTPUT);
LCD.Begin (16, 2); Drucken Sie eine Nachricht an den LCD.
LCD.Print ("klarem Wetter!");
lcd.setRGB (0, 255,0);
Delay(1000); }
void loop() {}
Int Zustand = digitalRead(touch);
{If(State==High)}
LCD.Clear();
LCD.Print ("Rain! Rain!");
lcd.setRGB(255,0,0);
für (Int ich = 0; ich < 3; i ++) {}
DigitalWrite (Summer, HIGH);
Delay(500);
DigitalWrite (Summer, LOW);
Delay(500); }
für (pos = 0; pos < 180; pos += 20) / / reicht von 0° bis 180° {}
in Schritten von 1 Grad
myservo.Write(POS); Servo zu gehen, um die position in der Variable "pos" zu sagen
Delay(15); wartet 15ms für das Servo in die Position zu erreichen
}
für (pos = 180; pos > = 1; pos = 1) / / geht von 180 Grad bis 0 Grad
{
myservo.Write(POS); Servo zu gehen, um die position in der Variable "pos" zu sagen
Delay(15); wartet 15ms für das Servo in die Position zu erreichen
}
LCD.Clear();
LCD.Print ("klarem Wetter!");
lcd.setRGB (0, 255,0);
}
Else {DigitalWrite (Summer, LOW);}}