Bras Robot

Salut les Polypotes !

Actuellement en deuxième année de cycle préparatoire ingénieur, nous avons choisi de nous intéresser à la robotique dans le cadre de notre projet de conception. Notre groupe se compose de Victor, Emma et Stanislas. Nous sommes trois étudiants souhaitant rejoindre la filière SAGI, la robotique nous intéresse donc tout particulièrement. Le projet du bras robot nous a permis d’avoir une première approche de ce domaine, de découvrir le fonctionnement des actionneurs et du microcontrôleur (carte Arduino Uno). De plus, nous avons eu l’occasion de nous essayer à la cinématique afin de modéliser notre bras sur Matlab ou Python. Notre professeur référent, M.Chatti nous a guidé étape par étape tout du long de notre projet.

IMG_3467

Au commencement de notre projet, nous avons reçu le bras tel qu’il est sur la photo ci – dessus. Il venait d’être fabriqué à l’aide de l’imprimante 3D à Polytech Angers et était composés de 6 servomoteurs qui effectuent des rotations lui permettant de se déplacer dans toutes les direction de l’espace. A première vue, nous avons décelé quelques défauts, par exemple, certains servomoteurs n’avaient pas un assez grand couple pour soulever le bras et porter un objet, de plus d’autres ne fonctionnaient même pas.

Pour commencer nous avons décidé de nous intéresser aux actionneurs; les servomoteurs. Il fallait les tester afin d’être sûr de leur bon fonctionnement. Pour ce faire nous avons utilisé des potentiomètres ainsi qu’une carte Arduino. Les potentiomètres avaient pour objectif de donner une consigne au microcontrôleur qui avait lui même pour but d’envoyer un signal aux actionneurs, les servomoteurs. Nous avons simulé notre programme et nos branchements sur le logiciel TinKerCad.

tinkercad

Après avoir testé et changé les servomoteurs qui ne fonctionnaient pas bien nous nous sommes occupés de connecter la carte Arduino au smartphone. Pour ceci on a utilisé un module Bluetooth à brancher sur la carte, et une application Android que nous avons créé à l’aide d’une application développée par Google et le MIT; MIT app inventor, qui permet de créer des applications installables sur tous les smartphones Android.

Interface de MIT app inventor avec notre code en block

Interface de MIT app inventor


Nous avons configuré l’interface de l’application pour y installer six curseurs (un pour chaque moteur) et ainsi contrôler toutes les articulations du bras.

L’application, une fois connectée au module Bluetooth de la carte, envoie un signal Bluetooth à chaque déplacement d’un curseur, qui indique le moteur concerné ainsi que la position désirée par l’utilisateur. La carte reçoit ce signal et pilote les servomoteurs en fonction de la position donnée.
Sur l’image ci-dessus on peut voir deux boutons clap numérotés 1 et 2. Ce sont les boutons scénario. Sur Arduino, nous avons programmé un enchaînement de positions pour chaque servomoteur qui va créer un mouvement en répétition, ce qui permet de répéter une action comme on peut voir dans la vidéo ci-dessous, où le bras vide une boîte de chewing-gum puis la replace à un autre endroit.

Nous avons aussi ajouté à notre programme un moyen d’enregistrer les positions de servomoteurs envoyées depuis l’application pour ensuite répéter automatiquement la série mouvement demandé précédemment par l’utilisateur, pour que chacun puisse créer son propre scénario directement depuis l’application.

Cinématique directe/inverse:
Par la suite, nous nous sommes renseignés sur:
– La cinématique directe(calculer la position finale de la pince à partir des positions de toutes les articulations.)
– La cinématique inverse(calculer les positions nécessaires aux articulations pour obtenir une position finale du bras, à partir de la position de la pince.)
Cependant, par manque de temps, nous n’avons pas pu approfondir la cinématique inverse. Avec une étude de cinématique inverse nous pourrions donner une position en X,Y,Z d’un objet et le bras ferait les mouvements nécessaires pour que la pince atteigne cette position le plus rapidement possible.

Pour la cinématique directe, il est possible de calculer la position finale de la pince avec plusieurs approches différentes, par exemple à l’aide des relations trigonométriques existantes dans un triangle rectangle ou à l’aide d’équations de cercles. Nous avons donc fait des programmes sur Python et Matlab pour effectuer ces calculs, ce qui nous à permis de modéliser le bras en fonction des positions qu’on lui à donné.

Interface final  de la cinematique du bras, sur matlab

Interface finale de la cinématique du bras, sur Matlab

Problèmes:
Quelques problèmes sont apparus, liés aux branchements et à la puissance des servomoteurs, nous avons donc eu besoin de changer deux des 6 servomoteurs car il avaient besoin d’un plus grand couple. Nous avons donc acheté deux servomoteurs d’un couple supérieur à 20kg.cm pour soulever le bras. Nos anciens servomoteurs ne dépassaient pas 13kg.cm. Les nouveaux moteurs n’étant pas de la même taille, nous avons imprimé une nouvelle pièce adaptée aux nouvelles dimensions(en blanc ci-dessous).


Malgré l’acquisition de moteurs plus puissants, nous avions toujours des problèmes pour contrôler le bras. Ces problèmes étaient en fait dû au manque d’alimentation, la carte Arduino avait du mal à alimenter les 6 servomoteurs. Nous avons donc branché la moitié des moteurs sur un générateur pour leurs fournir 6V et ainsi leur donner une plus grande puissance, ce qui a fonctionné, puisque nous avons fini par faire fonctionner parfaitement le bras avec une charge dans la pince.

Pour finir, nous avons trouvé ce projet très intéressant car il nous à permis d’approfondir nos connaissances en robotique et de découvrir de nouvelles choses telles que la cinématique qui nous sera probablement très utiles pour la suite de nos études.

Merci de nous avoir lu jusqu’au bout!

La guitare augmentée

Dans le cadre du projet de conception, nous avons choisi de travailler sur la guitare augmentée. Nous sommes deux étudiants de deuxième année à Polytech Angers. Étant tous les deux musiciens, nous nous sommes naturellement tournés vers ce projet.

Présentation du projet

