Automatisk parkering System (6 / 11 steg)

Steg 6: Arduino kod



I detta steg kommer vi att titta på arduino koden för projektet Smart parkering. Koden kommer att få data från ultraljudssensorer och det kommer att publicera det till webbsidan. Här är koden:

< p > #include #include
#include < /p >< p > Servo servo;
deklarera variabler för att få rätt data
int available1;
int available2;
int available3;
int available4;
int available5;
avstånd för ultrasonic sensor
långa distance1;
lång distance2;
lång distance3;
lång distance4;
lång distance5;
varaktighet för sensorn överföra ultraljudsvågor
lång varaktighet 1;
långa Företagsvaraktighet 2;
lång duration3;
lång duration4;
lång duration5;
Öppna servo för bilar att ange
lång servoduration;
lång servodistance;
utgångsstift för sensorn
#define trig1 26
#define trig2 28
#define trig3 30
#define trig4 32
#define trig5 34
ingående stiften för sensorn
#define echo1 27
#define echo2 29
#define echo3 31
#define echo4 33
#define echo5 35
ute och i stift för sensorn
#define servotrig 38
#define servoecho 39
Ethernet-datapins
char server [] = "192.168.137.1";
EthernetClient klient;
standardadressen dator
byte [mac] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
}; < /p >< p > int svar; < /p >< p > void setup() {< /p >< p > Ethernet.begin(mac);
Serial.BEGIN (9600);
Delay(100); < /p >< p > / / svar = client.connect (server, 80);
//
om (svar) {
Serial.println("Connected");
} annat {
/ / Om du inte får en anslutning till servern:
Serial.println ("Anslutning misslyckades");
// }
definiera former av stiften för sensorn

pinMode(trig1,OUTPUT);
pinMode(trig2,OUTPUT);
pinMode(trig3,OUTPUT);
pinMode(trig4,OUTPUT);
pinMode(trig5,OUTPUT);

pinMode(echo1,INPUT);
pinMode(echo2,INPUT);
pinMode(echo3,INPUT);
pinMode(echo4,INPUT);
pinMode(echo5,INPUT);

pinMode(servotrig,OUTPUT);
pinMode(servoecho,INPUT); < /p >< p > servo.attach(37);
} < /p >< p > void loop() {
att hitta avståndet för var och en av sensorerna
digitalWrite (trig1, låg);
delayMicroseconds(2);
digitalWrite (trig1, hög);
delayMicroseconds(10);
digitalWrite (trig1, låg);
varaktighet 1 = pulseIn (echo1, hög);
Distance1 = (varaktighet 1/2) / 29,1; < /p >< p >
digitalWrite (trig2, låg);
delayMicroseconds(2);
digitalWrite (trig2, hög);
delayMicroseconds(10);
digitalWrite (trig2, låg);
Företagsvaraktighet 2 = pulseIn (echo2, hög);
distance2 = (Företagsvaraktighet 2/2) / 29,1; < /p >< p > digitalWrite (trig3, låg);
delayMicroseconds(2);
digitalWrite (trig3, hög);
delayMicroseconds(10);
digitalWrite (trig3, låg);
duration3 = pulseIn (echo3, hög);
distance3 = (duration3/2) / 29,1; < /p >< p > digitalWrite (trig4, låg);
delayMicroseconds(2);
digitalWrite (trig4, hög);
delayMicroseconds(10);
digitalWrite (trig4, låg);
DURATION4 = pulseIn (echo4, hög);
distance4 = (duration4/2) / 29,1; < /p >< p >
digitalWrite (trig5, låg);
delayMicroseconds(2);
digitalWrite (trig5, hög);
delayMicroseconds(10);
digitalWrite (trig5, låg);
duration5 = pulseIn (echo5, hög);
distance5 = (duration5/2) / 29,1; < /p >< p > Serial.print ("avstånd 1:");
Serial.Print(Distance1);
Serial.println("cm"); < /p >< p > Serial.print ("avstånd 2:");
Serial.Print(distance2);
Serial.println("cm"); < /p >< p > Serial.print ("avstånd 3:");
Serial.Print(distance3);
Serial.println("cm"); < /p >< p > Serial.print ("avstånd 4:");
Serial.Print(distance4);
Serial.println("cm"); < /p >< p > Serial.print ("avstånd 5:");
Serial.Print(distance5);
Serial.println("cm"); < /p >< p > delay(100); < /p >< p > //getting det faktiska värdet som krävs för att göra projektet framgångsrikt

IF(Distance1<6)
{
available1 = 0;
}
annat {
available1 = 1;
} < /p >< p > if(distance2<6)
{
available2 = 0;
}
annat {
available2 = 1;
} < /p >< p > if(distance3<6)
{
available3 = 0;
}
annat {
available3 = 1;
}
IF(distance4<6)
{
available4 = 0;
}
annat {
available4 = 1;
}

IF(distance5<6)
{
available5 = 0;
}
annat {
available5 = 1;
} < /p >< p >
digitalWrite (servotrig, låg);
delayMicroseconds(2);
digitalWrite (servotrig, hög);
delayMicroseconds(10);
digitalWrite (servotrig, låg);
servoduration = pulseIn (servoecho, hög);

IF(servodistance<10)
{
servo.write(90);
}
annat
{
servo.write(-90);
} < /p >< p > //passing variabler till php sidan. < /p >< p > om (! client.connected())
{
Serial.Print("Available1=");
Serial.println(available1);
Serial.Print("Available2=");
Serial.println(available2);
Serial.Print("Available3=");
Serial.println(available3);
Serial.Print("Available4=");
Serial.println(available4);
Serial.Print("Available5=");
Serial.println(available5);
client.stop();
Delay(100);
om (client.connect (server, 80))
{
Serial.println("Connected");
Göra en HTTP-begäran:
client.Print "(GET /UpdateAvailability.php? Läge = ");
client.Print("1");
client.Print ("& &");
client.Print("available=");
client.Print(available1);
client.println ("HTTP/1.1");
client.println ("Host: 192.168.137.1");
client.println ("anslutning: Stäng");
client.println();
client.stop();
}
annat
{
Om du inte få en anslutning till servern:
Serial.println ("Anslutning misslyckades");
} < /p >< p > om (client.connect (server, 80))
{
Serial.println("Connected");
Göra en HTTP-begäran:
client.Print "(GET /UpdateAvailability.php? Läge = ");
client.Print("2");
client.Print ("& &");
client.Print("available=");
client.Print(available2);
client.println ("HTTP/1.1");
client.println ("Host: 192.168.137.1");
client.println ("anslutning: Stäng");
client.println();
client.stop();
}
annat
{
Om du inte få en anslutning till servern:
Serial.println ("Anslutning misslyckades");
}

om (client.connect (server, 80))
{
Serial.println("Connected");
Göra en HTTP-begäran:
client.Print "(GET /UpdateAvailability.php? Läge = ");
client.Print("3");
client.Print ("& &");
client.Print("available=");
client.Print(available3);
client.println ("HTTP/1.1");
client.println ("Host: 192.168.137.1");
client.println ("anslutning: Stäng");
client.println();
client.stop();
}
annat
{
Om du inte få en anslutning till servern:
Serial.println ("Anslutning misslyckades");
}

