Système de stationnement automatique (6 / 11 étapes)

Étape 6: Arduino Code

Dans cette étape nous allons regarder le code arduino pour le projet Smart Car Parking. Le code va extraire les données des capteurs à ultrasons et il post-it à la page Web. Voici le code :

 #include <p>#include #include </p><p>Servo servo; //declaring variables to get the right data int available1; int available2; int available3; int available4; int available5; //distance for teh ultrasonic sensor long distance1; long distance2; long distance3; long distance4; long distance5; //duration taken for the sensor to transmit ultrasonic waves long duration1; long duration2; long duration3; long duration4; long duration5; //opening the servo for the cars to enter long servoduration; long servodistance; //the output pins for the sensor #define trig1 26 #define trig2 28 #define trig3 30 #define trig4 32 #define trig5 34 //the input pins for the sensor #define echo1 27 #define echo2 29 #define echo3 31 #define echo4 33 #define echo5 35 //the out and in pins for the sensor #define servotrig 38 #define servoecho 39 //ethernet datapins char server[] = "192.168.137.1"; EthernetClient client; //default computer address byte mac[]={ 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };</p><p>int response;</p><p>void setup() {</p><p> Ethernet.begin(mac); Serial.begin (9600); delay(100);</p><p>// response = client.connect(server, 80); // // if (response) { // Serial.println("connected"); // } else { // // if you didn't get a connection to the server: // Serial.println("connection failed"); // } //defining the modes of the pins for the sensor 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() { //finding the distance for each of the sensors digitalWrite(trig1, LOW); delayMicroseconds(2); digitalWrite(trig1, HIGH); delayMicroseconds(10); digitalWrite(trig1, LOW); duration1 = pulseIn(echo1, HIGH); distance1 = (duration1/2) / 29.1;</p><p> digitalWrite(trig2, LOW); delayMicroseconds(2); digitalWrite(trig2, HIGH); delayMicroseconds(10); digitalWrite(trig2, LOW); duration2 = pulseIn(echo2, HIGH); distance2 = (duration2/2) / 29.1;</p><p> digitalWrite(trig3, LOW); delayMicroseconds(2); digitalWrite(trig3, HIGH); delayMicroseconds(10); digitalWrite(trig3, LOW); duration3 = pulseIn(echo3, HIGH); distance3 = (duration3/2) / 29.1;</p><p> digitalWrite(trig4, LOW); delayMicroseconds(2); digitalWrite(trig4, HIGH); delayMicroseconds(10); digitalWrite(trig4, LOW); duration4 = pulseIn(echo4, HIGH); distance4 = (duration4/2) / 29.1;</p><p> digitalWrite(trig5, LOW); delayMicroseconds(2); digitalWrite(trig5, HIGH); delayMicroseconds(10); digitalWrite(trig5, LOW); duration5 = pulseIn(echo5, HIGH); distance5 = (duration5/2) / 29.1;</p><p> Serial.print("Distance 1:"); Serial.print(distance1); Serial.println("cm");</p><p> Serial.print("Distance 2:"); Serial.print(distance2); Serial.println("cm");</p><p> Serial.print("Distance 3:"); Serial.print(distance3); Serial.println("cm");</p><p> Serial.print("Distance 4:"); Serial.print(distance4); Serial.println("cm");</p><p> Serial.print("Distance 5:"); Serial.print(distance5); Serial.println("cm");</p><p> delay(100);</p><p>//getting the actual value required to do the project successfully if(distance1<6) { available1=0; } else{ available1 =1; } </p><p> if(distance2<6) { available2=0; } else{ available2 =1; }</p><p> if(distance3<6) { available3=0; } else{ available3 =1; } if(distance4<6) { available4=0; } else{ available4 =1; } if(distance5<6) { available5=0; } else{ available5 =1; }</p><p> digitalWrite(servotrig, LOW); delayMicroseconds(2); digitalWrite(servotrig, HIGH); delayMicroseconds(10); digitalWrite(servotrig, LOW); servoduration = pulseIn(servoecho, HIGH); if(servodistance<10) { servo.write(90); } else { servo.write(-90); }</p><p>//passing the variables to the php page.</p><p> if (!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); if (client.connect(server, 80)) { Serial.println("connected"); // Make a HTTP request: client.print("GET /UpdateAvailability.php?Position="); 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("Connection: close"); client.println(); client.stop(); } else { // if you didn't get a connection to the server: Serial.println("connection failed"); }</p><p> if (client.connect(server, 80)) { Serial.println("connected"); // Make a HTTP request: client.print("GET /UpdateAvailability.php?Position="); 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("Connection: close"); client.println(); client.stop(); } else { // if you didn't get a connection to the server: Serial.println("connection failed"); } if (client.connect(server, 80)) { Serial.println("connected"); // Make a HTTP request: client.print("GET /UpdateAvailability.php?Position="); 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("Connection: close"); client.println(); client.stop(); } else { // if you didn't get a connection to the server: Serial.println("connection failed"); } if (client.connect(server, 80)) { Serial.println("connected"); // Make a HTTP request: client.print("GET /UpdateAvailability.php?Position="); 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("Connection: close"); client.println(); client.stop(); } else { // if you didn't get a connection to the server: Serial.println("connection failed"); } if (client.connect(server, 80)) { Serial.println("connected"); // Make a HTTP request: client.print("GET /UpdateAvailability.php?Position="); 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("Connection: close"); client.println(); client.stop(); } else { // if you didn't get a connection to the server: Serial.println("connection failed"); } } }</p> 