Dans le monde de la musique, il arrive souvent que les instruments soient amplifiés : guitare, basse, batterie, trompette, voix… Il existe de nombreuses pédales d’effet, permettant de modifier le son de l’instrument. Ces pédales ont des réglages, souvent grâce à un potentiomètre, où on peut gérer le niveau d’effet donné au son. Le potentiomètre étant petit, il faut le faire varier à la main.
Pour éviter d’interrompre un morceau pour changer le son, nous avons pensé à un système permettant de changer le niveau d’effet en effectuant un mouvement spécifique.
Dans ce projet, nous avons renforcé le travail de groupe et nous avons appris la programmation Arduino.

Etapes du projet

  1. Système mécatronique
  2. Profilé aluminium

    Système mécatronique avec les profilés aluminium


    Pour commencer, nous avons cherché à construire un système permettant à un servomoteur de faire tourner un potentiomètre. Après plusieurs essais infructueux, nous avons découvert les Makerbeams. Nous avons mis en place un système de courroie reliant les servomoteurs avec les pédales. Pour cela, nous avons calculé le rapport de réduction entre l’amplitude du servomoteur et l’amplitude du potentiomètre de la pédale. Nous avons modélisé les roues dentées et les avons imprimées grâce à une imprimante 3D. Nous avons donc mis les servomoteurs sur les profilés aluminium Makerbeams pour pouvoir tendre la courroie.

  3. Arduino
  4. Nous avons utilisé des micro ordinateurs Arduino pour transmettre l’orientation que prend la guitare au servomoteur. Le capteur fourni par notre professeur possède un gyroscope et un accéléromètre. Pour l’utilisation que nous lui voulions, nous avons utilisé seulement le gyroscope. Après avoir cherché comment le capteur marche, nous avons codé un programme qui prenait l’angle selon un axe particulier, et nous avons pris en compte la différence d’angle pour envoyer aux servomoteurs.

Travail réalisé


Nous avons mis ci-dessus un essai de notre prototype. Fonctionnel, ce prototype peut être amélioré, sur l’esthétique pas exemple.

Difficultés rencontrées

  • Trouver le système mécatronique
  • Nous avons mis du temps à concevoir et à mettre en place un prototype avant de découvrir les profilés aluminium Makersbeams. Nous avons fixé les servomoteurs sur ceux-ci. Les profilés aluminium ont pour avantage d’être amovibles et fixables, ce qui nous permet de tendre la courroie et de maintenir la tension.

  • Trouver le fonctionnement du capteur
  • https://store-cdn.arduino.cc/uni/catalog/product/cache/1/image/500x375/f8876a31b63532bbba4e781c30024a0a/a/0/a000070_iso.jpg

    Capteur gyroscope accéléromètre

    Notre professeur référent nous a fourni un capteur gyroscope et accéléromètre Arduino, le 9 Axis Motion Shield. Nous avons cherché à savoir quel type de données il renvoyait et sous quelle forme. Nous avons donc cherché la documentation relative à ce capteur Arduino. Le site arduino.cc nous fournissait une documentation technique mais ne renseignait rien quant aux données transférées. Nous avons ensuite trouvé un site nous donnant une librairie et un programme permettant d’envoyer les données du gyroscope et de l’accéléromètre. Nous avons donc sélectionné les données souhaitées, les avons traitées avant de brancher le capteur à un autre micro ordinateur Arduino.

Conclusion
Durant ces quatre mois de travail sur ce projet, nous sommes partis d’un cahier des charges décrivant les fonctions que devrait remplir le prototype. Nous avons donc cherché à mettre en œuvre des moyens suffisants pour répondre au mieux au cahier des charges. Comme le montre la vidéo ci-dessus, nous avons réussi à mettre en place un prototype fonctionnel.Ce projet nous a permis de mettre en pratique ces deux ans d’apprentissage théorique et de nous faire une idée du travail que l’on attend d’un ingénieur.

Projet mélangeur de cartes pour le poker

Résultat de recherche d'images pour "poker"

Nous sommes 5 étudiants de 2ème année de cycle préparatoire à Polytech Angers : Réda JALALI, Corentin LAURENDEAU, Maxime MARTIN, Lilian MOUCHARD et Marion WACHOWIAK.

Dans le cadre de notre cursus, nous devons réaliser un projet de conception en 80 heures. Nous avons choisi de réaliser le projet Mélangeur de Cartes, dans lequel nous avions pour objectif de créer un mélangeur de cartes parfait : c’est à dire, où chaque carte à la même probabilité d’être à chaque place du paquet de cartes une fois mélangé.

Sur le marché, il existe des modèles de mélangeurs de cartes parfaits mais ils sont très coûteux : ils sont généralement autour de 15000€ et ne sont utilisés que par les professionnels (casinos, etc), comme ceux-ci

Résultat de recherche d'images pour "deck mate 2"

Il existe également des mélangeurs de cartes peu onéreux, environ 25€ mais non parfait, comme celui-ci, facilement trouvable :

melangeur

DESCRIPTION

Pour cela, nous avons choisi de réaliser une maquette constituée de plusieurs éléments : un éjecteur de cartes, une tour avec 52 étages, un tiroir servant à récupérer les cartes.

Pour la partie éjecteur : nous avons réalisé une maquette en bois, avec du papier et un système avec 3 roues qui tournent grâce à 3 moteurs.

Ce système nous permet d’attraper les cartes une par une et de les guider dans l’éjecteur jusqu’à ce qu’elles soient éjectées dans la tour.

Pour cela, nous avons utilisé une carte Arduino, 3moteurs CC (courant continu) et 2 shields moteur :

 

Ensuite, pour faire monter/descendre l’éjecteur le long de la tour, nous avons utilisé un moteur pas à pas ainsi qu’un capteur photosensible, ce qui permet une précision supérieure à celle que nous aurions pu obtenir avec des moteurs CC.

Le guidage de l’éjecteur le long de la tour est effectué par des crémaillères.

 

En ce qui concerne la tour, elle a été réalisée en CAO sur SolidWorks puis imprimée avec l’imprimante 3D de Polytech Angers.
Lorsque toutes les cartes ont été mises dans la tour, les parois extérieures de celle-ci bougent et la pile de cartes tombe.

Pour cela, nous avons utilisé une carte Arduino et 2 servomoteurs :

 

PARTIE RANDOMISATION

