GSM gebaseerd geautomatiseerd irrigatiesysteem met behulp van regen-pistool (5 / 5 stap)

Stap 5: Systeem programmering


["#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 relay P2 = ^ 3;

SBIT zoemer 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 [] = "Bodem irrigatie";

Const unsigned char slogan2 [] = "Contrl systeem";

Const unsigned char slogan3 [] = "referentiewaarde";

Const unsigned char slogan4 [] = "Bodem waarde";

nietig delay();

nietig lcdinit();

nietig clr_lcd();

nietig dispslogan(char*);

nietig senddata(unsigned char);

nietig send_command(unsigned char);

nietig next_line();

nietig delay1();

unsigned char xch(unsigned char);

ongeldig timer0() interrupt 1

{

buzzercount ++;

TF0 = 0;

TH0 = 00;

TL0 = 00;

if(buzzercount==100)

{

buzzercount = 1;

zoemer = 0;

ET0 = 0;

TR0 = 0;

}

}

VOID longdelay()

{

unsigned int i, j;

voor (ik = 0; ik < 100; i ++)

{

voor (j = 0; j < 400; j ++)

{}

}}

VOID adccontrol()

{

WR = 0;

delay();

WR = 1;

delay();

while(intr == 1); / * wachten totdat het signaal INTR maakt * /

/ * hoge-naar-low overgang die aangeeft * /

/ * voltooiing van conversie

/ * Luiden naar de waarde van de spanning van de haven * /

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);

}}} “]

["/ *** BEGINNEN DE TEMPERATUUR CONTROLLER PROJECT *** /

void main()

{

relay = 0a;

zoemer = 0;

TMOD = 0X01;

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();"

["/ *** STARTEN VAN DE 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);

Als (2 * adcdata > referenceval)

{

if(!adcdatagreaterflag)

{

adcdatagreaterflag = 1;

buzzerentrycount ++;

lcde = 1;

relay = 0;

if(buzzerentrycount==1)

{

zoemer = 1;

ET0 = 1;

TR0 = 1;

}}}”]

["/ *** FUNCTIE OM TE SWAPPEN, LSBYTE EN MSBYTE DE GEGEVENS *** /

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);

} “]

["/ *** INITIALISATIE VAN LCD *** /

VOID lcdinit()

{

clr_lcd(); / * FUNCTIE SET * /

send_command(0x28);

delay();

send_command(0x28);

delay();

send_command(0x28);

delay();

send_command(0x06); MODUS GEGEVENSINVOER

delay()

send_command(0x0e); WEERGEVEN AAN/UIT

vertraging)

clr_lcd();

} “]

["/ * FUNCTIE VOOR HET WEERGEVEN VAN GEGEVENS OP HET LCD-SCHERM *** /

VOID dispslogan (unsigned char * p)

{

unsigned char data1;

while(*p)

{

Data1 = * p;

SendData(Data1);

p ++;

}

} “]

["/ *** FUNCTIE VOOR VERZENDEN LCD OPDRACHTEN *** /

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;

} “]

["/ *** FUNCTIE VOOR SCHRIJVEN GEGEVENS OP DE 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;

} “]

["/ *** uitstellen voor micro-20 tweede *** /

VOID delay()

{

unsigned char i, j;

voor (ik = 0; ik < 80; i ++)

{

voor (j = 0; j < 120; j ++)

{}

}}”]

["/ *** OPDRACHT OM LCD-CURSOR OP DE TWEEDE REGEL *** /

VOID next_line()

{

send_command(0xc0);

delay();

} “]

["/ *** OPDRACHT VOOR CLEARING LCD EN BRENGEN LCD-CURSOR OP EERSTE LIJN *** /

VOID clr_lcd()

{

send_command(0x01);

delay();

send_command(0x02);

delay();

} “]

Gerelateerde Artikelen

GSM gebaseerde Relais schakelen met behulp van de Arduino UNO

GSM gebaseerde Relais schakelen met behulp van de Arduino UNO

Hallo vrienden, Pratik hier...We gaan bespreken hier hoe om te schakelen van Relais via gsm module gebruikt en arduino en Gsm 900A.vereist materiaal:1. de Arduino uno2. Gsm 900A module.3. 2 Relais module.4. 12v 1amp of 2amp adapter voor Gsm-module.5.
Gebaar gebaseerd Home Automation met behulp van Intel Edison (Intel IoT))

Gebaar gebaseerd Home Automation met behulp van Intel Edison (Intel IoT))

Gebaar gebaseerd huisautomatisering is de nieuwe manier om te interageren met elektrische apparaten beschikbaar in ons huis. In dit project we zullen worden met behulp van sensoren in plaats van de camera voor gebaar erkenning, omdat het biedt betere
Geautomatiseerde gordijn met behulp van intel Edison & thethings. IO

Geautomatiseerde gordijn met behulp van intel Edison & thethings. IO

