Nous sommes Adrien Chotard et Pierre Engelstein, deux étudiants d’EI2. Nous avons réalisé une adaptation du Space Invaders, un jeu créé à l’origine par Tomohiro Nishikado en 1978.
Le space invaders original
Le but de ce projet était de travailler avec le langage de programmation Python et d’organiser un projet de développement avec toutes les problématiques qui entrent en jeu : la découverte d’un nouveau langage, l’organisation en groupe et le développement d’algorithmes spécifiques
La vidéo suivante montre le rendu final du jeu :
Le déplacement du joueur :
Ce jeu est censé se jouer sur une borne d’arcade, avec des joysticks. Les entrées sont analogiques, et donc pour pouvoir en avoir un aperçu sur ordinateur nous avons décidé de gérer le déplacement du joueur avec la souris. Pour cela, le joueur déplace la souris et fait bouger en conséquence le vaisseau à l’écran. Si le pointeur de souris est en dehors de la fenêtre de jeu, le vaisseau ne sort pas de la fenêtre mais reste bloqué contre le bord de la fenêtre.
Le déplacement des aliens :
Le principe est que chaque monstre se déplace l’un après l’autre. Ainsi, le premier (en bas à gauche) avance, puis peu de temps après le deuxième, puis encore après le troisième, etc, en suivant un défilement de gauche à droite, puis de bas en haut. Ensuite, dès lors que l’un des monstres est arrivé à l’autre bout de la fenêtre, tous les monstres (en partant du premier) repartent dans l’autre sens.
La gestion des collisions :
Afin de détecter lorsqu’une balle touche un ennemi (ou qu’une balle ennemie touche le joueur), nous avons implémenté une gestion des collisions. Pour cela, nous avons considéré des boîtes de collision rectangulaires autour de chaque entité, et si une des boîtes de collision intersecte avec une autre (celle d’une balle avec celle d’un alien ou du joueur), alors il y a collision. Dès lors, un script faisant perdre de la vie aux aliens, ou tuant le joueur (Game Over) se lance.
Les menus :
Le menu de démarrage
Menu de fin – Gagné
Menu de fin – Perdu
Nous avons mis en place un système de menus de manière à naviguer, lancer la partie, afficher les scores puis de quitter le jeu. Pour cela, nous avons mis en place un système de boutons personnalisés, nous permettant de naviguer au clavier entre eux (toujours dans l’optique d’une adaptation pour borne d’arcade). De même, pour cette partie du projet, nous avons décidé de créer des titres pour le menu principal et les menus de fin (Perdu et Gagné).
Conclusion :
Nous pourrions améliorer et adapter ce projet, par exemple en le faisant fonctionner via une raspberry pi reliée à un joystick, mais aussi l’adapter sur un autre langage de programmation de manière a aborder le problème d’une optique différente.
Nous remercions Mr. Fasquel, notre encadrant pour ce projet.
Bonjour à tous !
Nous sommes trois étudiants : Sylvain Courty, Thomas Lépine, Louis Duret et nous avons conçu un poulailler automatisé en 80h pour notre projet du 4ème semestre de cycle préparatoire. Nous sommes tous les trois des passionnés en électronique, ce qui nous a fait choisir ce projet.
Qu’est-ce que notre projet mis à part des dizaines de mètres de câble et des centaines de lignes de programmation (et ‘quelques’ pauses café) ?
Avec pour but la supervision de celui-ci, nous devions créer une interface graphique permettant de voir les niveaux d’eau et de nourriture restants, d’abaisser et de lever la porte à des horaires définis, de compter les entrées-sorties des poules (pour éviter de fermer la porte à 18h si une poule à décidé de rester dehors encore un peu) et d’avoir une image de l’intérieur du poulailler en temps réel. Pour la partie matérielle, nous devions aussi créer la mangeoire, l’abreuvoir et divers autres objets pour obtenir un poulailler apprécié des poules.
Nous avons réalisé la mangeoire avec des gouttières. Celle-ci comporte un espace de remplissage et la partie basse peut s’enlever pour permettre le nettoyage. Afin de calculer le niveau restant de nourriture, nous avons opté pour un capteur ultrason programmé sur Arduino qui envoie les données récoltées à la Raspberry.
Schéma du fonctionnement et photo du rendu
2. L’abreuvoir
Celui-ci est surélevé, l’eau est distribuée grâce à des mamelons pour poules (et oui ça existe !). Grâce à une simple poussée avec leur bec de la tige métallique, l’eau peut couler et ainsi les hydrater. Le niveau d’eau restant est géré pas un capteur de pression qui mesure le niveau d’eau restant, il est programmé sur Arduino et envoyé sur la Raspberry qui le commande.
Schéma de l’abreuvoir et photo du rendu
Photo des mamelons pour poules
3. Le comptage des poules
Il s’effectue avec un capteur infrarouge placé à l’entrée du poulailler, à l’intérieur et à l’extérieur. Le capteur infrarouge empêche la porte de se baisser le soir si toutes les poules ne sont pas rentrées.
Photo de la table de test pour les capteurs infrarouge
4. La porte et le moteur
La porte se lève verticalement avec un moteur pas à pas et un tambour conçu à l’imprimante 3D. Elle est programmée sur Raspberry et peut se lever soit par commande manuelle ou avec des horaires définis par l’utilisateur dans le cas où toutes les poules sont bien rentrées.
Photo du devant du poulailler
5. L’interface graphique
Programmée sur Raspberry avec Tkinter, l’interface propose un aperçu des niveaux restants de nourriture et d’eau, une vision intérieure du poulailler grâce à une webcam et une commande des horaires d’ouverture et fermeture. A noter également, que si un des niveaux descend en dessous de 15% le propriétaire du poulailler reçoit un mail pour l’avertir.
Photo de l’interface
6. Aperçu final du projet :
Aperçu du poulailler
7. Conclusion
Nous avons vraiment apprécié travailler sur ce projet. La production finale est loin d’être parfaite, il y a encore quelques soucis de programmation et de communication entre les deux cartes. Néanmoins, la plupart du projet est fini et le cahier des charges nous semble respecté, pour le plus grand plaisir des poules.
Nous tenons à remercier nos tuteurs, Mme Gérard et M. Autrique pour toute l’aide qu’ils nous ont apportés.
Sylvain Courty | Louis Duret | Thomas Lépine – EI2 (Projet 2017-2018)
Dans le cadre de notre deuxième année nous avions la possibilité de choisir entre une cinquantaine de projet. Étant plus attirés vers un projet manuel, nous avons choisis le projet lanceur de ficelle. Dans la conception de ce projet, l’idée d’utiliser les outils du FabLab comme la fraiseuse ou l’imprimante 3D nous a grandement attiré puisque nous étions déjà familiariser avec le montage de Lego.
Présentation de notre projet
L’objectif du projet est est la conception et fabrication d’un lanceur de ficelle permettant la rotation de celle-ci. La ficelle est propulsée en continue par 2 moteurs. Ainsi propulsé la ficelle se comporte de façon intéressante : mémoire de forme et ondulation.
Prototype en Lego
Dans un premier temps nous avons conçu un prototype en Lego MindStorm afin de comprendre le concept et de le maîtriser. On a très vite rencontré un problème majeur, les moteurs n’étaient pas assez puissants. Il a donc fallu créer un système d’engrenage pour les deux moteurs afin d’augmenter les tours/minutes par 15. Après avoir trouvé la ficelle adéquate pour qu’elle tourne correctement, le prototype était terminé:
Système contrôlé par Arduino
Pour ce projet nous devions trouver les meilleurs méthodes et composants pour faire tourner la ficelle. Nous avons donc commandé deux moteur en se basant sur le prototype Lego, il fallait inévitablement des moteurs avec plus de Tours/minutes.
Moteur 5800 Tr/min
Ces moteurs sont placés dans une planche en matière agglomérée usinée à l’aide d’une fraiseuse. Nous y avons placé une plaque d’aluminium pour fixer ces moteurs. Au centre de cette dernière, nous avons fait un alésage pour permettre la rotation de la planche.
Support des moteurs avec le guide fait a l’aide de guides de câblage
Le tout fixé sur un bâti où nous avons mis le système d’alimentation
En effet, pour que la ficelle ait une bonne trajectoire, nous avons fixé des guides de câbles électrique. Pour fixer les roues aux moteurs, il a fallu créer une pièce grâce à l’imprimante 3D de précision. Mais à force de tourner, il y avait beaucoup de friction entre l’arbre du moteur et l’alésage de l’adaptateur
Adaptateur Arbre du moteur-Roue
Afin d’éviter l’impression de 2 nouvelles pièces à chaque fois qu’elle s’usent, nous avons taraudé les 2 pièces pour mettre une visse de serrage.
Voici le résultat lorsque la ficelle est livrée a elle-même:
Nous avons vite remarqué que la ficelle pouvait prendre des formes intéressantes lorsque l’on interagissait avec cette dernière. (comme ci-dessous)
Nous tenons à remercier nos tuteur, M. Verron et M. Boughattas ainsi que M. Mercier et M. Saintis pour nous toute l’aide qu’ils nous ont apporté.
Nous sommes trois étudiants, Adrien Bayer, Stéven Jossot et Florian Adam, actuellement en deuxième année de cycle préparatoire à l’ISTIA, école d’ingénieurs de l’Université d’Angers, et nous avons la chance de pouvoir développer nos connaissances au travers d’un projet de conception. Notre choix s’est porté sur le RC Crawler.Le but est de concevoir un 4×4 radiocommandé en 3D à l’aide du logiciel SolidWorks, puis de réaliser un prototype, dans le même registre que celui-ci:
RC Crawler
Extrait de : http://www.rcscrapyard.net/fr/xtm-x-crawler.htm
L’objectif de ce projet est de pouvoir gravir des obstacles, notamment un rocher situé devant l’un des bâtiments de notre école.
Plus concrètement, cliquez ici pour voir comment fonctionne un crawler !
Avant tout, ne connaissant que très peu de choses au sujet des véhicules radiocommandés, nous avons dû nous documenter en conséquence. Après plusieurs propositions au sein du groupe, nous avons choisi de concevoir un crawler composé d’un châssis avec les éléments mécaniques (moteur et boîte de transfert) fixés sur une plaque inférieure et les éléments électroniques (batterie, variateur de vitesse et récepteur) fixés sur une plaque supérieure. Ensuite, des arbres de transmissions partant du centre du véhicule sont reliés aux ponts avant et arrière afin d’entraîner les roues en rotation. Cela correspond donc à l’architecture d’un MOB (Motor On Board) comme cela:
Architecture d’un MOB
Extrait de : http://rcshafty.fr/category/generalite-sur-un-crawler/
Ensuite le déroulement de notre projet a suivi trois étapes clés:
Dans un premier temps, la conception et le dimensionnement des pièces sur SolidWorks.
C’est l’étape la plus longue, puisqu’il faut trouver les bonnes coupes et dimensions pour que tous les composants puissent s’assembler correctement. Par chance, lors de nos recherches, nous avons trouvé un RC Crawler modélisé sous SolidWorks, ce qui nous a permis de reprendre certaines pièces et de s’aider des autres pour concevoir les notres.
En outre, la pièce la plus importante était donc le châssis, puisque l’objectif était de l’usiner sur les machines disponible au FabLab.
Une fois que toutes les pièces ont été réalisées puis assemblées, nous avons obtenu ce résultat final:
Nous sommes ensuite passés dans un phase de commande des pièces que ne nous pouvions ni fabriquer à l’ISTIA, ni récupérer sur d’anciens projets.
En effet, de nombreuses pièces telles que la boîte de transfert, les arbres de transmissions, le variateur de vitesse, etc … n’étaient pas disponible. Cependant, nous avons pû récupéré un servomoteur (qui gère la direction à l’avant du véhicule) ainsi qu’un moteur et une batterie auprès des enseignants.
Au fur et à mesure de la réception des commandes, nous avons assemblé notre Crawler.
Pont avant et arrière
Pont arrière + roues
Pont avant + servomoteur + roues
Enfin dernière étape, nous avons fabriqué les dernières pièces et réalisé l’assemblage.
Cette étape nous a permis d’utiliser la fraiseuse numérique ainsi que la perceuse à colonne. Nous avons aussi appris de nouvelles techniques que nous n’avions jamais utilisé comme le taraudage.
Perçage du châssis
Pour finir cette présentation du projet RC Crawler, voici une photo de notre prototype assemblé (Sans la batterie)
Nous tenons à remercier notre professeur référent M. VERRON pour nous avoir accompagné tout au long du projet, ainsi que M. MERCIER et M. BOULJROUFI pour leur aide précieuse.
Nous sommes quatre élèves, Mathéo Moriceau, Ryhan Dahbi, Antoine Martineau et Arthur Fonseca, en deuxième année du cycle préparatoire de l’ISTIA. Nous avons choisi de travailler sur le projet Karting. Nous devions aussi participer au challenge E-Kart qui est organisé tous les ans par différentes associations en France.
Nous avons commencé par effectuer différents travaux de CAO afin de modéliser notre kart dans son état actuel.
Notre objectif principal était donc de réaliser un support pour les 2 batteries Li-Ion.
En effet, les utilisateurs du kart sont dans l’obligation de démonter ces batteries lorsque le kart n’est plus en utilisation pour des raisons de sécurité et de les placer dans un local sécurisé.
Nous voulions donc faciliter le montage/démontage des batteries sur le kart.
Pour ce faire, nous avons pensé différentes fixations pour les batteries et celle qui nous a semblé la plus pertinente était de bloquer en translation un côté de la batterie et de l’autre côté, faire un système de clips. Après validation par nos encadrants nous avons donc réalisé ce dernier sous SolidWorks.
Challenge E-Kart :
C’est un challenge organisé tous les ans par différentes associations ( cette année repris par estaca moto sport).
Il regroupe des lycées, IUT, écoles d’ingénieurs pour présenter leur kart électrique et participer à différentes courses: endurance le mercredi et jeudi de 2h à 4h et qualifications de 35 minutes. Le challenge se déroule au Circuit de Haute-Saintonge qui est à quatre heures d’Angers. De plus, il y a aussi une présentation du kart sous la forme d’une affiche avec explication du travail réalisé devant un jury. Cet événement n’est pas une compétition mais une rencontre entre les différentes écoles pour échanger autour des karts.
Pour préparer à bien le challenge E-kart, nous avons du faire des recherches sur le fonctionnement du kart et principalement sur les batteries et le variateur:
Les batteries sont des Li-Ion de 24 volts chacune. Elles sont composées de 16 cellules lithium qui contiennent chacune entre 2.5 et 3.6 volts. Les batteries ont 3 modes : marche, veille ou recharge.
Quand elles sont en marche, c’est-à dire brancher sur le kart il faut mettre le petit boitier BMS.
En mode veille, les batteries ne sont plus sur le kart et sont branchées aux chargeurs conçus par M. Mercier pour que la tension ne diminue pas.
Batteries en mode veille
Enfin pour le mode recharge, on branche deux chargeurs au kart où les deux batteries sont branchées.
Le variateur permet de faire varier la vitesse du moteur. Il relie les batteries au moteur et grâce à l’électronique qui a été installé par les années précédentes dans le variateur, il est possible à l’aide du logiciel variokart d’accéder aux paramètres du variateur et de pouvoir changer les données comme la puissance demandé au kart ou encore de connaître les différentes sorties du variateur.
Ordinateur connecté avec le variateur sur le logiciel variokart
Une fois le kart fonctionnel nous avons donc réussi à mettre en place une séance d’essai après les cours pour tester notre kart. Notre but était de savoir s’il n’y avait pas de défaut et si les batteries tenaient suffisamment de temps pour une course. Cet essai a duré environ deux heures, nous nous sommes relayés afin de pouvoir être le plus possible dans le contexte d’une course. A notre grande surprise, à la fin de l’essai, les batteries étaient à 80% de leur capacité en tension.
Nous avons ensuite décidé de créer un chariot qui permet de déplacer les batteries avec les recharges, ce qui nous a par la suite beaucoup aidé pour le transport de celle-ci. Nous avons pris une table à roulette que nous avons modifié en ajoutant des planches pour faire un autre étage et des contours en bois pour protéger les batteries. Ces planches et les contours permettent donc de solidifier la structure et de transporter les batteries en toute sécurité.
Conclusion
Le projet dans l’ensemble nous a plutôt motivé mais nous avons eu beaucoup de problèmes qui nous ont empêchés d’aboutir notre projet. Les différentes causes ont été les changements de priorité qui ont fait que nous avons arrêté la conception des fixations, les intempéries de mai-juin et les problèmes de place pour les essais de kart ou encore la compréhension du fonctionnement du kart. Ce fut une réussite pour nous de démarrer le kart car ce n’était pas gagné d’avance à cause du problème de batteries qui restaient en mode veille et non en mode marche. La séance d’essai a permis aussi de nous rassurer sur l’autonomie des batteries et sur le fonctionnement global du kart. Nous aimerions donc que la prochaine équipe qui travaillera sur le kart puisse lire notre projet pour qu’elle commence le projet avec des bonnes bases.
Nous tenons aussi sincèrement à remercier M. Verron et M. Saintis, nos encadrants durant ce projet, pour nous avoir guidé et aidé sur nos différentes missions à effectuer.
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 (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.
SHIELD assemblé par nos soins
Raspberry PI
Notre Rasppberry PI, fonctionnant sous LINUX, a nécessité une configuration, trouvable ci-dessous :
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.
Notre projet consiste à réaliser une main articulée pour un enfant handicapé, cette main sera réalisée grâce à l’impression 3D de l’ISTIA. L’association E-Nable France (https://e-nable.fr/) avec qui nous sommes en contact, a mis à notre disposition des fichiers à imprimer pour notre première main de “test”.
Lorsque notre main de test sera réalisée et validée par l’association nous pourrons chercher un enfant qui a besoin d’une main. Une fois en relation avec cet enfant nous entrerons dans une démarche visant à lui adapter cette main (coloris, confort, poids,etc…).
Nous avons d’abord eu quelques problèmes avec l’imprimante Raise 3D N2 qui a subi plusieurs pannes successives. De ce fait nous avons testé une autre imprimante à l’Istia (la Maker Bot Replicator) mais la précision n’était pas assez haute.
Voici une photo de l’imprimante & du doigt que nous avons imprimé.
L’imprimante étant réparé nous avons donc pu réaliser plusieurs essais d’impressions grâce à l’imprimante Raise 3D N2. Ces résultats nous permettent d’optimiser les réglages sur IdeaMaker, nous avons réussi à prendre ce logiciel en main. Nous réglons ainsi la vitesse de la machine, la température de la buse, la température du plateau, le remplissage, l’épaisseur des parois, le raft, etc…
Après avoir trouvé les réglages optimaux nous avons réussi à imprimer toutes les pièces d’une main de façon précise et fonctionnelle.
Ensuite nous avons fait le montage de la main, à l’aide de mousse, de scratch, de vis et de fil de nylon.
Nous avons donc ajusté les réglages pour rendre notre main fonctionnelle.
Ce projet a été réalisé par Maxime Guedon, Arthur Sagrandi & Louis Savreux.
Dans le cadre de notre seconde année de cycle préparatoire à l’ISTIA nous avons eu à choisir un projet parmi une cinquantaine de projets. Intéressé par la programmation et les jeux, nous avons décidé de nous lancer dans ce projet !
– Le jeu pong
Le jeu Pong est considéré par beaucoup comme étant le précurseur des jeux que nous connaissons aujourd’hui. Sorti en 1972 et développé par Nolan Bushnell et Allan Alcorn de la société Atari, il est connu dans le monde entier ! Le concept est basique : Deux raquettes, une balle et un score pour départager deux joueurs !
Le jeu se veut ressemblant à une partie de Ping-Pong vue du dessus et s’est vu adapté un bon nombre de fois depuis sa création.
– Le développement en python
Le logiciel de développement du jeu nous a été imposé par notre tuteur, il s’agissait du logiciel “Pycharm” utilisant le langage python.
La première étape pour nous fut donc de découvrir le langage et le logiciel avant de pouvoir nous lancer dans la programmation !
L’étape suivante pour nous consistait à réaliser la base du jeu, c’est a dire les deux raquettes, le score, la balle ainsi que le rebond de cette dernière sur les raquettes. Nous avons finalement obtenu un premier résultat, déjà ressemblant au véritable Pong :
Première version fonctionnelle de notre projet Py-Pong !
– Les quatre barres
La troisième étape de notre projet était sans doute la plus rapide, notre objectif était cette fois ci de passer sur un jeu à quatre raquettes en en rajoutant une au dessus et une en dessous. Nous avons ainsi obtenu le résultat suivant :
Voici à quoi ressemble le jeu une fois les deux nouvelles barres ajoutées !
– Les capteurs et la carte Arduino
La plus grosse partie de notre projet consistait à permettre le déplacement de la barre de chaque joueur à l’aide d’un capteur infrarouge. Ces derniers nous envoient des valeurs qui dépendent de l’éloignement de la main du joueur par rapport au capteur, ce qui nous permet de déplacer les barres en fonction de ces valeurs ! les 4 capteurs sont branchés sur une carte Arduino qui nous permet de récupérer les valeurs dans notre programme :
Un aperçu du branchement des 4 capteurs sur la carte Arduino
– Le menu et les options
Une fois le “cœur” du projet terminé, il nous a semblé important de s’occuper un peu de “l’habillage” de ce dernier. Nous avons donc créé un menu qui permet 3 actions : Le lancement du jeu, l’accès aux options du jeu et l’arrêt du programme. Il nous a donc aussi fallu créer la page des options, qui sert d’interface d’échanges entre le joueur et le programme et permet de modifier les valeurs de plusieurs variables du programme comme la vitesse de la balle ou encore la taille des raquettes. Le design n’étant pas notre priorité, nous avons obtenu les rendus suivants :
Aperçu du menu du jeu qui permet la navigation au sein du programme
Voici à quoi ressemble la fameuse page des options du jeu !
– Le son avec Sonic Pi !
Un dernier ajout sur lequel nous avons travaillé dans le cadre de ce projet était la musique du jeu. En effet, nous désirions ajouter de la musique pendant la phase de jeu et notre tuteur nous a alors conseillé le logiciel “Sonic Pi” qui permet de “coder” de la musique à partir de samples choisis. Il était ensuite possible de relier Sonic Pi et notre programme Python pour avoir notre musique en jeu !
L’interface de programmation du logiciel Sonic Pi
Aperçu final
Finalement, bien qu’il était encore et toujours possible d’améliorer notre programme et d’ajouter des éléments à notre jeu, il était temps de rendre notre projet ! Nous avons donc en dernière partie majoritairement réglé les bugs et modifié légèrement quelques aspects graphiques du jeu et voici l’aperçu final de ce dernier :
Voici à quoi ressemble finalement le jeu “Py-Pong” !
Nous sommes une équipe composée de Valentin GALVAING, Romain BECHELOT et Pierre JUDAIS, 3 étudiants en EI2 et nous allons vous présenter notre projet de conception consistant à la réalisation d’un véhicule pour le challenge EducEco.
Nous avons été accompagnés pour ce projet par deux professeurs référents : Mr Sylvain Verron et Mr Mohamed Ibrahim.
Présentation de notre projet :
Le challenge EducEco est une course automobile éducative dont le but est de parcourir un certains nombre de kilomètres en consommant le moins d’énergie possible tout en respectant une vitesse moyenne minimum. Il existe deux catégories distinctes de véhicules pouvant participer : les “prototype” et les “écocitadins”, ces derniers ayant plus de contraintes, ils ressemblent plus aux véhicules classiques.
Notre projet est de créer le tout premier véhicule de l’ISTIA, devant concourir dans la catégorie “prototype” du challenge EducEco. Notre mission n’était évidemment pas d’aboutir à la fabrication complète du véhicule car cela nécessiterais bien plus de 80 heures mais de pouvoir bâtir une base solide à ce projet qui sera poursuivit par les années suivantes.
Les différentes étapes de notre projet :
Recherche d’information :
Durant les premières séances, nous avons concentré nos effort sur la recherche d’informations sur EducEco et les challenges similaires comme le Shell Eco Marathon : nous avons regardé le règlement de ce challenge, les photos des véhicules des années précédentes, les relevés topographique des parcours, des suivis de projet afin d’avoir une idée plus précise de ce projet.
Nous avons également eu accès au véhicule de l’IUT d’Angers qui est stocké à l’ISTIA mais il date d’environ 20 ans, nous avons donc décider de récupérer uniquement la direction et les freins sur celui-ci.
Le prototype 2010 de l’équipe Polyjoule (Polytech Nantes + la Joliverie)
Nous avons également mis en place une veille technologique sur Netvibes afin d’être tenu au courant des nouvelles informations sur le sujet.
Conception sur SolidWorks :
Nous avons ensuite testé différentes formes de coques et de châssis, afin de tester leurs différentes résistances aux fluides grâce aux simulations de SolidWorks.
Simulation de la résistance à l’air sous Solidworks
Une fois que nous avions une idée précise de ce que nous voulions, et après concertation avec nos professeurs référents, nous avons eu pour objectif que notre véhicule soit entièrement réalisable à l’ISTIA et nous avons donc choisis d’effectué l’assemblage du châssis à l’aide de profilé et de connecteurs disponible sur Bosch Rexroth.
Notre chassis réalisé sur Solidworks
Simulation du rendement énergétique :
A l’aide du relevé topographique du circuit (nous avons pris celui de l’année dernière) et de certains paramètres de notre véhicule (masse, coefficient de traînée Cx, surface frontale,…) nous avons pu estimer la puissance moteur nécessaire pour réussir à respecter la vitesse moyenne minimale (25 km/h)
Choix des matériaux :
Nous avions, lors de notre recherche d’informations, repéré différents matériaux qui étaient les plus adaptés aux véhicules comme le notre (mousse polyuréthane, fibre de verre, fibre de carbone pour la coque et aluminium soudé pour le châssis).
Cependant, ces matériaux ne pouvaient être utilisés dans le cas d’une fabrication à l’ISTIA ou il est impossible de faire de la soudure, nous avons donc choisis des profilés aluminium 30 mm.
Simulation résistance des matériaux :
Une fois le châssis finis et les matériaux choisis, nous avons réalisé une étude statique sur notre châssis afin de simuler son comportement face aux forces qu’il va rencontrer (poids du pilote, de la coque, du moteur, etc…) cependant, l’étude sous Solidworks ne permet pas réellement de voir les points faible de notre châssis car il étudie tout notre châssis comme une seule pièce, et ne tient donc pas compte des faiblesse que sont les connecteurs entre les différents profilés.
Difficultées rencontrées :
Nos difficultés principales concernent surtout notre manque d’expertise dans certains domaine : en effet si nous avons des bases tant en mécanique qu’en résistance des matériaux nous sommes tout de même moins armés pour ce projet que des équipes comme celle de Polyjoule (Polytech Nantes + la Joliverie) qui comprend des équipes spécifiques pour chacun des domaines de la voiture. Nous avons donc dû nous adapter et apprendre certaines choses, c,’est pourquoi la partie recherche d’informations à été très importante.
Conclusion :
Comme nous l’avons dit dans les difficultés rencontrées, le fait d’être une petite équipe devant s’occuper de l’intégralité de la base du projet nous à permis d’apprendre des choses sur tout les domaines de la conception d’un prototype EducEco et d’un véhicule motorisé en général.
De plus, ce projet nous à appris l’organisation nécessaire à la réalisation d’un projet de cette envergure et nous à permis de découvrir la gestion d’un projet en liberté totale, c’est à dire que nous devions effectué des choix et non suivre une feuille de route pré-établie.
Nous sommes Augustine COQUELIN et Marion WACHOWIAK, et nous avons dû réaliser un projet dans le cadre de notre dernier semestre de cycle prépa à l’ISTIA. Nous voulions travailler sur un projet mêlant plusieurs types de compétences et qui soit créatif, donc nous avons choisi le projet EL+Sound.
Lors du projet EL + Sound, (EL signifiant électro-luminescent) nous avions pour but de réaliser un projet artistique, en s’inspirant des œuvres de Martin Messier dont voici un exemple :
Ses œuvres sont réalisées à partir de matériel électronique divers. L’œuvre ci-dessus, Impulse, est constitué de fils EL et de panneaux métalliques. Cette œuvre comporte également du son, créée aléatoirement par un algorithme.
Ce projet a été réalisé en plusieurs étapes :
Recherches d’idées générales : thème, que représenter, avec quel rendu visuel ?
Création d’une mélodie
Création d’une partie lumière
Coordination des deux parties
Assemblage final : composants électroniques, partie visuelle
Série de tests pour s’assurer que l’ensemble est agréable à regarder
Finitions
Le matériel que nous avions à disposition lors de ce projet est la suivant : une carte Arduino Uno, une carte Escudo Dos (Sparkfun), 9 fils électro-luminescents, un transformateur, un câble d’alimentation et un câble PC, une grande plaque métallique et du petit matériel : scotch, fils de cuivre, ciseaux, etc…
Nous avons donc choisi de créer une œuvre originale avec un thème précis : Harry Potter. En effet, nous pensions que choisir ce thème permettrait au plus grand nombre de gens de comprendre l’œuvre, de reconnaître la mélodie…
Pour la partie son, avec Sonic Pi, nous avons dû regarder un certain nombre de tutos (YouTube, site de Sonic Pi, etc…) avant de nous lancer car nous ne connaissions pas du tout le langage qui est utilisé pour coder dans ce logiciel : Ruby.
Il nous a en effet fallu apprendre les fonctions de base (jouer une note, modifier sa durée, les différents instruments, les silences, les répétitions…)
Heureusement, il existe de nombreux tutos et le créateur de Sonic Pi, le chercheur Sam Aaron communique beaucoup sur les réseaux sociaux. Nous n’avons donc pas eu trop de problèmes pour trouver les informations dont nous avions besoin.
L’interface de Sonic Pi se présente comme ceci :
La création de la mélodie a été assez longue car il faut coder chaque note une par une. Pour cela, nous nous sommes aidées d’une partition ainsi que d’une vidéo Synthesia.
Voici ce que donne la mélodie terminée :
La partie lumière a été commencée en même temps que la partie son mais cependant, nous nous sommes rapidement rendu compte qu’il était mieux de terminer d’abord la partie son avant de pouvoir terminer la partie lumière. Cela s’explique par le fait que nous devions synchroniser son et lumière, et que nous avions au départ prévu de le faire “à la main” c’est à dire en exécutant nos deux programmes (Sonic Pi + Arduino) en même temps.
Cette partie a été réalisée avec Arduino. Voci une capture d’écran d’un morceau de notre programme Arduino :
Pour réaliser cette partie, nous avons choisi de faire la première partie synchronisée avec le son, qui a été difficile à réaliser car nous la réalisions à l’oreille avec le fichier son Sonic Pi. Nous avons ensuite choisi de faire une partie aléatoire pour plusieurs raisons : pour tester les fonctions Arduino permettant de faire de l’aléatoire, pour diversifier un peu l’œuvre et parce que nous n’aurions pas eu le temps de faire une chorégraphie lumineuse synchronisée à 100% avec la mélodie.
Ainsi qu’une démonstration de nos fils EL allumés :
La coordination des deux parties s’est faite dans un premier temps “à la main”, c’est-à-dire que nous lancions simultanément le son produit et le programme Arduino.
Cette méthode est la plus simple, mais ce n’est pas pratique du tout. Nous avons donc dû chercher d’autres méthodes.
Finalement, nous avons créé une liaison entre le fichier son que nous avons exporté au format mp3 et Arduino. Ceci a été mis en place grâce à un programme Python : le programme demande une donnée (ici un chiffre) que l’utilisateur rentre et qui est communiqué à Arduino. Si le chiffre est bien celui défini dans le programme Arduino, le son et la lumière se lancent. Sinon, il faut relancer le programme.
Ce système nous a permis de créer une œuvre qui est interactive : le spectateur est aussi acteur. En effet, au lieu que ce soit nous qui lancions le programme, c’était au spectateur de le faire. Lorsque le programme est lancé, la console ci-dessous apparaît :
L’utilisateur clique sur le bouton, la fenêtre disparait et la question : Combien y a t’il de maisons à Poudlard ? est posée. Si le spectateur entre le bon nombre (4), le spectacle peut commencer !
Et pour finir, voici un extrait de l’installation finale :
Projet réalisé par Augustine COQUELIN et Marion WACHOWIAK, accompagnées par Sébastien LAHAYE.