Bewässerung-Logik-Controller/Projekt-Log (6 / 12 schritt)

Schritt 6: Programmierung Phase


Nun, ich eine Checkliste hatte zu gehen aus gehe ich schnell um Schreiben eines Skripts in mein Arduino IDE (integrierte Entwicklungsumgebung) zu arbeiten. Ich werde nicht um zu langweilen Sie mit allem, was in meinem Skript, es geht auch unzähligen YouTube-Videos zeigen, wie Sie ein Skript schreiben, aber ich werde erklären, was passiert, im Skript.

Ich benutze mein Arduino Uno Atmel 328 Chips programmieren.

Meine ein-/Ausgänge

Ausgang = const Int Pivotoneerror = 7; Dies ist eine rote LED, Pivot ein Fehler

Ausgang = const Int Pivottwoerror = 8; Dies ist eine rote LED, Pivot zwei Fehler hinweisen

Ausgang = const Int Runled = 9; Dies ist eine gelbe LED um anzuzeigen, dass System in einem Lauf Zustand befindet

Ausgang = const Int Wiederöffnen = 10; Dies ist eine Schaltfläche "Start", um System zu starten

Eingabe = const Int EngineRly = 11; Dies ist die Ausgabe für Relais, Murphy Schalter

Ausgang = const Int Testlight = 13; Dies ist eine leichte Kommunikationstest, beim Test auf remote-Radio das Licht Taste wird lite

Die Bibliotheken, die ich verwendet

#include //Xbee Bibliothek. Quelle: http://code.google.com/p/xbee-arduino/

Das SETUP-Skript zu starten ich Xbee Serial Port mit:

XBee.Begin(9600);

Nun, für die Hauptschleife mein Arduino Programm, es sieht folgendermaßen aus...

void loop() {}

Lesen Sie den Zustand der Schaltfläche "Start" in einer lokalen Variablen:

StartButtonRead = digitalRead(startbutton);

StartButtonState = StartButtonRead;

Wenn die Schaltfläche "Start" gedrückt und der Zustand der Schaltfläche ist nicht dasselbe, wie es vorher war, ändert den Status des START

Wenn (StartButtonState == HIGH & & StartButtonState! = StartButtonLastState) {}

START =! START;

}

Stellen Sie sicher, dass das nächste Mal durch die Schlaufe StartButtonLastState starten Schaltfläche Status entspricht

StartButtonLastState = StartButtonRead;

Wenn START auf hoch festgelegt ist, das Motor Relais energetisieren und run-LED

Wenn (START == True) {}

DigitalWrite (EngineRly, HIGH);

DigitalWrite (Runled, HIGH);

}

Wenn START auf niedrig eingestellt ist, deenergize Motor Relais und run-LED

Wenn (START == False) {}

DigitalWrite (EngineRly, LOW);

DigitalWrite (Runled, LOW);

}

der Versuch, ein Paket von Xbee lesen

xbee.readPacket();

Wenn (xbee.getResponse().isAvailable()) {}

haben Sie etwas

Wenn (xbee.getResponse().getApiId() == ZB_IO_SAMPLE_RESPONSE) {}

xbee.getResponse().getZBRxIoSampleResponse(ioSample);

Überprüfen Sie, ob Xbee Check-in durch den Vergleich IoSample Xbee Adresse mit Xbee-Adresse habe ich in Programmierung

Wenn (ioSample.getRemoteAddress64().getLsb() == PivotoneaddressLSB) {}

Pivotonecheckin = millis(); Mark schwenken ein Xbee als eingecheckt

}

ElseIf (ioSample.getRemoteAddress64().getLsb() == PivottwoaddressLSB) {}

Pivottwocheckin = millis(); Markierungen drehen zwei Xbee als eingecheckt

}

sehen Sie, ob die Pin wollen wir niedrig ist

Wenn (! ioSample.isDigitalOn(1)) {}

Es ist ein Fehler heruntergefahren Motor

START = False;

können überprüfen, welche Radio aus, und senden Sie es an das Display.

Wenn (ioSample.getRemoteAddress64().getLsb() == PivotoneaddressLSB) {}

DigitalWrite (Pivotoneerror, HIGH); LED1 schaltet sich für Fehler

}

ElseIf (ioSample.getRemoteAddress64().getLsb() == PivottwoaddressLSB) {}

DigitalWrite (Pivottwoerror, HIGH); LED2 schaltet sich für Fehler

}

}

Wenn (! ioSample.isDigitalOn(2)) {}

Zyklus abgeschlossen ist, beenden Sie Motor

START = False;

}

{If(!ioSample.isDigitalOn(3))}

Weg, um Knoten zu testen, indem Sie eine LED einschalten

DigitalWrite (Testlight, HIGH);

}

Else {}

digitalWrite(testlight,LOW);

}

}

}

prüft, ob Xbees eingecheckt haben in den letzten 1 min., wenn sie nicht; Herunterfahren (Xbees sind

programmiert, Einchecken alle 20 sec.) Wenn Xbee nicht eingecheckt hat im System herunter und schalten Sie

Appropreat zeigen die Fehler-LED

Wenn (millis() - Pivotonecheckin > = 60000) {}

START = False;

DigitalWrite (Pivotoneerror, HIGH); LED1 schaltet sich für Fehler

}

Wenn (millis() - Pivottwocheckin > = 60000) {}

START = False;

DigitalWrite (Pivottwoerror, HIGH); LED2 schaltet sich für Fehler

}

} / / Ende der Schleife

In Verbindung stehende Artikel

Arduino-automatische Bewässerung Garten-Projekt

Arduino-automatische Bewässerung Garten-Projekt