La partie randomisation des cartes est assurée par un programme qui gère les 3 moteurs CC de l’éjecteur. Pour obtenir un “aléatoire parfait” la base du programme est un pin qu’on laisse dans le vide, personne ne peut donc connaître la valeur de celui-ci.

 

FONCTIONNEMENT DE LA MAQUETTE

Le maquette suit les étapes suivantes :

  •  Attraper une carte.
  •  Décider de la place où la positionner dans la tour (réalisé par le programme qui gère les moteurs qui servent à attraper les cartes).
  •  Faire monter l’éjecteur.
  •  Éjecter la carte pour la positionner dans la tour.
  •  Faire redescendre l’éjecteur.
  •  Répéter les opérations suivantes jusqu’à ce que toutes les cartes soient positionnées dans la tour.
  •  Une fois la tour pleine, les servomoteurs se trouvant sous les parois de la tour sont actionnés et elles bougent pour laisser tomber les cartes dans le tiroir situé en dessous.

 

1ère étape : Le système avec les roues attrape une carte puis la guide le long de l’éjecteur.

 

2ème étape : L’éjecteur se déplace en fonction de la position qui a été attribuée à la carte puis éjecte la carte dans la tour.

 

3ème étape : Lorsque toutes les cartes ont été mises dans la tour, les servomoteurs font bouger les parois extérieures de celle-ci pour que la pile de carte tombe.

Il n’y a plus qu’à récupérer les cartes (et à jouer, bien évidemment 😉 !)

 

Voici deux vidéos montrant le fonctionnement de la maquette finale, avec l’éjecteur et la tour :

 

 

Nous tenons à remercier notre encadrant de projet, M. Lagrange.

Ballon stratosphérique

Chers lecteurs,

Nous regrettons fort de devoir vous le dire, mais l’article suivant n’est pas des plus joyeux.

Il raconte la triste aventure de quatre étudiants en deuxième année de classe préparatoire à Polytech’Angers qui ont toutes les malchances et collectionnent les angoisses.

Dans cet unique article, ils vont affronter les standards de la DGAC, les regards d’une centaine d’élèves en classe de quatrième, un système GPS défaillant, et des interviews incessantes. Pour notre part, il est dans notre devoir de raconter ces funestes épisodes, mais rien ne vous interdit, chers lecteurs, de passer votre chemin et de cliquer sur un autre article.

Avec nos sentiments respectueux.

Rosanne Biotteau, Ersin Duman, Juliette Trahan, Emmy Teillet. 

Bonjour à tous !

Nous sommes quatre étudiants en EI2 et pour le semestre 4, nous avons décidé de travailler ensemble sur le projet d’un ballon stratosphérique.

L’enjeu de ce projet était d’envoyer un ballon gonflé à l’hélium dans la stratosphère, de filmer le voyage et de récolter certaines données telles que la température, la pression, l’altitude, l’humidité et la quantité de CO2. De plus, nous devions nous rendre auprès des classes de quatrième du collège Clément Janequin, à Avrillé, afin de leur expliquer notre travail et de leur donner envie d’étudier les sciences.

Notre ballon et de notre chaîne de vol lors du lancer

Notre ballon et de notre chaîne de vol lors du lancer

Ce projet est un projet complexe, qui nécessite des compétences dans de nombreux domaines. Avant de commencer à travailler dessus, nous ne savions notamment pas qu’il fallait demander des autorisations, parfois plus de trois mois avant le lancer. Voici les différentes autorisations que nous avons dû demander :

  • DGAC (Direction Générale de l’Aviation Civile) !! Vous ne pouvez pas envoyer un objet traversant les voies aériennes quand vous voulez, où vous voulez !!

  • L’autorisation du Maire d’Avrillé pour lui demander son accord pour lancer notre ballon depuis le Stade Delaune d’Avrillé

  • Autorisation d’occupation du domaine public avec l’accord de la DGAC et du Maire, auprès de la Police Municipale d’Avrillé.

Dans notre nacelle, nous avions décidé de mettre deux GoPro afin de filmer le vol de la nacelle, deux capteurs de température (intérieur/extérieur), un capteur dit Baromètre mesurant la pression, l’altitude, l’humidité, un capteur GPS pour enregistrer la trajectoire de notre matériel, et un capteur de CO2.

De plus, pour retrouver tout cela une fois retombé sur terre, nous avions placé un traceur GPS ainsi qu’un téléphone connecté à un compte Google. Tous deux devaient nous communiquer leur position.

Ici vous pouvez voir l'intérieur de notre nacelle, comprenant les systèmes GPS ainsi qu'Arduino et son alimentation

Ici vous pouvez voir l’intérieur de notre nacelle, comprenant les systèmes GPS ainsi qu’Arduino et son alimentation.

Nous avons fait un exposé le lundi 13 mai 2019 auprès des classes de quatrième du collège Clément Janequin d’Avrillé, afin de leur expliquer notre projet en sachant qu’ils allaient assister au lancement de notre ballon. Cet exercice était assez intéressant puisqu’il nous a permis de pouvoir nous exprimer devant des groupes d’une cinquantaine de personnes, de devoir apprendre à expliquer simplement des concepts pouvant être compliqués à comprendre pour un niveau de quatrième (la notion de forces par exemple).

La date du jeudi 6 juin 2019 pour le lancement était prévue depuis le début du projet. Après avoir installé tout notre matériel au stade Delaune, nous avons appelé les collégiens pour qu’ils assistent à ce moment mémorable. Tout s’est bien passé, et notre ballon a décollé bien plus rapidement que ce à quoi nous nous attendions.

Lundi 6 juin, Stade Delaune Nous étions en train d'installer tout le matériel nécessaire, ici en train de gonfler le ballon. Il fallait le maintenir avec un drap afin qu'il ne s'envole pas de suite.

Lundi 6 juin, Stade Delaune, Avrillé
Nous étions en train d’installer tout le matériel nécessaire, ici en train de gonfler le ballon. Il fallait le maintenir avec un drap afin qu’il ne s’envole pas de suite.

A l’aide d’une simulation réalisée sur Internet, nous savions que notre matériel devait se rendre dans la Mayenne, et atterrir aux alentours de Vaiges, mais plein de critères étaient pris en compte et la précision de cette simulation n’était pas optimale.

