GSM-basierte automatisierte Bewässerung-System mit Regen-Pistole (5 / 5 schritt)

Schritt 5: Systemprogrammierung


["#include

#define Lcdport P0

#define Adcport P1

sBIT Enterkey = P2 ^ 5;

sBIT Downkey = P2 ^ 6;

sBIT Upkey = P2 ^ 7;

sBIT Rs = P2 ^ 0;

sBIT Rdwr P2 = ^ 1;

sBIT Lcde P2 = ^ 2;

sBIT Relais = P2 ^ 3;

sBIT Summer = P2 ^ 4;

sBIT Intr = P3 ^ 0;

sBIT Wr = P3 ^ 1;

sBIT rd = P3 ^ 2;

unsigned Char Adcdata;

unsigned Char Referenceval;

unsigned Char Enterkeyflag;

unsigned Char Enterkeycount;

unsigned Char Buzzercount;

unsigned Char Buzzerentrycount;

unsigned Char Loopflag = 1;

unsigned Char Adcdatagreaterflag;

const unsigned Char slogan1 [] = "Boden Bewässerung";

const unsigned Char slogan2 [] = "Contrl System";

const unsigned Char slogan3 [] = "Referenzwert";

const unsigned Char slogan4 [] = "Boden Wert";

void delay();

void lcdinit();

void clr_lcd();

void dispslogan(char*);

void Senddata(unsigned char);

void Send_command(unsigned char);

void next_line();

void delay1();

unsigned Char Xch(unsigned char);

void timer0() Interrupt 1

{

Buzzercount ++;

TF0 = 0;

TH0 = 00;

TL0 = 00;

If(buzzercount==100)

{

Buzzercount = 1;

Summer = 0;

ET0 = 0;

TR0 = 0;

}

}

void longdelay()

{

unsigned Int i, j;

für (ich = 0; ich < 100; i ++)

{

für (j = 0; j < 400; j++)

{}

}}

void adccontrol()

{

WR = 0;

Delay();

WR = 1;

Delay();

while(intr == 1); / * warten bis das INTR-Signal macht * /

/ * High-Low-Übergang Angabe * /

/ * Umstellung

/ * Lesen den Spannungswert vom Hafen * /

Delay();

RD = 0;

Delay();

Delay();

Adcdata = Adcport;

RD = 1;

}

void Sndconvdata (unsigned Char Convdata)

{

unsigned Char convdata1;

convdata1 = Convdata/10;

SendData (convdata1/10 + 48);

SendData (convdata1 % 10 + 48);

SendData (Convdata % 10 + 48);

Dispslogan ("%");

}

void upkeychk()

{

If(upkey==0)

{

Referenceval ++;

send_command(0xc4);

sndconvdata(referenceval);

}}

void downkeychk()

{

If(downkey==0)

{

Referenceval--;

send_command(0xc4);

sndconvdata(referenceval);

}}

void enterkeychk()

{

If(enterkey==0)

{

Enterkeycount ++;

If(enterkeycount==1)

{

Enterkeyflag = 1;

clr_lcd();

dispslogan(slogan3);

send_command(0xc4);

sndconvdata(referenceval);

}}} “]