Keer gaat door en dingen krijgen oud en dus, ze eindelijk breken. Jaloezieën zijn een uitzondering niet.Dit is een van de redenen waarom we het kopen van gordijnen. Niet alleen voor esthetica maar ook voor het filtreren van de hoeveelheid licht in on
Geautomatiseerde verlichting met behulp van DMX en Perl

Geautomatiseerde verlichting met behulp van DMX en Perl

waarom automatiseren uw verlichting?Nou, om eerlijk te zijn, de meeste van mijn huis is geautomatiseerd zo leek het duidelijk om te doen.Er zijn tal van voordelen in het automatiseren van onderdelen van uw huis, verlichting in het bijzonder gewoon ma
DIY geautomatiseerd vuurwerk met behulp van Smartphone

DIY geautomatiseerd vuurwerk met behulp van Smartphone

Hoi, is dit instructable op een 8-kanaals geautomatiseerde draadloze vuurwerk controller die kan worden bediend met behulp van een android-telefoons.Dit project bestaat voornamelijk uit een micro-controller, estafette, Bluetooth-module, Verwarming sp
RFID gebaseerd tolhuisje passeren met behulp van de 8051 Microcontroller

RFID gebaseerd tolhuisje passeren met behulp van de 8051 Microcontroller

Video toont werking van RFID gebaseerd tolheffingssysteem plaza met 8051 microcontroller (89c 51)Voor circuit diagram en bron code in C bezoek RFID Toll Plaza
PWM gebaseerd LED controle met behulp van drukknoppen, Raspberry Pi 2 en Scratch

PWM gebaseerd LED controle met behulp van drukknoppen, Raspberry Pi 2 en Scratch

Ik probeerde op zoek naar een manier om uit te leggen hoe PWM werkte aan mijn studenten zodat ik mezelf de taak van het proberen om controle van de helderheid van een LED met 2 drukknoppen - één knop verhoging van de helderheid van een LED en de ande
SMS verzenden vanuit een PHP website via HTTP met behulp van de Raspberry Pi

SMS verzenden vanuit een PHP website via HTTP met behulp van de Raspberry Pi

Achtergrond van het verzenden van SMS vanaf website met Raspberry PiBent u nieuwsgierig naar de meest eenvoudigste manier om SMS te verzenden vanaf uw website? Tegenwoordig, ik ben echt geïnteresseerd zijn in het gebied van Internet of Things (IoT) g
GSM gebaseerd veelzijdige Robotic voertuig met behulp van PIC Microcontroller

GSM gebaseerd veelzijdige Robotic voertuig met behulp van PIC Microcontroller

dit project is ontworpen als een robot voertuig dat kan worden gecontroleerd door een mobiele telefoons te ontwikkelen. DTMF opdrachten vanaf een telefoon verzenden naar een andere mobiele telefoon die is gemonteerd op de robotic voertuig. Deze opdra
Tenuitvoerlegging van intelligente Polling systeem met behulp van GSM mobiele

Tenuitvoerlegging van intelligente Polling systeem met behulp van GSM mobiele

GSM (Global System for Mobile communications) is de meest gebruikte mobiele netwerkstandaard, die zorgt voor de overdracht van informatie dus echt tijd, beveiliging en betrouwbare beseft dat de lange afstand controle. In dit project, wordt een elektr
Een Raspberry Pi camera gebaseerde Microscoop met behulp van LEGO onderdelen

Een Raspberry Pi camera gebaseerde Microscoop met behulp van LEGO onderdelen

Een Raspberry Pi camera gebaseerde Microscoop, gebouwd net van LEGO onderdelen.Versie: 11 oktober 2015Inleiding en overzichtIkn het begin ik had het idee om het bouwen van een eenvoudige en goedkope microscoop met behulp van een raspberry pi en een p
Met behulp van een SIM900A GSM/GPRS module in Australië

Met behulp van een SIM900A GSM/GPRS module in Australië

Let op: dit is een 2G-apparaat. Aan mijn kennis draagt alleen Vodaphone stil 2G in Australië. Ik denk niet dat het de moeite waard om te kopen een van deze in Oz als zijn dagen zijn geteld, krijgen een 3G module in plaats daarvan.Dit is mijn eerste p
Met behulp van siliconen gebaseerde deeg maken snelle make-up FX

Met behulp van siliconen gebaseerde deeg maken snelle make-up FX

Sculptgel en de derde graad zijn beide grote siliconen gebaseerd materialen die rechtstreeks op de huid kunnen worden gebruikt om drie dimesional make-up effecten voor plezier, Halloween, laag budget films te maken of om te werken voor een portfolio
MSP430 gebaseerd Chronulator (met behulp van de Launchpad chip)

MSP430 gebaseerd Chronulator (met behulp van de Launchpad chip)

onlangs, ik heb geëxperimenteerd met microcontrollers. Een project dat echt viel mijn oog was de Chronulator op http://www.sharebrained.com. Texas Instruments uitgebracht op hetzelfde moment, de experimentator kit genaamd de Launchpad voor de uitstek