<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E-BOO</id>
		<title>Les Fabriques du Ponant - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E-BOO"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/E-BOO"/>
		<updated>2026-05-14T21:07:13Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30142</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30142"/>
				<updated>2025-01-23T14:27:46Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (''3ème année avec le cycle préparatoire'') et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
Ce projet '''E-BOO''' a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le '''22 et 23 janvier 2025''' avec l'aide de ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; l'association des Petits Débrouillards :&amp;lt;/font&amp;gt;'' [[https://www.lespetitsdebrouillards.org/]] et ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; Les Fabriques Du Ponants&amp;lt;/font&amp;gt;'' [[https://www.lesfabriquesduponant.net/]].&lt;br /&gt;
&lt;br /&gt;
Cette présentation en plusieurs parties vous montrera comment ce projet a été réalisé, avec quels moyens et surtout l'aventure que nous avons faite durant ces deux jours.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Codage_acharné.jpeg|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt;''' pour la tenir en place, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;''' pour pouvoir tourner et balayer le paysage et une '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
[[Fichier:CAO_ensemble_mecanique.jpeg|200px|thumb|left|rélisation des pièce gérant la mecanique]]&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt;''' ne fonctionnais pas au début nous en avons donc changé, pareil pour la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt;''' nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30126</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30126"/>
				<updated>2025-01-23T14:16:11Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (''3ème année avec le cycle préparatoire'') et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
Ce projet '''E-BOO''' a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le '''22 et 23 janvier 2025''' avec l'aide de ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; l'association des Petits Débrouillards :&amp;lt;/font&amp;gt;'' [[https://www.lespetitsdebrouillards.org/]] et ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; Les Fabriques Du Ponants&amp;lt;/font&amp;gt;'' [[https://www.lesfabriquesduponant.net/]].&lt;br /&gt;
&lt;br /&gt;
Cette présentation en plusieurs parties vous montrera comment ce projet a été réalisé, avec quels moyens et surtout l'aventure que nous avons faite durant ces deux jours.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
[[Image:Codage_acharné.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt;''' pour la tenir en place, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;''' pour pouvoir tourner et balayer le paysage et une '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt;''' ne fonctionnais pas au début nous en avons donc changé, pareil pour la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt;''' nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Codage_acharn%C3%A9.jpeg&amp;diff=30106</id>
		<title>Fichier:Codage acharné.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Codage_acharn%C3%A9.jpeg&amp;diff=30106"/>
				<updated>2025-01-23T14:07:48Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : E-BOO a téléversé une nouvelle version de Fichier:Codage acharné.jpeg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Codage_acharn%C3%A9.jpeg&amp;diff=30102</id>
		<title>Fichier:Codage acharné.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Codage_acharn%C3%A9.jpeg&amp;diff=30102"/>
				<updated>2025-01-23T14:06:30Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Impression_pied.jpeg&amp;diff=30101</id>
		<title>Fichier:Impression pied.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Impression_pied.jpeg&amp;diff=30101"/>
				<updated>2025-01-23T14:05:46Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Impression_pivot_tete.jpeg&amp;diff=30097</id>
		<title>Fichier:Impression pivot tete.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Impression_pivot_tete.jpeg&amp;diff=30097"/>
				<updated>2025-01-23T14:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Impression_support_rotatif.jpeg&amp;diff=30095</id>
		<title>Fichier:Impression support rotatif.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Impression_support_rotatif.jpeg&amp;diff=30095"/>
				<updated>2025-01-23T14:04:28Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CAO_pivot_tete.jpeg&amp;diff=30094</id>
		<title>Fichier:CAO pivot tete.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CAO_pivot_tete.jpeg&amp;diff=30094"/>
				<updated>2025-01-23T14:03:17Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : permet d'orienter la tourelle dans sa latitude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;permet d'orienter la tourelle dans sa latitude&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CAO_pied.jpeg&amp;diff=30088</id>
		<title>Fichier:CAO pied.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CAO_pied.jpeg&amp;diff=30088"/>
				<updated>2025-01-23T13:59:38Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CAO_support_rotatif.jpeg&amp;diff=30086</id>
		<title>Fichier:CAO support rotatif.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CAO_support_rotatif.jpeg&amp;diff=30086"/>
				<updated>2025-01-23T13:58:52Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : permet d'orienter la tourelle dans sa longitude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;permet d'orienter la tourelle dans sa longitude&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CAO_ensemble_mecanique.jpeg&amp;diff=30083</id>
		<title>Fichier:CAO ensemble mecanique.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CAO_ensemble_mecanique.jpeg&amp;diff=30083"/>
				<updated>2025-01-23T13:55:17Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Design_final.jpeg&amp;diff=30080</id>
		<title>Fichier:Design final.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Design_final.jpeg&amp;diff=30080"/>
				<updated>2025-01-23T13:53:43Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Premiers_pas_suite.jpeg&amp;diff=30079</id>
		<title>Fichier:Premiers pas suite.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Premiers_pas_suite.jpeg&amp;diff=30079"/>
				<updated>2025-01-23T13:52:41Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Premiers_pas.jpeg&amp;diff=30076</id>
		<title>Fichier:Premiers pas.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Premiers_pas.jpeg&amp;diff=30076"/>
				<updated>2025-01-23T13:51:32Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30067</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30067"/>
				<updated>2025-01-23T13:38:23Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (''3ème année avec le cycle préparatoire'') et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
Ce projet '''E-BOO''' a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le '''22 et 23 janvier 2025''' avec l'aide de ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; l'association des Petits Débrouillards :&amp;lt;/font&amp;gt;'' [[https://www.lespetitsdebrouillards.org/]] et ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; Les Fabriques Du Ponants&amp;lt;/font&amp;gt;'' [[https://www.lesfabriquesduponant.net/]].&lt;br /&gt;
&lt;br /&gt;
Cette présentation en plusieurs parties vous montrera comment ce projet a été réalisé, avec quels moyens et surtout l'aventure que nous avons faite durant ces deux jours.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt;''' pour la tenir en place, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;''' pour pouvoir tourner et balayer le paysage et une '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt;''' ne fonctionnais pas au début nous en avons donc changé, pareil pour la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt;''' nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30066</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30066"/>
				<updated>2025-01-23T13:37:31Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (''3ème année avec le cycle préparatoire'') et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
Ce projet '''E-BOO''' a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le '''22 et 23 janvier 2025''' avec l'aide de ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; l'association des Petits Débrouillards :&amp;lt;/font&amp;gt;'' [[https://www.lespetitsdebrouillards.org/]] et ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; Les Fabriques Du Ponants&amp;lt;/font&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
Cette présentation en plusieurs parties vous montrera comment ce projet a été réalisé, avec quels moyens et surtout l'aventure que nous avons faite durant ces deux jours.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt;''' pour la tenir en place, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;''' pour pouvoir tourner et balayer le paysage et une '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt;''' ne fonctionnais pas au début nous en avons donc changé, pareil pour la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt;''' nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30062</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30062"/>
				<updated>2025-01-23T13:36:03Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (''3ème année avec le cycle préparatoire'') et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
Ce projet '''E-BOO''' a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le '''22 et 23 janvier 2025''' avec l'aide de ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; l'association des Petits Débrouillards &amp;lt;/font&amp;gt;'' et ''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; Les Fabriques Du Ponants&amp;lt;/font&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
Cette présentation en plusieurs parties vous montrera comment ce projet a été réalisé, avec quels moyens et surtout l'aventure que nous avons faite durant ces deux jours.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt;''' pour la tenir en place, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;''' pour pouvoir tourner et balayer le paysage et une '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt;''' ne fonctionnais pas au début nous en avons donc changé, pareil pour la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt;''' nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30060</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30060"/>
				<updated>2025-01-23T13:35:06Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (''3ème année avec le cycle préparatoire'') et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
Ce projet '''E-BOO''' a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le '''22 et 23 janvier 2025''' avec l'aide de ''l'association des Petits Débrouillards'' et ''Les Fabriques Du Ponants''.&lt;br /&gt;
&lt;br /&gt;
Cette présentation en plusieurs parties vous montrera comment ce projet a été réalisé, avec quels moyens et surtout l'aventure que nous avons faite durant ces deux jours.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt;''' pour la tenir en place, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;''' pour pouvoir tourner et balayer le paysage et une '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt;''' ne fonctionnais pas au début nous en avons donc changé, pareil pour la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt;''' nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30056</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30056"/>
				<updated>2025-01-23T13:32:20Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Troubleshouting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt;''' pour la tenir en place, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;''' pour pouvoir tourner et balayer le paysage et une '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt;''' ne fonctionnais pas au début nous en avons donc changé, pareil pour la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt;''' nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30055</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30055"/>
				<updated>2025-01-23T13:32:02Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Les plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt;''' pour la tenir en place, un '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;''' pour pouvoir tourner et balayer le paysage et une '''&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30054</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30054"/>
				<updated>2025-01-23T13:31:48Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Les idées */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30053</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30053"/>
				<updated>2025-01-23T13:31:37Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Code et Branchements électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt;''' dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les '''&amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt;''' s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30052</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30052"/>
				<updated>2025-01-23T13:31:17Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Code et Branchements électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la '''&amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt;''' tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (''cf:code ci-dessu'')&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30050</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30050"/>
				<updated>2025-01-23T13:30:48Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Les plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle '''E-BOO'''&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30049</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30049"/>
				<updated>2025-01-23T13:30:33Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Les idées */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une '''idée''', une idée qui utilisait le matériel du 'Paper Boy'.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une '''mine à confettis''', une '''tortue sur un skateboard''' ou encore '''une voiture''' mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30048</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30048"/>
				<updated>2025-01-23T13:29:57Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Troubleshouting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le '''matériel''' .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit ''redémarrage'' nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces '''quelques''' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30047</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30047"/>
				<updated>2025-01-23T13:29:36Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Troubleshouting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le &amp;quot;&amp;quot;matériel&amp;quot;&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit &amp;quot;redémarrage&amp;quot; nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces ''quelques'' problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30046</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30046"/>
				<updated>2025-01-23T13:28:58Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Troubleshouting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le &amp;quot;&amp;quot;matériel&amp;quot;&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit &amp;quot;redémarrage&amp;quot; nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces &amp;quot;&amp;quot;quelques&amp;quot;&amp;quot; problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30044</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30044"/>
				<updated>2025-01-23T13:28:38Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Elémlent de présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le &amp;quot;&amp;quot;matériel&amp;quot;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit &amp;quot;redémarrage&amp;quot; nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces &amp;quot;&amp;quot;quelques&amp;quot;&amp;quot; problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30042</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30042"/>
				<updated>2025-01-23T13:28:11Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Troubleshouting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Pendant ces deux jours nous avons rencontré beaucoup de problèmes sur le &amp;quot;&amp;quot;matériel&amp;quot;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Malheureusement la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt;capteur à ultrason &amp;lt;/font&amp;gt; ne fonctionnais pas au début nous en avons donc changé, pareil pour la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; carte Arduino &amp;lt;/font&amp;gt; nous avons dû en changer deux fois avant d'enfin pouvoir faire fonctionner le programme qui lui aussi comportait beaucoup de problèmes.&lt;br /&gt;
Le code à faire était très simple grâce aux aides du wiki mais très difficile à mettre en place à cause de bugs divers de la connexions entre le pc et la carte arduino, mais un petit &amp;quot;redémarrage&amp;quot; nous a arrangé le coup.&lt;br /&gt;
&lt;br /&gt;
Pour la partie mécanique de la tourelle, la difficulté était de trouver un système de tir fonctionnel et simple à mettre en place, après avoir réfléchis nous avons simplement choisit de lui faire tirer un élastique, que l'on peux recharger nous même après.&lt;br /&gt;
&lt;br /&gt;
Mis à part ces &amp;quot;&amp;quot;quelques&amp;quot;&amp;quot; problèmes, tout s'est déroulé sans accros.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30032</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30032"/>
				<updated>2025-01-23T13:20:56Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* étape 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30030</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30030"/>
				<updated>2025-01-23T13:20:47Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* étape 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30027</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30027"/>
				<updated>2025-01-23T13:20:26Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* étape 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===Code et Branchements électronique===&lt;br /&gt;
Le code est fait pour que la &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; tourelle &amp;lt;/font&amp;gt; tourne sur elle même en continue jusqu'à ce qu'elle rencontre un &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; obstacle &amp;lt;/font&amp;gt; dans son champ de vision, celle-ci s'arrêtera va pencher sa tête et tirer un élastique sur la cible.&lt;br /&gt;
&lt;br /&gt;
En fonction de la distance entre la tourelle et sa cible, les &amp;lt;font color=&amp;quot;#1468e3&amp;quot;&amp;gt; LED &amp;lt;/font&amp;gt; s'allument de manière différentes pour montrer que l'obstacle a ben été détecté. Le code est affiché au dessus mais son fonctionnement reste très simple.&lt;br /&gt;
&lt;br /&gt;
Pour les branchements, la carte arduino est sur une petite plaque électronique et ses entrées seront dupliquées sur une autre afin de faciliter le branchement, ensuite les pins assignés seront branchés aux éléments correspondant (&amp;quot;cf:code ci-dessu&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30008</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30008"/>
				<updated>2025-01-23T13:13:17Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* étape 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Construction===&lt;br /&gt;
Une maquette a été faite pour qu'on puisse comprendre ce qu'il fallait faire, on a regardé où placer les servomoteur ainsi que le capteur à ultrason et il ne resterai donc plus que à la construire.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc réalisé des plan 3D de pièces importantes pour le bon fonctionnement de la tourelle sur CATIA et les avons fait imprimer sur les imprimantes 3D dans les locos.&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30002</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30002"/>
				<updated>2025-01-23T13:10:59Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Les plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt; pour pouvoir tourner et balayer le paysage et une &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30001</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30001"/>
				<updated>2025-01-23T13:10:41Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Les plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; &amp;quot;socle&amp;quot; &amp;lt;/font&amp;gt; pour la tenir en place, un &amp;quot;&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;&amp;quot; pour pouvoir tourner et balayer le paysage et une &amp;quot;&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30000</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=30000"/>
				<updated>2025-01-23T13:10:26Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Les plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
Plusieurs idée sont venu mais le principe reste le même, un &amp;quot;&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; socle &amp;lt;/font&amp;gt;&amp;quot; pour la tenir en place, un &amp;quot;&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; pied &amp;lt;/font&amp;gt;&amp;quot; pour pouvoir tourner et balayer le paysage et une &amp;quot;&amp;lt;font color=&amp;quot;#158518&amp;quot;&amp;gt; tête &amp;lt;/font&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Le design final retenu sera d'essayer de se rapprocher d'un Hiboux, d'où le nom de cette tourelle &amp;quot;&amp;quot;E-BOO&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29996</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29996"/>
				<updated>2025-01-23T13:06:37Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Les plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les idées===&lt;br /&gt;
Pour démarrer ce projet il fallait une &amp;quot;&amp;quot;idée&amp;quot;&amp;quot;, une idée qui utilisait le matériel du &amp;quot;Paper Boy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le débat sur ces idées aura durée une heure environ, différentes ont vu le jour comme une &amp;quot;&amp;quot;mine à confettis&amp;quot;&amp;quot;, une &amp;quot;&amp;quot;tortue sur un skateboard&amp;quot;&amp;quot; ou encore &amp;quot;&amp;quot;une voiture&amp;quot;&amp;quot; mais aucune n'avait vraiment retenu notre attention.&lt;br /&gt;
&lt;br /&gt;
Puis en réfléchissant nous avons trouvé une idée qui nous convenait :  &amp;lt;font color=&amp;quot;#e31419&amp;quot;&amp;gt; Une Tourelle &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29992</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29992"/>
				<updated>2025-01-23T13:00:30Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* étape 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===Les plans===&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29991</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29991"/>
				<updated>2025-01-23T13:00:01Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Code finalisé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Ici on retrouve donc le code en entier qui ressemble énormément a la première version qui était déjà assez bien pour ce que l'on voulais.&lt;br /&gt;
Ce qui change ici c'est la possibilité de modifié simplement les paramètres et d'avoir différents angles de tir et des LED qui s'allument différemment en fonction de la distance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29990</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29990"/>
				<updated>2025-01-23T12:57:22Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Seconde étape du code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Première version===&lt;br /&gt;
Cette version a pour but d'avoir un système de base permettant de faire la suite d'action de, tourner, s'arrêter, pencher la tête, tirer, remettre la tête droite, tourner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Sur ce morceau de code on trouve la possibilité de modifier facilement des valeurs à partir du début du code, la tourelle possède aussi plusieurs angles de tir différents en fonction de la distance à laquelle elle se trouve de l'objet &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29988</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29988"/>
				<updated>2025-01-23T12:55:11Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Premier test des éléments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===test des éléments===&lt;br /&gt;
Au tout début, le code ressemblait à celui ci-dessous, Ce sont des test pour vérifier le bon fonctionnement des éléments et aussi pour s'approprier les commandes afin de mieux les utiliser après.&lt;br /&gt;
(Le dessin est celui du microcontrôleur utilisé dans la construction du code avec le numéro des broches)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Seconde étape du code===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Sur ce morceau de code on trouve la possibilité de modifier facilement des valeurs à partir du début du code, la tourelle possède aussi plusieurs angles de tir différents en fonction de la distance à laquelle elle se trouve de l'objet &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29986</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29986"/>
				<updated>2025-01-23T12:53:27Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Seconde étape du code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Premier test des éléments===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Seconde étape du code===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Code finalisé===&lt;br /&gt;
Sur ce morceau de code on trouve la possibilité de modifier facilement des valeurs à partir du début du code, la tourelle possède aussi plusieurs angles de tir différents en fonction de la distance à laquelle elle se trouve de l'objet &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 90;&lt;br /&gt;
float angle_3_first =45;&lt;br /&gt;
float angle_3_end = 145;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
float angle_tilt = 45;&lt;br /&gt;
int delay_shoot = 1000;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  //angle_2 = serv_mot_2.read();&lt;br /&gt;
  //angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(50); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;50){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;=100){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(angle_tilt/(distance/10));&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_end);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_2.write(angle_2);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    serv_mot_3.write(angle_3_first);&lt;br /&gt;
    delay(delay_shoot);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29981</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29981"/>
				<updated>2025-01-23T12:22:25Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* fichiers à joindre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Premier test des éléments===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Seconde étape du code===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
float angle_1 = 0;&lt;br /&gt;
float angle_2 = 0;&lt;br /&gt;
float angle_3 =0;&lt;br /&gt;
float next_angle_add = 1;&lt;br /&gt;
int something = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
  angle_1 = serv_mot_1.read();&lt;br /&gt;
  angle_2 = serv_mot_2.read();&lt;br /&gt;
  angle_3 = serv_mot_3.read();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
  delay(100); //délais &lt;br /&gt;
&lt;br /&gt;
  if (angle_1 ==0){&lt;br /&gt;
    next_angle_add = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(angle_1 ==180){&lt;br /&gt;
    next_angle_add = -1;&lt;br /&gt;
  }&lt;br /&gt;
  angle_1 = angle_1 + next_angle_add;&lt;br /&gt;
  serv_mot_1.write(angle_1);&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    next_angle_add =0;&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(145);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_2.write(90);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
    next_angle_add =1;&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29958</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29958"/>
				<updated>2025-01-23T11:18:30Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Mettre du code Arduino */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                              |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
                              */&lt;br /&gt;
//Ajout de la bibliothèque ultrasonic&lt;br /&gt;
#include &amp;lt;Ultrasonic.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Création de l'objet ultrasonic&lt;br /&gt;
Ultrasonic ultrasonic(5, 4);&lt;br /&gt;
Servo serv_mot_1;&lt;br /&gt;
Servo serv_mot_2;&lt;br /&gt;
Servo serv_mot_3;&lt;br /&gt;
const int LED_L = 2;&lt;br /&gt;
const int LED_R = 15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600); // démarrage de la connexion série*&lt;br /&gt;
  pinMode(LED_L,OUTPUT);&lt;br /&gt;
  pinMode(LED_R,OUTPUT);&lt;br /&gt;
  serv_mot_1.attach(16,544,2600);&lt;br /&gt;
  serv_mot_2.attach(14,544,2600);&lt;br /&gt;
  serv_mot_3.attach(13,544,2600);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  //utilisation de l'objet&lt;br /&gt;
&lt;br /&gt;
  int distance = ultrasonic.read();&lt;br /&gt;
&lt;br /&gt;
  // affichage de la distance dans le terminal série&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Distance in CM: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(distance);&lt;br /&gt;
&lt;br /&gt;
  delay(1000); //délais d'une seconde&lt;br /&gt;
  if(distance &amp;lt;10){&lt;br /&gt;
    digitalWrite(LED_L,HIGH);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(45);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
  }&lt;br /&gt;
  else if(distance &amp;lt;20){&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,HIGH);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(45);&lt;br /&gt;
    serv_mot_3.write(0);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    digitalWrite(LED_L,LOW);&lt;br /&gt;
    digitalWrite(LED_R,LOW);&lt;br /&gt;
    serv_mot_1.write(0);&lt;br /&gt;
    serv_mot_2.write(0);&lt;br /&gt;
    serv_mot_3.write(45);&lt;br /&gt;
  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29911</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29911"/>
				<updated>2025-01-23T10:25:44Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Troubleshouting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
problèmes : Carte Arduino, Capteur à ultra-son, Code&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29796</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29796"/>
				<updated>2025-01-22T15:52:41Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
Nous sommes 3 énibiens étudiant en 1ère année du cycle ingénieur (3ème année avec le cycle préparatoire) et nous nous appelons JANNIN Brewen, ROHOU Logan et PAYRASTRE Mathis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
Ce projet E-BOO a été réalisé dans le cadre de l'intersemestre 3 et lors du hackathon le 22 et 23 janvier 2025 avec l'aide de l'association des Petits débrouillards et nous les remercions pour ça.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29794</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29794"/>
				<updated>2025-01-22T15:49:27Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous comment se projeta été effectué, dans quelles conditions et les étapes de cette aventure.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29791</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29791"/>
				<updated>2025-01-22T15:47:30Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* description (résumé) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
Le principe est le suivant : La tourelle peut tourner et avec un capteur trouver une cible proche puis lui tirer dessus grâce à un système de tir d'élastique déclenché automatiquement. Cette tourelle sera faite pour rappeler le Hiboux avec deux LED pour ses yeux, celles-ci s'allument différemment en fonction du mouvement effectué&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29787</id>
		<title>ENIB 2025 : E-BOO</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_E-BOO&amp;diff=29787"/>
				<updated>2025-01-22T15:44:37Z</updated>
		
		<summary type="html">&lt;p&gt;E-BOO : /* outil et matériel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Le projet E-BOO est un projet de construction d'une tourelle automatique.&lt;br /&gt;
Celui-ci Consiste en une tourelle pouvant trouver une cible proche et lui tirer un élastique dessus.&lt;br /&gt;
Il est composé de la liste du matériel juste en dessous.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bonhomme bras leve.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! nombre !! élément&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
3&lt;br /&gt;
|| &lt;br /&gt;
Servo-moteur&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Capteur Ultra-son&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
2&lt;br /&gt;
|| &lt;br /&gt;
LED&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Carte Arduino esp8266&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || Carton&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || câble&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || colle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| * || clou&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Les plans&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
Construction de la tourelle&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Assemblage&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
code et branchements électroniques&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>E-BOO</name></author>	</entry>

	</feed>