Was Ihr betrachten oben ist meine gesamte Projekt in seiner "Gehäuse. Ich machte mich ein Problem zu lösen, wenn Sie dieses Projekt starten, das zweifach war. Es war mir vertraut machen, einige der Grundlagen der Arduino-Umfeld und der andere wollte
Esp8266 Bewässerung Controller

Esp8266 Bewässerung Controller

Ich verwende derzeit einen Orbit-Controller, um meine drei Zonensystem nach Hause Bewässerung zu kontrollieren. Dies ist ein in der Lage, die ein sehr detailliertes System hat, das beinhaltet scheduling-Bewässerung Veranstaltungen zu einem Kalender,
Raspberry Pi Bewässerung Controller

Raspberry Pi Bewässerung Controller

Gartenarbeit verbessert die Gesundheit und Lebensqualität, verbinden uns mit unserer Umwelt. Darüber hinaus können Sie mit sehr geringem Aufwand Bio-Obst und Gemüse essen. Doch für all diese fantastischen Vorteile daran zu denken, Wasser noch einen R
Bewässerung-Controller

Bewässerung-Controller

wenn Sie wollen, ein DIY Arduino basierte Steuerung der Bewässerung für Ihren Garten, diese Regenmacher -Projekt kann Ihnen helfen.Die Rainmake kann bis zu fünf Zonen der Bewässerung verwalten. Programmierbar für jeden Tag der Woche.Regenmacher basie
APIS - automatische Bewässerung der Anlage

APIS - automatische Bewässerung der Anlage

Die Geschichte:Es gibt etliche Instructables zum Thema Pflanze gießen, so dass ich kaum etwas originelles hier erfunden. Was macht dieses System anders ist Programmierung und Anpassung , die ging hinein, damit bessere Steuerung und Integration in das
GSM-basierte automatisierte Bewässerung-System mit Regen-Pistole

GSM-basierte automatisierte Bewässerung-System mit Regen-Pistole

Digitalisierte Neuzeit unseres 21. Jahrhunderts braucht Automatisierung in jedem Sektor. Kombination von Technologie, um die Glaubwürdigkeit einer anderen Technologie zu erhöhen, ist überhaupt keine sehr gute Idee. Indien ist ein Land, wo die Landwir
Raspberry Pi kontrollierte Bewässerung-System

Raspberry Pi kontrollierte Bewässerung-System

Jedes Jahr im Frühling meine Frau bekommt wirklich ehrgeizig und Pflanzen einen großen Gemüsegarten. Wie im Sommer auf Ehrgeiz abwechselnd zu Faulheit und leider zieht viele Pflanzen sterben einen langsamen, vernichtenden Tod von Vernachlässigung auf
Automatische Bewässerung Pflanzen und Boden Feuchtigkeit spüren

Automatische Bewässerung Pflanzen und Boden Feuchtigkeit spüren

Es gibt viele solche instructable erstellt. Aber das Problem ist mit dem Erhalt der Materialien. Ich bin dies schaffen, damit die Menschen wissen, welche Ausrüstung zu kaufen in Indien und Gewusst wie: verbinden sie und machen sie arbeiten.Problemste
Automatische Anlage Bewässerung Gerät (einfache Version)

Automatische Anlage Bewässerung Gerät (einfache Version)

diese Instructable lernen Sie, wie einfach eine automatische Anlage Wasser machen-äh. Ideal, wenn Sie im Urlaub oder wenn Sie nicht denken Sie daran, Ihre Pflanzen Wasser gehst. Es wird eine bestimmte Dosierung des Wassers auf welchem Zeitplan auf ei
Arduino automatische Bewässerung-System für Pflanzen Sprinkler

Arduino automatische Bewässerung-System für Pflanzen Sprinkler

letzten Monat Elecrow haben aus dem ursprünglichen Büro verlassen und zog in ein neues Büro. Wir werden unsere original Büro vermissen, wo wir so hart für mehr als zwei Jahre gearbeitet, werden wir vermissen, alles hier, Schreibtische, die Fenster un
SMS gesteuert Wireless-Bewässerungs-System

SMS gesteuert Wireless-Bewässerungs-System

13.02.11 aktualisieren: Abstimmung für den Sparkfun Microcontroller Wettbewerb hat begonnen. Bitte VOTE für mich!26.02.11 aktualisieren: Ich gewann einen zweiten Preis!! Huzzah! Vielen Dank für all die Stimmen Jungs!17.03.11 aktualisieren: Ich würde
Eine Bewässerung Steuerung, die nach Hause vernetzt werden kann

Eine Bewässerung Steuerung, die nach Hause vernetzt werden kann

Ein paar Wochen her, veröffentlichte ich eine tolle kleine Controllermodul, die 6 Relais können von einem Computer über ein Netzwerk gesteuert werden zur Verfügung gestellt.  Nachdem ich es veröffentlicht, bekam ich zu denken, dass das gleiche grundl
Selbst Bewässerung Garten Gehäuse

Selbst Bewässerung Garten Gehäuse

jedes Jahr die Rehe und Hasen haben unserem Garten geerntet nachdem alle unsere harte Arbeit den ganzen Sommer so ist dies das Jahr endlich dieses Problem zu lösen. Das Projekt ist ein selbst gießen geschlossenen Garten. Diese erste instructable befa
Automatische Bewässerung von Topfpflanzen mit Intel Edison

Automatische Bewässerung von Topfpflanzen mit Intel Edison

Automatische Bewässerung von Topfpflanzen mit Intel Edison... Feuchtesensor erkennt den niedrigen Feuchtigkeitsgehalt des Bodens und aktiviert die Wasserpumpe oder das Magnetventil, das den Fluss des Wassers kontrolliert. Wenn das benötigte Wasser fü