Itinéraire entre le Stade Delaune d'Avrillé et Vaiges

Itinéraire entre le Stade Delaune d’Avrillé et Vaiges

 

A la recherche de notre matériel, Vaiges

A la recherche de notre matériel, Vaiges

Lancer ce ballon présentait certains risques. :

  • Traverser des voies aériennes nécessitait l’autorisation de la DGAC !

  • Il faut également savoir qu’en prenant de l’altitude, les températures peuvent descendre jusqu’à -60°C, ce qui est mauvais pour les batteries ! Pour cela notre nacelle était fabriquée en polystyrène extrudé, recouverte d’une couverture de survie. De plus, nous avions mis des chaufferettes à l’intérieur.

  • La chute du matériel n’est pas contrôlée. La nacelle peut très bien retomber sur une route et causer un accident, tomber dans l’eau, ou pire… en zone blanche, tout en sachant que nos deux systèmes GPS requièrent du réseau mobile afin de nous envoyer leur position. Le téléphone nécessite également des données mobiles afin de communiquer sa position sur une carte.

Malheureusement, 24 heures après le décollage… toujours aucune nouvelle…

C’est alors que commence notre longue et triste histoire… Sans nouvelle de notre nacelle, nous avons commencé par contacter les journaux. Quelques jours plus tard, nous retrouvions déjà notre avis de recherche sur plusieurs journaux (ici Ouest France) et même à la radio (ici Hit West) ! (une petite erreur de prénom, mais on n’a pas tout ce qu’on veut dans la vie…)

C’est alors que les témoignages fusent, mais aucun ne correspond à notre matériel…

C’est dans l’attente d’un signe de vie de notre nacelle  que nous vous quittons.

Nous vous avions prévenu, bien que nous ayons acquis de nombreuses compétences, cette histoire n’est pas des plus joyeuses.

 

TUTO : Concevoir un système de surveillance

Bienvenue à toi humble visiteur ! Besoin de protéger ta maison ? Tu as frappé à la bonne porte !

Ici nous allons t’apprendre comment concevoir ta propre alarme de A à Z. Tout d’abord, une petite présentation s’impose : nous sommes Coline et Léa, deux étudiantes de 2ème année de l’école d’ingénieurs Polytech Angers. Dans le cadre de projet tutoré, nous avons décidé de réaliser celui encadré par Mme TIDRIRI et M. CHATTI.

Prépare-toi, nous allons débuter !

Système de surveillance

Le but de notre projet consiste à concevoir, fabriquer et programmer un système de surveillance. Voici comment il fonctionne :

L’utilisateur place le système dans l’entrée de sa maison à hauteur d’épaule. Quand il sort de chez lui, pour aller au travail par exemple, il active le système de surveillance en entrant son code secret. Si un intrus pénètre par effraction dans la maison, le détecteur ultrasons envoie un signal au système qui déclenche l’alarme. Pour arrêter la sonnerie de l’alarme, l’utilisateur doit rentrer de nouveau son mot de passe.

De plus, notre système permet à l’utilisateur de changer régulièrement son code à 4 chiffres.

Pour approfondir les attentes du cahier des charges, nous avons également conçu une application Androïd pour faciliter l’utilisation de l’alarme. Notre système de surveillance est sous forme de boitier que l’on peut contrôler soit manuellement directement sur le support, soit grâce à son téléphone portable personnel.

schémabloc

Schéma simplifié des fonctionnalités de l’alarme sans la vérification et correction des codes entrés

Ce tuto se décompose en 5 parties, que tu peux découvrir ci-dessous.

1ère partie : Le matériel

Pour commencer, il faut t’équiper. Et oui, un bon concepteur a toujours une bonne boîte à outils.

Pour mener à bien ton projet d’alarme, il te faudra :

  • Une carte Arduino Mega avec le câble d’alimentation

Carte Arduino Mega

  • Un écran LDC avec son potentiomètre
  • Un clavier matriciel

Clavier matriciel

  • Un capteur Ultrasons HC-SR04
  • Un module Bluetooth (si tu veux contrôler le système avec ton téléphone)
  • Des fils et une plaquette
  • Un buzzer
  • Éventuellement plusieurs LEDs (couleurs différentes)

Ça y est, tu as tout ce qu’il te faut ? Nous allons pouvoir attaquer la partie la plus intéressante, la programmation.

2ème partie : La programmation sous Arduino

Si tu veux d’abord t’entraîner avec tout ces nouveaux composants, il existe un logiciel en ligne Tinkercad qui permet de modéliser des circuits électriques comportant les différents éléments que nous allons utiliser ensuite.

Pour commencer, télécharge et installe le logiciel Arduino. Nous allons t’expliquer certaines bases qui te serviront pour l’avenir.

Fonctions et boucles

 →  1ère étape : void ActiverAlarme() 

Nous allons commencer par écrire la fonction qui permet d’activer le système d’alarme : (clique sur la photo pour voir la vidéo)

Cette fonction permet à l’utilisateur d’activer l’alarme en rentrant son code, dès lors qu’il appuie sur la touche A du menu. Celui-ci doit être le bon pour que le système s’active.

Fonction Activation

En traduction programmation, la chaîne de caractère que l’utilisateur va saisir sur le clavier matriciel doit être la même que celle prédéfinie pour le mot de passe. Nous devons donc, dans cette fonction, coder une vérification de la chaîne comportant le bon nombre de chiffre.

Si le résultat de l’opération de vérification est correct, notre fonction va appeler une fonction d’activation void Activation() qui va lancer le compte à rebours et mettre en marche le détecteur Ultrasons.

Lors de la saisie de son mot de passe, l’utilisateur est capable de se tromper. C’est pourquoi nous avons ajouté une fonction à la touche “C” qui permet d’effacer le début de la chaîne de caractères qu’il était en train de saisir. L’utilisateur peut aussi rentrer un code faux. Dans notre système de surveillance, nous avons décidé de laisser 3 chances à l’utilisateur pour réussir.

 →  2ème étape : void DesactiverAlarme() 

Passons à la programmation de la fonction qui permet de désactiver l’alarme. L’appui sur la touche “A” du clavier lorsque le système d’alarme est activé doit permettre à l’utilisateur de désactiver son alarme. (Quand il rentre de son travail par exemple.)

