IMA3/IMA4 2020/2022 P8 : Différence entre versions
(→Interface numérique) |
(→Interface numérique) |
||
Ligne 186 : | Ligne 186 : | ||
De plus, des premiers schéma de l'interface numérique ont été réalisé afin de guider la conception. | De plus, des premiers schéma de l'interface numérique ont été réalisé afin de guider la conception. | ||
+ | |||
+ | <gallery style="margin: 0 auto;"> | ||
+ | Image:schemainterfacenumerique1.jpg|Code pour Arduino | ||
+ | Image:schemainterfacenumerique1.jpg|Configuration du Lora | ||
+ | </gallery> | ||
+ | |||
[[Image:schemainterfacenumerique1.jpg|thumb|none|Schéma de l'interface numérique 1|300px]] | [[Image:schemainterfacenumerique1.jpg|thumb|none|Schéma de l'interface numérique 1|300px]] |
Version du 6 mai 2022 à 16:43
Sommaire
- 1 Présentation générale
- 2 Réalisation du Projet
Présentation générale
Contexte
L'informatique se pose de plus en plus comme un outil incontournable dans le monde. De nombreuses applications apparaissent afin de nous faciliter la vie, que ce soit dans le milieu universitaire ou de l'entreprise.
Par exemple, le logiciel Zoom a permis à de nombreux étudiants et professionnels de continuer à travailler à distance lors des différents confinements provoqués par la crise sanitaire.
Depuis 2020, nous avons pu nous rendre compte que l'utilisation de Zoom n'est pourtant pas si évident. Il est facile de se perdre entre les fenêtres de chat, de partage d'écran, de caméra, les boutons d'allumage/arrêt du micro, ou encore de la webcam.
Description
Pour palier à ces difficultés, nous avons décidé de développer un objet connecté permettant d'accéder facilement à différentes actions importantes de Zoom (micro, caméra, volume...).
Néanmoins, entre les feuilles de notes, la souris et le clavier, il semble difficile d'ajouter un objet supplémentaire à utiliser avec les mains. C'est pourquoi notre objet connecté a pour vocation d'être utilisable par les pieds, nous appellerons cette objet : Pédalier.
Celui-ci sera composé de différents capteurs.
Fonctionnalités et Solutions adoptées
- Push-to-Talk : Pédale permettant de détecter une pression du pied.
- Allumage/Extinction continu du micro : Interrupteur pouvant être ouvert ou fermé par un simple mouvement du pied.
La pédale push-to-talk allumera le micro si l’interrupteur est sur OFF, et l’éteindra si ce dernier est sur ON.
- Défilement (~ scroll de souris) : Joystick permettant des mouvements/passages de documents de haut en bas, et de droite à gauche.
- Réglage du volume : Potentiomètre.
Afin de réaliser le traitement des données collectées par les capteurs utilisés, nous utiliserons une carte de type Arduino.
Réalisation du Projet
Projet S6
Projet S7
Semaine 41
Lors de cette séance, nous avons :
- Fait un état d'avancement de notre projet.
- Fait un point avec notre tuteur sur le travail restant et les échéances à venir.
- Effectué un Diagramme de Gantt pour répartir dans le temps le travail qu'il nous reste à faire. Diagramme de Gantt
Semaine 42
Afin d'anticiper les délais de commande de composants, nous nous sommes tout d'abord concentrés sur la réalisation du bon de commande nécessaire à la réalisation du projet.
Microcontrôleur
La priorité était de trouver des microcontrôleurs Avr32u4, en accord avec les conseils donnés par notre tuteur la semaine précédente.
Ce composant n'était plus en stock chez les distributeurs parmi lesquels nous pouvons commander (Farnell, Mouser et Radiospare). Nous en avons néanmoins trouvé sur le site de Digikey.
N'étant pas sûr qu'il y en aura encore en stock quand la commande sera passée, nous allons également recommander des Arduino Leonardo comme solution de repli.
Dans les deux cas nous en commandons 4 afin d'avoir de la marge de manœuvre si nous cassons un composant lors de nos manipulations.
Ainsi, si nous pouvons recevoir les 32u4, nous réaliserons le PCB intégralement, sinon, nous effectuerons un shield de la Leonardo sur le PCB.
Capteurs & Pédales
Dans un second temps, nous avons effectué de nouvelles recherches d'interrupteurs, boutons poussoirs et pédales adaptées à la réalisation du prototype final.
En effet, les éléments commandés lors du semestre précédent servaient davantage à faire des essais à petite échelle.
Ces recherches sont à compléter lors de la semaine à venir.
Composants électroniques
A partir d'un exemple de PCB de manette de jeu, et de son schéma électronique, nous avons pu trouver des références de résistances, capacités, inductances ou encore leds bien dimensionnées à notre projet.
Il nous reste à estimer le nombre de chaque composant à commander afin d'émettre le bon de commande.
Semaine 43
Finalisation du bon de commande
La priorité cette semaine était d'estimer les quantités de composants électroniques à commander (résistances et leds).
Le PCB n'étant pas encore réalisé, nous avons manqué d'informations concernant les capacités et inductances dont nous allons avoir besoin. Nous ne les avons donc pas indiqué sur ce bon de commande. Nous verrons à un stade intermédiaire du projet pour en effectuer une nouvelle via l'école si possible, ou sinon par nous-même.
De même, nous n'avons pas commandé de nouveaux capteurs. Ceux que nous avons récupéré au Semestre 6 sont suffisants pour effectuer des tests et faire fonctionner notre projet à la main.
A terme, l'objectif est que notre objet connecté soit utilisable au pied, mais cela relèvera davantage de la mécanique. Ce n'est donc pas notre priorité, nous nous y pencherons une fois la finalisation électronique/informatique de notre pédalier.
Voici le lien vers notre bon de commande : Bon de commande
Initiation à la réalisation de PCB
Comme nous avons finalisé le bon de commande assez rapidement, nous avons pris de l'avance sur les prochaines séances de projets.
A partir de la semaine 45, nous devons nous pencher sur la réalisation d'un PCB.
Nous avons trouvé un logiciel gratuit, utilisable de façon collaborative : EasyEDA.
Afin d'en comprendre le fonctionnement, nous avons trouvé divers tutoriels.
Semaine 45
Conception du PCB
A l'aide de d'exemples de PCB présentant des fonctionnalités similaires aux besoins de notre projet, nous avons commencé à réaliser le notre.
Il nous a tout d'abord fallu trouver les bons composants dans les bibliothèques d'Easy EDA. De nombreux composants presque identiques étant disponibles, nous avons fait attention à bien sélectionner ceux correspondant à la commande que nous avons émise quelques semaines plus tôt.
A l'aide de la datasheet de l'Atmega 32u4 que nous utilisons, nous avons effectué les premiers câblages de capacités de découplage, masse, alimentation...
Nous avons également ajouté des tunnels qui nous permettront par la suite de relier les pins de notre microcontrôleur aux différentes fonctions électroniques de notre montage.
Le choix des pins sera peut-être à revoir par la suite, afin d'assurer une impression plus facile du PCB.
Ecriture du programme
Recherches sur le programme, notamment les différentes possibilités pour modifier le son de l'ordinateur via un potentiomètre. Afin de récupérer les données de volume, un programme sur le PC est indispensable.
On décide donc de faire notre driver, ce choix nous permettrait également de ne plus considérer l'USB directement comme un clavier, mais gérer les entrées via le driver. Il permet également de changer de langage de programmation, par exemple le python, et de simplifier le code et sa portabilité sur les différents systèmes d'exploitation.
Semaine 46
Conception du PCB
Suite à notre premier cours sur la réalisation PCB, nous avons réalisé un schéma fonctionnel.
Celui-ci permet de mieux visualiser les éléments nécessaires à sa réalisation au travers des fonctions principales le constituant.
Nous l'avons communiqué à notre enseignant, afin qu'il puisse le vérifier et nous aider dans la suite de réalisation de notre PCB.
En parallèle, nous avons continué d'avancer sur la schématisation du PCB avec Easy EDA.
Nous avons notamment réalisé les schémas électrique du joystick et du bouton poussoir, qui sont présentés ci-dessous.
Une fonction led a également été ajoutée. Ces leds serviront à vérifier le fonctionnement de notre PCB une fois qu'il sera imprimé (une led allumée lorsqu'il est alimenté, une autre lorsque le bouton est appuyé, etc...)
Ecriture du programme
Suite des recherches sur la façon de faire notre programme.
Semaine 47
Conception du PCB
Suite des recherches sur le PCB, réalisation d'un schéma pour aider à la réalisation. Néanmoins des difficultés se font ressentir sur la compréhension de la transmission des données et l'alimentation du PCB.
Ecriture du programme
Création du GitLab du projet et début de la rédaction du programme afin de gérer les différents modules, notamment le potentiomètre pour régler le son.
Schéma du Pédalier
Schéma du pédalier sur Google Drawings afin d'avoir un plan avant de commencer la conception 3D, mais certains détails sont encore sujets au changement.
Projet S8
Semaine 03
En amont de cette séance, nous avons fait un point sur l'état d'avancement de notre projet ainsi que sur la répartition des tâches.
Comme discuté avec les enseignants lors de la soutenance de projet du Semestre 7, nous avons fait en sorte de travailler en parallèle sur davantage de tâches.
A partir de cela, nous avons établi un nouveau diagramme de Gantt s'articulant autour de la réalisation d'interfaces numérique et physique, en continuité avec le travail du semestre précédent.
Nous avons ensuite pu reprendre en main notre travail (notamment la partie code et le PCB) pour réfléchir aux changements et améliorations qui avaient été évoqués lors de la soutenance.
Interface numérique
Afin d'implémenter l'interface, nous avons dû effectuer des recherches sur différents framework et leur prise en main.
Nous avons utilisé PyGame TKinter afin de tester le framework QT.
De plus, des premiers schéma de l'interface numérique ont été réalisé afin de guider la conception.
PCB
Concernant le PCB, nous avons principalement pris le temps d'effectuer des corrections, d'ajouter des capacités de liaisons et autres éléments qui faisaient défaut au modèle présenté lors de la soutenance.
Design interface
Afin de pouvoir réaliser l'interface mécanique, nous avons tout d'abord pris le temps de réfléchir à son design, de façon réaliste.
Nous avions déjà fait une ébauche lors du semestre précédent, mais nous nous sommes rendus compte qu'en terme de dimensionnement, des éléments ne fonctionneraient pas bien pour une utilisation au pied.
Semaine 04
Interface numérique
Nous avons continué de tester QT, ainsi que d'autres frameworks.
Plusieurs d'entre eux étaient plus simples d'utilisation que QT, mais ce dernier s'utilisait d'une façon similaire à ce que l'on étudie en Java lors des cours de Conception Logicielle à Objet.
Finalement, nous avons donc décidé d'utiliser ce framework pour la réalisation de notre interface numérique.
PCB
Un point avec le tuteur a été fait afin de décider de la direction que nous allions prendre pour continuer notre PCB.
L'impossibilité de recevoir les micro-contrôleurs dont nous avions besoin pour notre format de PCB nous a poussé à revoir sa construction.
Nous nous sommes dirigés vers la réalisation d'un shield avec une Arduino Leonardo que nous avions déjà utilisé précédemment pour nos tests.
Cela nous permet d'utiliser le micro-contrôleur de la carte, qui est le même que ceux que nous devions recevoir.
Design interface
Pour continuer sur le design de l'interface mécanique, il a fallu réfléchir au dimensionnement des capteurs.
En effet, nos capteurs sont de petite taille. Il nous a fallu réfléchir à la taille adaptée pour une utilisation au pied.
A partir de là, nous avons pu réfléchir à un moyen " d'agrandir " artificiellement nos capteurs par de la mécanique simple.
Bon de commande
Nous avons effectué un nouveau Bon de commande, afin d'obtenir des connecteurs qui seront nécessaires à la réalisation de notre shield.
Nous avons également commandé des leds traversantes. Le reste du matériel de microélectronique peut être obtenu à l'école.
Semaine 05
Interface numérique
Nous avons pris en main QT, sans logiciel annexe.
Pour être à l'aise avec ce outil, nous avons effectué des bases d'interface de test.
PCB
Nous avons débuté la réalisation du shield.
La principale difficulté est de prévoir les emplacements des connecteurs.
Formations au Fabricarium
Afin de pouvoir réaliser les éléments de mécaniques nécessaires à la réalisation finale du pédalier, il est nécessaire d'avoir des formations sur les machines disponibles au Fabricarium.
Une partie du groupe a effectué la formation découpe laser et fraiseuse numérique.
Semaine 06
Interface numérique
L'outil QT étant pris en main, nous avons modéliser l'interface graphique nécessaire pour notre projet.
Nous avons fait un WireFrame en utilisant diagrams.net pour visualier l'objet.
PCB
Concernant le PCB, nous avons continué dans la réalisation du shield.
Formations au Fabricarium
Une formation pour utiliser l'imprimante 3D était prévue, mais a été reportée. Nous avons donc profité de ce temps pour effectuer des tests avec la découpe laser, afin de la prendre en main. Egalement de réaliser un prototypes en carton du boitier afin de visualiser la forme et les dimensions.
Semaine 08
Interface numérique
Nous avons commencé à mettre en place l'interface.
PCB
Une fois le PCB terminé, nous sommes passés à son routage ainsi qu'au dimensionnement physique.
Nous avons pu bénéficier de correction de la part des enseignants encadrants.
Formations Fabricarium
La formation imprimante 3D a finalement pu être effectuée. Après la prise de mesure des éléments, la première modélisation de l'extension du joystick a été réalisée après découverte de l'outil de conception Onshape. Il a pu alors être imprimé à la suite par une imprimante.
Semaine 09
Interface numérique
Nous avons poursuivi la réalisation de l'interface, mais nous avons rencontré des difficultés dans l'utilisation de QT.
En effet, nous n'arrivons pas à bien gérer la création de plusieurs fenêtres. Nous effectuons donc des recherches sur le sujet.
PCB
En parallèle des corrections qu'il faut continuer d'apporter, nous avons commencé la réalisation d'un autre PCB.
Celui-ci servira uniquement au placement des leds. Étant assez simple, il devrait nous permettre d'effectuer une première tentative d'impression.
Modélisation mécanique
Afin de réaliser nos éléments de mécaniques, nous avons essayé d'utiliser un nouveau logiciel plus complet, Onshape.
Nous avons pris le temps de le tester afin de voir les avantages et inconvénients qu'il présentait.
En effet, un logiciel plus complet peut également être plus complexe à utiliser, il est donc important d'anticiper cela.
Semaine 10
Interface numérique
Nous avons défini le design que nous voulions obtenir pour l'interface numérique, l'aspect final ainsi que l'agencement des fenêtres.
Nous avons continué la prise en main de Qt qui s'avère nous poser plus de difficultés que prévu, après ouverture de plusieurs fenêtres simultanément, nous éprouvons des difficultés pour mettre en forme un Widget (objet de base) dans un autre.
PCB
Design interface
Semaine 11
Interface numérique
Finalisation de l'aspect des interfaces et assignation des actions aux boutons de l'interface.
Création d'un fichier de configuration & implémentation du code permettant de le modifier au gré de l'utilisateur