om (client.connect (server, 80))
{
Serial.println("Connected");
Göra en HTTP-begäran:
client.Print "(GET /UpdateAvailability.php? Läge = ");
client.Print("4");
client.Print ("& &");
client.Print("available=");
client.Print(available4);
client.println ("HTTP/1.1");
client.println ("Host: 192.168.137.1");
client.println ("anslutning: Stäng");
client.println();
client.stop();
}
annat
{
Om du inte få en anslutning till servern:
Serial.println ("Anslutning misslyckades");
}
om (client.connect (server, 80))
{
Serial.println("Connected");
Göra en HTTP-begäran:
client.Print "(GET /UpdateAvailability.php? Läge = ");
client.Print("5");
client.Print ("& &");
client.Print("available=");
client.Print(available5);
client.println ("HTTP/1.1");
client.println ("Host: 192.168.137.1");
client.println ("anslutning: Stäng");
client.println();
client.stop();
}
annat
{
Om du inte få en anslutning till servern:
Serial.println ("Anslutning misslyckades");
}

}
} < /p >

Se Steg
Relaterade Ämnen

SMART CAR och SMART parkering SYSTEM

Detta instructable är den skriftliga versionen av min "Arduino: hur till bygga en skarp bil och SMART parkering SYSTEM"Robotics är en del av dagens meddelande. I dagensvärlden robotics är en snabbväxande och intressanta området. Är det enklaste...

Omvänd parkering System

Parkering sensorer använder en typ av ekolod. Termen ekolodet är en akronym för sund navigering och radar; Det används för att beräkna avstånd och riktning av ett objekt från den tid det tar för ett ljud våg att resa till målet och tillbaka.En ultras...

Automatisk bevattning system

när du går ut för en lång tid och har några växter hemma, kan du vattna dem regelbundet. Men om det finns ingen annan hemma denna uppgift är mycket komplicerat. Lösningen är att göra en automatisk vattning system där du kan vatten dina växter med jäm...

Arduino automatisk vattning System