Articles Liés

Inverser le système de stationnement de voiture

Inverser le système de stationnement de voiture

Capteurs de stationnement utilisent un type de sonar. Le sonar à terme est un acronyme pour navigation sonore et radar ; Il est utilisé pour calculer la distance et/ou la direction d'un objet depuis le temps qu'il faut pour une onde sonore voyager ve
Système de stationnement rotative

Système de stationnement rotative

Il est simple à utiliser avec le pilote de stationnement et de quitter le véhicule dans le système au niveau du sol. Une fois que le conducteur quitte la zone de sécurité incorporé du véhicule est automatiquement garée par le système de rotation pour
Système d’arrosage automatique avec sonde capacitive et Arduino sur le bon marché (et je le pense)

Système d’arrosage automatique avec sonde capacitive et Arduino sur le bon marché (et je le pense)

Avertissement : Je ne suis pas un ingénieur électronicien, alors je ne peux pas offrir aucune garantie pour la conception (beaucoup moins pour votre implémentation). Je ne connais que la solution présentée a fonctionné pour moi pendant au moins 5-6 m
Système d’Irrigation automatique

Système d’Irrigation automatique

Il s'agit d'un tutoriel approfondi sur comment j'ai créé un système d'irrigation automatique pour un jardin utilisant le microcontrôleur famille de Texas Instrument Tiva. Il y a une poignée d'exemples en ligne sur les systèmes d'irrigation, mais je v
Système de surveillance automatique maison arduino (simple et bon marché)

Système de surveillance automatique maison arduino (simple et bon marché)

L'objectif de mon projet est d'atteindre le système automatique de surveillance maison sans aucune interférence manuelle. En général autre système de surveillance il faut pouvoir ON TV et caméra récepteur chaque fois. Et aussi il a besoin à l'entrée
Système de remplissage automatique d’eau Keurig B40/B60/B70

Système de remplissage automatique d’eau Keurig B40/B60/B70

Il s'agit d'un projet simple, que j'ai fait pour éviter d'ajouter de l'eau dans ma machine chaque fois que je prends une tasse de café. C'est un système assez simple, mais il exige aussi des connaissances de base plomberie et électriques / soudure:-)
Système d’arrosage automatique plante

Système d’arrosage automatique plante

j'ai fait une installation automatique arrosage système à l'aide d'une pompe d'aquarium et de la minuterie électrique.Les matériaux m'a coûté environ $60, qui je pense est un peu raide. Vous pourriez probablement faire cela pour environ 40 $ à l'aide
Système d’arrosage automatisé n’importe qui peut le faire !

Système d’arrosage automatisé n’importe qui peut le faire !

je déteste mon yard l'arrosage et ne voulait pas laisser tomber des milliers sur un système d'arrosage permanent. Donc, je suis venu avec cette solution à l'aide d'arroseurs de jardins réguliers et minuteries de robinet.J'ai utiliser arroseurs de pel
Système de jardinage automatisé Garduino

Système de jardinage automatisé Garduino

cette instructable est un guide pour la mise en place d'un système automatisé de jardinage en utilisant un arduino et autres composants électroniques bon marchés.  Il permet de jardiner à l'aide de capteurs pour déterminer l'humidité du sol, ainsi qu
Laser système de stationnement de garage

Laser système de stationnement de garage

Cet Instructable va vous montrer comment créer votre propre laser garage parking système (la version moderne de la balle de tennis sur une chaîne).   Arrêter maintenant si vous n'avez pas une connaissance de base de l'électronique ou l'utilisation en
ECustoms | ISF 10 + 2 | SYSTÈME DE MANIFESTE AUTOMATISÉ | SYSTÈME AUTOMATISÉ D’EXPORTATION | Automated Commercial Environment | Automated Interface de courtage

ECustoms | ISF 10 + 2 | SYSTÈME DE MANIFESTE AUTOMATISÉ | SYSTÈME AUTOMATISÉ D’EXPORTATION | Automated Commercial Environment | Automated Interface de courtage

eCustoms Intellect est une solution basée sur le web qui fournit sans couture entoilage aux douanes pour les États-Unis, Mexique, Canada, Panama et d'autres organismes gouvernementaux. La flexibilité de l'Intellect eCustoms permet aux utilisateurs d'
Construire un système d’arrosage automatique Simple à partir de produits recyclés

Construire un système d’arrosage automatique Simple à partir de produits recyclés

je voudrais un moyen à mes tomates grâce à un système de goutte à goutte de l'eau facilement (et à moindre coût). J'ai construit des abreuvoirs simples à l'aide de 2 et 3 litre bouteilles et cintres fil. Mon coût de la dépense pour ce projet était de
Système d’arrosage automatique

Système d’arrosage automatique

pour faire de ce circuit, vous aurez besoin des connaissances de base de l'électronique, vous devez également savoir comment faire un PCB. Si vous ne savez pas comment faire un circuit imprimé et vous voulez savoir comment, nous vous recommandons d'a
Système d’éclairage automatique

Système d’éclairage automatique

Lumières sont des éléments essentiels dans tous les foyers, et quand vos invités arrivent vous devrez Allumez-les, droit ? Mais les lumières sont inutiles, qu'ils prennent tellement d'énergie, donc je suis venu avec cette conception pour vous aider à