["/ *** AB DER TEMPERATUR CONTROLLER PROJEKT *** /

void main()

{

Relais = 0a;

Summer = 0;

TMOD = 0 X 01;

TH0 = 00;

TL0 = 00;

EA = 1;

ET0 = 0;

TR0 = 0;

Rdwr = 0;

Delay();

lcdinit();

clr_lcd();

dispslogan(slogan1);

next_line();

dispslogan(slogan2);

longdelay();

clr_lcd();"

["/ *** AB DER MAIN LOOP *** /

while(enterkeycount<2)

{

enterkeychk();

If(enterkeyflag)

upkeychk();

If(enterkeyflag)

downkeychk();

}

RD = 1;

WR = 1;

Intr = 1;

clr_lcd();

dispslogan(slogan4);

while(1)

{

Delay();

adccontrol();

Delay();

send_command(0xc4);

sndconvdata(2*adcdata);

Wenn (2 * Adcdata > Referenceval)

{

If(!adcdatagreaterflag)

{

Adcdatagreaterflag = 1;

Buzzerentrycount ++;

Lcde = 1;

Relais = 0;

If(buzzerentrycount==1)

{

Summer = 1;

ET0 = 1;

TR0 = 1;

}}}”]

["/ *** FUNKTION FÜR DEN AUSTAUSCH VON LSBYTE UND MSBYTE DER DATEN *** /

unsigned Char Xch (unsigned Char data1)

{

unsigned Char temp, temp1;

Temp = data1;

Data1 = data1 >> 4;

Temp1 = data1;

Data1 = Temp;

Data1 = data1 << 4;

Data1 = data1|temp1;

Return(Data1);

} “]

["/ *** INITIALISIERUNG DES LCD *** /

void lcdinit()

{

clr_lcd(); / * FUNKTIONEN * /

send_command(0x28);

Delay();

send_command(0x28);

Delay();

send_command(0x28);

Delay();

send_command(0x06); EINGABEMODUS

Delay()

send_command(0x0e); ZEIGEN EIN/AUS AN

Verzögerung)

clr_lcd();

} “]

["/ * FUNKTION ZUM ANZEIGEN VON DATEN AUF DEM LCD *** /

void Dispslogan (unsigned Char * p)

{

unsigned Char data1;

while(*p)

{

Data1 = * p;

SendData(Data1);

p ++;

}

} “]

["/ *** FUNKTION FÜR SENDEN LCD-BEFEHLE *** /

void Send_command (unsigned Char data1)

{

unsigned Char Newdata;

RS = 0;

Delay();

Lcde = 1;

Delay();

Lcdport = data1;

Lcde = 0;

Delay();

Lcde = 1;

newData=xch(Data1);

Lcdport = Newdata;

Delay();

Lcde = 0;

Delay();

RS = 1;

} “]

["/ *** FUNKTION ZUM SCHREIBEN VON DATEN AUF DEM LCD-*** /

void Senddata (unsigned Char data1)

{

unsigned Char Newdata;

RS = 1;

Delay();

Lcde = 1;

Delay();

Lcdport = data1;

Lcde = 0;

Delay();

Lcde = 1;

newData=xch(Data1);

Lcdport = Newdata;

Delay();

Lcde = 0;

Delay();

RS = 0;

} “]

["/ *** verzögern für 20 Micro zweiter *** /

void delay()

{

unsigned Char i, j;

für (ich = 0; ich < 80; i ++)

{

für (j = 0; j < 120; j++)

{}

}}”]

["/ *** BEFEHL DAFÜR LCD-CURSOR AUF DIE ZWEITE ZEILE *** /

void next_line()

{

send_command(0xc0);

Delay();

} “]

["/ *** BEFEHL FÜR CLEARING LCD- UND BRINGT LCD-CURSOR AUF DIE ERSTE ZEILE *** /

void clr_lcd()

{

send_command(0x01);

Delay();

send_command(0x02);

Delay();

} “]

In Verbindung stehende Artikel

Arduino - LCD 1602A automatische Anlage Bewässerung System mit Bodenfeuchtesensor

Arduino - LCD 1602A automatische Anlage Bewässerung System mit Bodenfeuchtesensor

Hallo Welt! Heute habe ich eine neue Gold beschichtet Bodenfeuchtesensor für meine Website und ich wollte Test es dieser Sensor natürlich ein bisschen besser ist dann regelmäßig auf dem Markt und die vorangegangenen habe ich der Sensor beschichtet is
Esp8266 WiFi-Pflanze-Bewässerungs-System

Esp8266 WiFi-Pflanze-Bewässerungs-System

In diesem Tutorial zeigen wir wie man Pflanzen Bewässerungs-System mit ESP8266 Arduino Bibliothek und EasyIoT Server (Windows oder Himbeere) zu bauen. Mit Web-Interface können wir Wasser Pumpe und Boden Feuchtigkeit fernsteuern. Jetzt können Sie in d
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
Arduino gesteuert Anlage Bewässerung System und benutzerdefinierte AC Steckdosen Steckdosen

Arduino gesteuert Anlage Bewässerung System und benutzerdefinierte AC Steckdosen Steckdosen

Dies ist ein Projekt zur Erstellung einer automatischen Anlage Bewässerung-System und ein AC Steckdosen Steckdose, die Sie mit jeder Mikrocontroller gesteuert. In meinem Beispiel wird ein Ruggeduino verwendet, aber das ist im Wesentlichen ein Arduino
Micro-Bewässerungs-System für Zimmerpflanzen

Micro-Bewässerungs-System für Zimmerpflanzen

Gießen Ihre Pflanzen in der Wohnung, wenn Sie im Urlaub sind, ist immer ein Problem. Du musst einen Freund bitten, jeder alle paar Tage zu helfen, Vertrauen Sie ihm oder ihr mit Ihrem Schlüssel. Eine andere Lösung ist über Bewässerung, aber dies funk
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
Intelligente Bewässerung-System

Intelligente Bewässerung-System

Dieses Projekt ist für den Digilent Design Contest 2015 erstellt. Es ist ein intelligentes Bewässerungssystem, der durch ein ChipKit MX3-Board gesteuert. Der Vorstand wird von einem android-Gerät überwacht, aber kann Stand-alone arbeiten. Das System
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
Super einfache Bewässerungs-System

Super einfache Bewässerungs-System

Ich mag wirklich grüne Pflanzen. Ich werde immer Blumen und Gemüse zu Hause. Ich Reise viel, aber jedes Mal, wenn ich auf Reisen bin ich zurückkehren und feststellen, dass die meisten Pflanzen tot sind, weil sie nicht genug Wasser, speziell im Sommer
Selbst Bewässerung Zimmerpflanze (mit Füllstandsanzeige)

Selbst Bewässerung Zimmerpflanze (mit Füllstandsanzeige)

Ich mag die Idee eines Pflanze gießen, so dass ich dachte, ich würde man selbst. Dies ist das erste, was ich machte.Schritt 1: Machen Sie den Docht Wasser Was Sie benötigen1 Keramik Blumentopf.2 einen kleinen Plastikbehälter, der nur 1/2-Wege auf den
Passive Bewässerung System Sand Filter aus Schrott!

Passive Bewässerung System Sand Filter aus Schrott!

Meine gut war die Sprinkler einstecken, verwende ich für die Bewässerung mit Sandpartikel, die gut Kopf durchlaufen. Müde von der Reinigung der Sprinkler-Bildschirme beschloss ich, das Problem an der Wurzel zu bekämpfen und den Sand zu fangen, als es
Regner-Bewässerung System-Timer

Regner-Bewässerung System-Timer

Dies ist im wesentlichen ausgefallene Timer(s) mit einer Handbetätigung, ausgeführt, dass eine 8 Zone retikuliert Bewässerungssystem, programmierbar über ein Web-Interface werden soll.Schritt 1: ZutatenIch lebe in Bunbury, Western Australia, Ihre Zul
Mini-Gewächshaus-Bewässerungs-System

Mini-Gewächshaus-Bewässerungs-System

ich habe mir eine kleine "Foliengewächshaus" Sache aus der lokalen Garten-Center. Es ist toll, es tut genau das, was ich brauche für einen kleinen Garten und zu billig war. Ich benutze es um einige Sämlinge kultivieren, die ich in den Garten aus
Multi-DIY Feuchtesensor + Bewässerung System

Multi-DIY Feuchtesensor + Bewässerung System

Oft eine große Menge an Pflanzen, Wasser wird eine langwierige Aufgabe und mit verschiedenen Arten von Pflanzen erfordert mehr Aufmerksamkeit, da jede Art unterschiedlich viel Wasser verbraucht. Also haben meine Freunde und ich beschlossen, zur Umset