Cette fonction est de la même forme que void ActiverAlarme() sauf que lorsque le code est bon, le booléen (variable à deux états) alarmeActivee est mis à “false”, ce qui est utile pour les fonctions suivantes et pour le menu void Loop.

→  3ème étape : void Activation()

La fonction Activation lance un compte à rebours et active l’alarme dès lors que la fonction ActiverAlarme est vraie. Elle permet de mettre en marche les autres composants de notre système.

void activation(){ // Fonction qui lance l'activation de l'alarme (lance le détecteur)

 lcd.clear();
 lcd.setCursor(1,0); // Place le curseur tout en haut à gauche de l'écran
 lcd.print("ALARME ACTIVEE");
 lcd.setCursor(1,1); // Place le cruseur sur la deuxième ligne de l'écan
 lcd.print("DANS ");

 int comptearebours = 9; // compte à rebours avant l'activation de l'alarme (10s)
 while (comptearebours != 0) {
  lcd.setCursor(10,1);
  lcd.print(comptearebours);
  comptearebours--;
  delay(1000); // toutes les secondes
 }
 lcd.clear(); // Efface l'écran
 lcd.setCursor(1,0);
 lcd.print("ALARME ACTIVEE");
 alarmeActivee = true;
 buzzer(); // Avertisseur sonore pour l'activation de l'alarme
 digitalWrite(ledverte, HIGH);
 delay (2000);
 digitalWrite(ledverte, LOW);
 lcd.clear();
 }

 →  4ème étape : void changerMotdepasse()

L’appui sur la touche “B” de notre clavier matriciel permet à l’utilisateur de changer son mot de passe. Il doit dans un premier temps rentrer l’ancien code, ce qui lui permet d’accéder à cette fonctionnalité. Il en propose ensuite un nouveau qu’il doit confirmer.

 →  5ème étape : void intrus()

La fonction la plus importante d’une alarme est sans aucun doute celle qui permet de détecter la présence malveillante d’un intrus. On utilise pour cela un capteur Ultrasons qui va mesurer une distance donnée à un intervalle précis. Le capteur envoie une impulsion qui va être reçue par une autre partie du capteur. Le temps que met l’ultrason à être envoyé puis reçu, va nous permettre de mesurer une distance. Si celle-ci est inférieure à la longueur définie au départ (espace autour du boitier dans la maison), alors cela veut dire qu’il y a la présence d’une personne non désirée.

Cependant, le capteur est inactif dès lors que l’utilisateur appuie sur une touche de n’importe quel clavier connecté au système (soit le clavier matriciel, soit le clavier de l’application du téléphone).

void intrus(){ // Fonction qui active l'alarme (bruit) en cas de présence suspecte

 tone(Piezo, 440);
 digitalWrite(ledrouge, HIGH);
 int c = 0;
 motdepassesaisi = "";
 lcd.clear();
 lcd.setCursor(2,0);
 lcd.print("SAISIR CODE");

 while(c < 4) {
  if (Serial.available() > 0){ // Connexion Bluetooth
   state = Serial.read();
   touche = state;
   Serial.flush();
  }
  else {
   touche = clavier.getKey();
  }
  if (touche){
   if (touche == '0' || touche == '1' || touche == '2' || touche == '3' ||
       touche == '4' || touche == '5' || touche == '6' || touche == '7' || 
       touche == '8' || touche == '9' ) {
        motdepassesaisi += touche;
        lcd.setCursor(c,1);
        lcd.print("*"); 
        delay(500);
        c++;
   }
  } 
 }

 if (motdepassesaisi == motdepasse) { // La sonnerie du buzzer est arrêtée si l'utilisateur a rentré le bon code
  distance = 5;
  digitalWrite(ledrouge, LOW);
  noTone(Piezo);
  lcd.clear();
  lcd.setCursor(4,0);
  lcd.print("OK CHEF"); 
  delay(1000);
  lcd.clear();
 }
}

À partir de là, il ne te reste plus qu’à mettre en forme le programme avec les fonctions void setup() et void Loop() qui sont la base du code Arduino. Il faut que tu définisses l’ordre des fonctions que tu appelles dans la boucle, et il faut incrémenter et initialiser les variables dont tu as besoin pour le programme.

void setup() {

 lcd.begin(16,2); // écran LCD à 16 colonnes det 2 lignes
 pinMode(Piezo, OUTPUT); // Buzzer en SORTIE
 pinMode(trigPin, OUTPUT); // Capteur Ultrasons
 digitalWrite(trigPin, LOW);
 pinMode(echoPin, INPUT); // Capteur Ultrasons
 pinMode(ledverte, OUTPUT);
 Serial.begin (9600);
}

FONCTIONS Auxiliaires et supplémentaires

Lors de nos phases de tests, nous avons choisis d’améliorer le programme de base avec différentes nouvelles fonctions, telles que : une fonction de correction, la possibilité de modifier sa saisie au clavier, et une fonction pour le son du buzzer…  Elles permettent de rendre l’utilisation de l’alarme plus facile. A toi de choisir si elles t’intéressent.

3ème partie : montage et câblage

Après finalisation du programme, il faut câbler et relier les composants entre eux. Grâce aux schémas fonctionnels disponibles sur le net, prend ton temps et réalise un beau montage en tenant compte des entrées Analogiques ou Digitales.

Câblage écran LCD

4éme partie : Conception Boitier

Arrive le temps de mettre tout ton travail en boite ! Pour cela, plusieurs choix : soit tu fabriques un boitier en bois ou avec un matériau que tu affectionnes, soit avec une imprimante 3D sous SolidWorks ou tout autre logiciel de Conception Assistée par Ordinateur (CAO).

Comme c’est ton alarme, choisi un design et des couleurs sympas qui te conviennent et qui s’associeraient facilement avec ton intérieur.

Conception boitier    Boitiervert

5ème partie : Amélioration pour l’utilisation

Application sur Androïd

Si tu veux pousser le projet plus loin, il est possible de créer d’autres interfaces entre le système et l’utilisateur. Par exemple, tu peux améliorer ton système d’alarme en créant une application utilisable sur ton smartphone. Nous avons choisis d’utiliser le logiciel en ligne MIT App Invetor qui permet de concevoir des applications utilisables sous Androïd.