I handboken Instructables kommer jag visa dig hur du gör din egen - Arduino-automatisk vattning system för ditt "skrivbord" blomma (eller anläggning). Hela förfarandet är mycket lätt och du kan slutföra den här guiden i ca 30 min.Målet är att au...

Automatisk bevattning System / automatisering maskin

Först, låt mig presentera mitt projekt.Min enhet är automatisk vattning system (du kan växla på/av vatten magnetventil men också i stället för magnetventil kan du växla något annat som använder alternativa ström - betyder det att min enhet är också u...

Roterande parkering System

Det är enkelt att arbeta med föraren parkera och lämna fordonet i systemet på marknivå. När föraren lämnar parkerade den inkorporerade säkerhetszonen fordonet automatiskt av systemet roterande för att lyfta den parkerade bilen från den nedre centrala...

Arduino automatisk vattning System för växter Sprinkler

förra månaden, har Elecrow kvar från den ursprungliga office och flyttat till nya lokaler. Vi kommer att sakna våra ursprungliga office där vi arbetade så hårt för mer än två år, vi kommer att sakna allt här, skrivbord, fönster, och de som krukväxter...

Dubbla Laser-Guided parkering System

detta är ett bra sätt att park i ditt garage utan hängande tennisboll. Du vet den som barnen använder för MELLANFODER praxis, som bara varar en dag.Detta system använder en liten laser monterad i taket som guidar dig in i garaget och hjälper du parke...

Posten kontrollerade parkering System med Servo Motor och PIR med LinkIt en styrelse

I detta Instructable, vi kommer att genomföra transaktionen kontrollerad parkering med Servo Motor och PIR med LinkIt en styrelse.En servomotor är en roterande ställdon eller linjärt ställdon som möjliggör exakt kontroll av kantiga eller linjär posit...

Automatisk Streetlight System

Detta inte behöver manuell drift för att växla ON och OFF. När det finns ett behov av ljusdet växlar automatiskt ON. När mörkret stiger till en viss nivå sedan sensor circuit blir aktiverad och växlar ON och när det finns andra källa av ljus dvs dagt...

Automatisk Light System

Lamporna är essentials i varje hem, och när dina gäster anländer måste du aktivera dem, rätt? Men ljus är slösaktig, de tar så mycket energi, så jag har kommit fram till denna design som hjälper dig sätta lamporna för gästerna och spara energi.Och om...

Home Control System

Detta instructable är om att kontrollera dina Vitvaror med en fjärrkontroll. Jag har gjort detta system genom att kombinera min föregående 7 intructables.Den innehållerEn avlägsen kontrollerade Fan.Vattennivån regulator med automatiska samt manuell k...

Automatisk vattning från en vatten fat

jag är lat. För några år sedan fick jag trött på att behöva manuellt vatten 15-20 krukväxter runt vår uteplats, så jag satte i en automatisk droppbevattning system. Jag hade velat köra samma system vid sidan av vårt hus där vi har 7 krukväxter och nä...

Regn vatten collector vattentorn med automatisk overflow

det finns en hel del bra design för system som samlar in regnvatten från bostadsfastigheter som är utrustad med rännor. Problemet är att varje situation kräver något annat. Så lägger jag några bilder av min regnvatten samlare att lägga till kroppen a...

Automatiska bevattningssystem med kapacitiv sond och Arduino på billiga (och jag menar det)

Varning: Jag är inte en elektronikingenjör, så jag inte kan ge någon garanti för design (mycket mindre en implementering). Jag vet bara presenteras lösningen fungerade för mig minst 5-6 månader (så jag inte kan ens garantera dess tillförlitlighet öve...

Hur man gör ett autowatering system med husgeråd

du planerar att åka på semester men du inte har någon att vatten dina växter under denna tidsperiod?Istället för att köpa en dyr automatisk vattning system kan du göra en med material som du hittar i varje husDetta system är baserat i enkel fysik och...

Automatisk spruta

Jag blev inspirerad från den instructable av robi_h att bygga detta automatisk besprutning system. Detta är mitt första inlägg så jag hoppas jag kan få det gjort rätt. Hårdvara är baserad på återvunnet delar som DVD-enheten och PC strömkällan. Dessut...

Automatiska fönsterluckor av Riley Monaghan

Detta instructable skapades enlighet projektet kravet på Makecourse vid University of South Florida (www.makecourse.com).Projektet jag skapat och är här för att prata med dig om i dag är min automatisk slutare system, ett system avsett att, teoretisk...

10 set av brödunderläggen projekt för nybörjare

Skärbräda är ett bra sätt att bygga elektroniska projekt enkelt och på kortare tid utan att behöva löda. Ett problem som ställs av nybörjare inom elektronik är att de inte kan löda komponenterna prydligt på kretskort. En dålig lödning gemensamt kan l...