Marius: Partie parking (codage de la barrière du parking, codage du nombre de places, 3D du parking à vélo et du parking).
Martin: Partie lumière et du tramway ( codage de la lumière, 3D du guichet, codage de l'arrivée du tramway).
Marius et Martin: 13 mars: répartition des tâches et étude préalable faites.
16 mars: Schéma
Marius: 16 mars: recherche d'idées pour la barrière du parking. 23 mars: codage de la barrière + début codage des places. 27 mars: 3D de la barrière + 3D parking. 2 avril: fin de la 3D du parking + 3D de l'abris vélo.
7 avril: fin du codage des places + regroupement des codes + tests avec la barrière. 7 mai: regroupement de la partie de la maquette et assemblage.
Martin: 16 mars: Algorigramme. 23 mars: codage de la lumière. 7 avril: 3d cache lumière. 8 avril: codage de l'arrivée du tram + cache de l'afficheur. 29 avril: cache de la carte arduino.
7 mai: regroupement de la partie de la maquette.
Choix de la 4ème barrière.
Voici les composants nécéssaires pour la partie Parking.
#include
#include
#include
#include
Ou sont les composants
#define PIN_SERVO_3 3
#define PIN_SIMPLE_BUTTON_4 4
#define PIN_ULTRASONIC_8 8
#define PIN_ULTRASONIC_7 7
Servo servomotor_3;
rgb_lcd lcdRgb;
Ultrasonic ultrasonic_8(PIN_ULTRASONIC_8);
Ultrasonic ultrasonic_7(PIN_ULTRASONIC_7);
Initialisation
int liste;
void setup() {
servomotor_3.attach(PIN_SERVO_3);
lcdRgb.begin(16, 2);
pinMode(PIN_SIMPLE_BUTTON_4, INPUT);
pinMode(PIN_ULTRASONIC_8, INPUT);
pinMode(PIN_ULTRASONIC_7, INPUT);
servomotor_3.write(20);
lcdRgb.setCursor(2, 0);
lcdRgb.print(String("PLACE LIBRE"));
}
Ecriture sur l'afficheur et initialisation du servomoteur et de la liste
void loop() {
lcdRgb.setCursor(2, 0);
lcdRgb.print(String("PLACE LIBRE"));
lcdRgb.setCursor(6, 1);
lcdRgb.print(String(liste));
liste = 200;
Partie bouton + barrière
if (digitalRead(PIN_SIMPLE_BUTTON_4)) { si il y a une pression sur le bouton
servomotor_3.write(90);Le servomoteur se met à l'angle 90 donc la barrière est ouverte
delay(1000*10);Attendre 10 secondes
servomotor_3.write(20);Retour à la position initial
} else {Sinon le servomoteur reste en position fermé si il n'y a pas de pression sur le bouton
servomotor_3.write(20);
}
if (ultrasonic_8.MeasureInCentimeters() < 10) {Si il y a un obstacle à moins de 10 cms
liste = liste - 1;moins 1 à la liste à l'afficheur
}
if (ultrasonic_7.MeasureInCentimeters() < 10) {
liste = liste - 1;
}
}
J'ai rencontré un problème avec un servomoteur qui faisait un faux contact dans la carte quand j'appuyais sur le bouton. J'ai regardé attentivement quand cela coupé et j'ai vu que cela venait de lui donc je l'ai changé.
Voici la 3D du parking.
Voici la 3D de la barrière et de l'abri vélo.
Manque de temps pour utiliser les panneaux solaires. Solution trouvée : utiliser l'ordinateur comme source d'énergie.
Vidéo démonstrative du codage du parking.