MIT App Inventor Interface MIT AppCodeBlocksMitAPP

Utilisation TÉLÉCOMMANDE Infrarouge

Nous avons aussi créé une fonction qui permet d’utiliser, et le clavier matriciel, et une télécommande InfraRouge, ce qui, comme l’application mobile, permet de contrôler le système de surveillance à distance.

Télécommande IR

Voilà ! C’est fini ! Tu as à présent une belle alarme que tu peux utiliser chez toi pour prévenir la présence d’un intrus chez toi. Bravo et merci d’avoir suivi ce petit Tuto !

Coline & Léa – Peip2 

Projet Dumbell-Pong

Bonjour à tous, nous sommes trois étudiants d’EI2 ayant pour projet la réalisation d’un jeu de Pong à 4 joueurs.

Présentation du Projet :
Le but de ce projet est de réaliser un jeu vidéo permettant à un ensemble de personnes d’interagir sur ce dernier. Le cahier des charges est le suivant :
• Développement du jeu de Pong à l’aide du logiciel Processing.
• Utilisation du périphérique Makey-Makey.
• Apport d’un côté ludique au jeu.

Le langage :
Processing est une bibliothèque Java et un environnement de développement libre. Ce logiciel est tout particulièrement adapté à la création plastique et graphique interactive, il était donc parfait pour notre jeu de Pong.

Processing

Environnement de Processing

Nous nous sommes donc formés gratuitement grâce à OpenClassrooms (10h) de sorte à nous initier à la programmation sur Processing.

Le MakeyMakey :
Le MakeyMakey est un dispositif d’émulation de clavier à partir d’objets du quotidien : la manipulation de tout objet conducteur relié au MakeyMakey va envoyer un signal à un ordinateur, qui réagira avec la fonction que vous avez défini, en fonction du logiciel que vous utilisez.

http://labenbib.fr/index.php?title=Makey_Makey

www.youtube.com/watch?v=rfQqh7iCcOU

La conception :
Nous devions dans cette partie surtout imaginer comment associer notre jeu de Pong à l’interface Makey-Makey.
Après réflexion nous avons décidé d’associer des poids de musculation au jeu. C’est-à-dire qu’en soulevant son poids de musculation, le joueur pourrait déplacer sa barre de jeu ; (chacun des joueurs aura deux poids correspondant à Gauche et Droite), donc un total de 8 poids.

La réalisation :
1. Programmation
Cette étape a consisté à s’inspirer de code déjà écrit.

Pong 4 Joueurs développé avec Processing

Pong 4 Joueurs développé avec Processing

C’est là d’ailleurs, que nous avons trouvé la première étape de notre jeu : il y a en effet un Pong 1 joueur expliqué en détail et c’est à partir de ce fichier que nous avons adapté notre jeu pour en créer un avec quatre joueurs. Un en haut, en bas, à droite et à gauche. Mais en gardant une seule balle.
Nous avons ensuite essayé d’augmenter la vitesse de la balle de manière permanente. Puis progressivement, de cette manière plus l’échange durait, plus la difficulté augmentait.
Nous avons aussi modifié les rebonds, pour que l’angle incident de la trajectoire de la balle avec le rectangle influe sur l’angle réfléchi.

2. Le guidage
Dans cette partie il a fallu surtout fabriquer une base portant le poids de musculation, relié au Makey-Makey qui permettrait au joueur d’interagir avec sa barre de jeu.
Nous avons donc imaginé le dispositif suivant :

Guidage Joueur Dumbell-Pong

Face arrière du guidage pour le joueur

Il faut brancher les fils sur les pointes (1) et (2).

Face Avant Guidage

Face Avant Guidage Joueur

Ainsi en soulevant le poids relié à la corde, (1) et (2) ci-dessus se touchent et créent le contact auquel réagit le MakeyMakey et fait donc bouger la barre du joueur de Pong.

Rendu Jeu + Guidage

Rendu Jeu + Guidage

Il suffit donc de relier les poids aux 2 cordes puis jouer.

Conclusion
Ce projet nous a permis de mieux appréhender le travail d’équipe, d’apprendre à se répartir les tâches, respecter un cahier des charges et des échéances.
Au final nous avons pu réaliser un prototype de jeu, auquel il est encore possible d’apporter des améliorations et d’optimiser.

Objet connecté pour vélo

Bonjour à tous !

Nous sommes un groupe composé d’Anushik Grigoryan, Mélissa Gautier et Amélie David , 3 étudiantes en EI2 et nous allons vous présenter notre projet de conception.
Nous devions réaliser un objet connecté qui permettrait à tout individu ayant un vélo d’appartement de profiter de promenades ludiques dans l’environnement virtuel Cycleo. Cet environnement divertissant a été conçu par l’entreprise Cottos Medical, start-up angevine, afin de permettre à des personnes en risque de perte d’autonomie d’effectuer une activité physique. Notre objectif était donc de récupérer sur n’importe quel vélo d’appartement, la vitesse à laquelle pédale l’utilisateur, la direction qu’il prend et si il freine afin de le transférer à l’interface Cycléo.
Nous avons eu l’occasion d’aller travailler directement à l’entreprise lors de nos heures de projet.

Entreprise Cottos Medical (Antoine JAMIN)

Entreprise Cottos Medical
(Antoine JAMIN)

Les étapes de notre projet :

Dans un premier temps nous avons cherché des capteurs adaptés à notre projet afin de les brancher à notre carte électronique Arduino qui récupèrera les données de ceux-ci. Ainsi nous utilisons un capteur à effet hall pour récupérer la vitesse grâce à des aimants Néodymes. De plus, l’utilisation d’un joystick nous a paru logique puisque la plupart des vélos d’appartements ont un guidon fixe. Ce joystick est relié sur les branchements analogiques de la carte Arduino. Nous avons aussi choisi d’utiliser un bouton poussoir qui correspond au frein du vélo.

Branchement capteurs

Branchement capteurs

1 : Bouton poussoir
2 : Joystick
3: Capteur à effet hall

De plus, nous avons dû imaginer un dispositif pour les aimants afin qu’ils puissent être détectés par le capteur effet hall. Il fallait qu’il héberge 4 aimants à equal-distances car nous souhaitions que la vitesse soit calculée tous les quarts de tour pour une meilleure précision. Après réflexion, nous en avons conclu que la partie mobile du vélo accueillera le dispositif.

Dispositif pour les aimants

Dispositif pour les aimants

En même temps, nous avons imaginé des modélisations sur SolidWorks de boîtier pour nos différents matériels (capteur effet hall, joystick, carte arduino). Par conséquent, nous les avons imprimé à l’entreprise Cottos Médical avec une imprimante 3D basé sur un laser chauffant une résine sensible aux UVs. Nous avons vu que les pièces doivent être traitées sur un logiciel afin qu’elles dépensent le moins de résine et qu’elles aient le meilleur rendu possible.

Boitier Arduino

Boitier Arduino

Boitier capteur à effet Hall

Boitier capteur à effet Hall

Boitier joystick

Boitier joystick

Imprimante 3D laser

Imprimante 3D laser

Fichier impression 3D

Fichier impression 3D

Parallèlement, nous avons codé sur Arduino un programme qui permet de récupérer les données envoyé par la carte électronique et de les analyser.
Malheureusement, à la fin du projet le bouton poussoir ne fonctionnait plus avec nos programmes. Ainsi, celui-ci n’est pas dans notre prototype final.
Par la suite, nous avons réalisé un programme python afin de récupérer et de séparer les valeurs envoyées par notre premier code arduino pour les placer dans une interface afin de mieux les visualiser.

Interface Python

Interface Python

Pour finir, nous avons pu réaliser le montage final de notre prototype en soudant les capteurs et en les reliant à la carte électronique à l’aide de connecteurs blancs.

Capteur relié à la carte Arduino

Capteur relié à la carte Arduino

Et nous avons pu essayer notre dispositif :

Nous remercions Antoine JAMAIN, notre tuteur, et Benjamin COSSE directeur général de COTTOS MEDICAL.

Kinetic Art

Bienvenu.e.s,
Nous, Bérangère Daviaud et Laura Texier, sommes deux étudiantes d’EI2 à l’ISTIA – Université d’Angers et dans le cadre de notre quatrième semestre, nous avons du réaliser un projet. Intéressées par la filière robotique et informatique et sensibles à l’art, notre choix s’est porté sur le projet Kinetic Art. Pour visualiser en quoi ceci consiste, voici une vidéo :

L’objectif premier de ce projet a été de créer un module constitué de servomoteurs, de capteurs et d’une arduino, puis de faire en sorte de pouvoir positionner chaque balle de chaque moteur à une certaine hauteur, grâce à l’indication du capteur associé ; puis de faire communiquer une carte raspberry pi avec l’arduino pour définir la hauteur des balles. Le second objectif, s’il restait du temps, était de modéliser et concevoir plusieurs modules, puis de les faire communiquer ensemble.

  • Arduino
  • Kinetic Art

    Kinetic Art (vue du dessus)


    Nous avons commencé avec une carte arduino, qui nous a servi à créer un programme d’initialisation des capteurs de distance VL53L0X. Le programme fonctionne de la manière suivante : on éteint tous les capteurs, puis on les rallume un par un en leur attribuant à chacun une adresse. Ensuite, nous sommes passées à l’initialisation des servomoteurs, dans laquelle on demandait au moteur de placer, à l’aide des capteurs, chaque balle à la même hauteur.

  • Conception
  • Afin de travailler avec un bus CAN, nous avons conçu un deuxième module. Pour ce faire, nous avons modélisé sous solidworks les pièces nécessaires. Puis nous les avons conçues, à l’aide des machines disponibles au FabLab (charlyrobot, imprimante 3D et fraiseuse). Nous avons également soudé les composants d’un SHIELD.

    DSC_0316

    SHIELD assemblé par nos soins

  • Raspberry PI
  • Notre Rasppberry PI, fonctionnant sous LINUX, a nécessité une configuration, trouvable ci-dessous :

    Réglages de la Raspberry :
    https://github.com/IstiaMecatroniqueClub/Tutorials/wiki/1-Setting-up-the-Raspberry-Pi-3-Lubuntu-Operating-System

    Mise en place du bus CAN :
    https://github.com/IstiaMecatroniqueClub/Tutorials/wiki/2-Setting-up-the-CAN-Bus-module

    Nous avons défini la raspberry comme “expéditeur” de données et les arduinos comme receveurs. Nous avons également mis en place un système d’identifiant, afin que chaque arduino n’interprète que les commandes lui étant destinées. Nous avons également fait en sorte d’avoir une “commande nulle” : si la commande envoyée à un moteur est égale à zéro, celui-ci ne bouge pas la balle.

Voici le rendu final de notre projet, lorsqu’un moteur reçoit plusieurs commandes à la suite :

Le résultat final est conforme avec le cahier des charges car nous avons réussi à finir un module et à le piloter. De plus, nous avons dépasser les attentes des tuteurs en concevant un deuxième module et en réalisant une communication bus CAN. Cependant il serait possible d’améliorer le projet en utilisant des servomoteurs de meilleure qualité et en créant un boîtier afin d’éviter que les fils se prennent dans les poulies.

Nous remercions nos tuteurs, M. Guyonneau et M. Mercier de nous avoir guidées.

Projet : Suiveur solaire

Bonjour et bienvenue à tous !

Dans le cadre des projets de deuxième année, nous avons été amené à concevoir un suiveur solaire. Ce projet avait été commencé l’année précédente par d’autres élèves (lien vers leur article). Nous l’avons donc poursuivi.

  • A quoi ça sert?
    Le but de ce projet était de créer un support pour panneau photovoltaïque qui fonctionne comme un tournesol en suivant le soleil. La position du soleil évolue au cours de la journée et selon les saisons, or, pour avoir un rendement maximal il faut que les rayons du soleil soient perpendiculaires au panneau. Le suiveur solaire est donc un bon moyen pour optimiser la production d’électricité.

  • Conception du bâti
    Pour commencer, nous avons construit le bâti du panneau solaire en bois. L’idéal aurait été de pouvoir faire varier l’inclinaison du panneau selon les saisons. Cependant, nous avons fait le choix de le fixer à 30°, ce choix nous a permis de simplifier la création du support. Le bâti est monté sur roulettes afin de lui permettre de se déplacer pour suivre le soleil au cours de la journée.

    Notre suiveur solaire

    Notre suiveur solaire

  • Programmation de la commande du moteur

    Ensuite, nous avons procédé à la conception de la partie électronique du système à partir d’un moteur d’essuie-glace, fourni par notre tuteur.
    Tout d’abord, nous avons programmé une carte arduino avec une carte monster shield, qui permettent de faire tourner le moteur inverseur, dans un sens et dans l’autre.

      Pour la suite, nous avions besoin de capteurs pour orienter le panneau face au soleil. Après avoir récupéré trois cellules photovoltaïques que l’on a placé en pyramide, nous avons imprimé puis étamer une carte permettant de récupérer l’information de ces capteurs. La carte a été imprimée avec la machine de LPKF Laser&electronics à l’ISTIA et elle a été étamée chimiquement à l’IUT.

      Les 3 cartes De gauche à droite : carte imprimée, arduino, monster shield

      Les 3 cartes
      De gauche à droite : carte imprimée, arduino, monster shield


      Après avoir fait cela, il ne restait plus qu’à souder ces différents composants, à la plugger sur les 2 autres cartes, puis finalement réaliser le montage suivant avec les capteurs et le moteur.
      Montage électronique

      Montage électronique

    • Comment fonctionne le suiveur?
      Pour résumer, les capteurs renvoient une tension aux cartes, et selon la valeur reçue, le programme commande la rotation du moteur (dans un sens ou un autre).

      Ce projet nous a beaucoup appris, malheureusement nous n’avons pas eu le temps d’installer le système électronique ainsi que le moteur sur le bâti.
      Nous souhaitons remercier notre tuteur Hassan Bouljroufi qui nous a été d’une grande aide, ainsi que François Jouet et Benoît Landry qui nous ont aidé dans la réalisation du bâti.

      Camille Bertrand et Anne-Céline Riou

    • Le Jeu Interactif

      Citation

      I °) Présentation de notre groupe et de notre projet

      Nous sommes un groupe de trois étudiants et dans le cadre de la 2ème année du cycle préparatoire de l’IstiA, nous avons dû choisir un projet de conception parmi les nombreux sujets proposés.

      Nous avons choisi le développement d’un jeu interactif. Jeu par Battle Interactive

      Le principe d’un jeu interactif est très simple; c’est un jeu vidéo classique mais durant lequel les contrôles sont assurés par l’utilisateur, non pas au moyen d’une souris, d’un clavier ou d’une manette mais grâce à ses actions physiques.

      II °) Le choix du Jeu

      En premier lieu nous avons dressé une liste des jeux pouvant correspondre aux jeux interactifs. En effet, il nous fallait des jeux compétitifs et avec des objectifs symétriques pour chacune des équipes. Après avoir élaboré cette liste nous avons commencé à réfléchir sur le jeu à adapter pour notre projet, Il nous fallait un jeu simple dans son déroulement et dans ses règles de façon à ne pas perdre trop de temps sur la programmation du jeu en lui même.

      Nous avons rapidement pensé au jeu Pong, figure emblématique, puisque c’est l’un des premiers (1972) , des jeux vidéos.

      Pong 1972

      Pong 1972

      III°)Déroulement du Projet

      Nous avons choisis, sur les conseils de notre tuteur de projet, Mehdi Lhommeau, de travailler avec Processing, logiciel permettant la gestion de l’Arduino de manière claire, efficace et permettant de nombreuses fonctionnalités graphiques favorisant la programmation. De plus ce dernier est accompagné d’une multitude d’exemples et de conseils disponibles gratuitement sur leur site.téléchargement

      Nous avons commencé par la programmation d’un Pong, relativement classique mais qui nous a permit de prendre en main le logiciel. Nous avons très rapidement poursuivi avec la création de l’interface, principalement de l’écran d’accueil ainsi que le Menu Pause.

      Le jeu Pong que nous avons programmé

      Le jeu Pong que nous avons programmé


      Après l’interface et le jeu en main, la partie la plus difficile se présentait devant notre groupe : L’intégration de l’Arduino pour rendre ce jeu vidéo, interactif.

      IV °) L’Arduino

      arduino_official_Logo__Après avoir acquis les bases de l’Arduino, nous avons axé nos recherches sur les possibilités proposées par ce dernier. De nombreux périphérique sont compatibles avec l’Arduino (capteur de toucher, accéléromètre, émetteur-récepteur, buzzer) il nous fallait choisir le ou lesquels nous allions intégrer à notre Pong. Notre choix s’est très vite porté sur l’accéléromètre et sur les émetteur_récepteurs qui nous permettrait de remplir nos objectifs.

      conradNous avons donc commencé la recherche sur les sites de fournisseurs que notre tuteur nous avait fournis, comparé les différents avis puis notre choix s’est porté sur Conrad.fr; Nous avons passer commande puis après avoir reçu les différents composants nous nous sommes attelés a la programmation de ces derniers.

      Bloc accéléromètre

      Bloc accéléromètre

      Même si les différents tutoriels et aides proposés par Processing, Arduino ou d’autres sources étaient très variés et clairs, cette partie n’en resta pas moins la plus compliquée et la plus conséquente de notre projet.L’intégration des émetteurs récepteurs fut très laborieuse et nous demanda beaucoup de temps, trop pour qu’on puisse la mener à bien.

      Une fois cette partie terminée, notre jeu était fonctionnel, certes reliés à un ordinateur mais fonctionnel.

      V°)Création des périphériques physiques du jeu

      Nous avons réfléchi et crée plusieurs prototypes, ces derniers ont évolués avec les différentes contraintes lié à l’avancement et les capacités de notre projet.
      Au vu des capacités de notre accéléromètre nous avons dû fixer un seul déplacement possible. Nous avons donc créé un périphérique limitant le déplacement tout en conservant l’aspect ludique.

      Version Finale

      Version Finale

      Prototype 1

      Prototype 1

      Nous vous remercions de votre lecture, et déposons ci-dessous le lien vers notre rapport de projet, plus complet et plus détaillé pour celles et ceux qui veulent en savoir plus.