« Aide à la concentration avec un Arduino » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 41 : Ligne 41 :
{| class="wikitable"
{| class="wikitable"
|-
|-
! Maquette finale   
! Maquette finale (vue de devant)  
!Maquette finale
!Maquette finale (vue de derrière)
!Brancheme�nts exacts
|-
|-
|[[Fichier:Arduino-front .jpg|vignette|Méchanisme permettant de faire pousser l'arbre]]
|[[Fichier:Arduino-front .jpg|vignette|Méchanisme permettant de faire pousser l'arbre]]
|[[Fichier:Arduino-behind .jpg|vignette|Vu de derrière avec l'arduino attaché au bois]]
|[[Fichier:Arduino-behind .jpg|vignette|Vu de derrière avec l'arduino attaché au bois]]
|[[Fichier:Arduino motor .jpg|vignette|Voici ou brancher les fils de l'arduino afin de faire fonctionner le moteur servo]]
|}
|}
   
   

Version du 2 septembre 2019 à 14:10

Cet article est en construction: un auteur est en train de le modifier.

En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.


Description du projet

Ce projet à été développé dans le cadre d'un projet indépendant en science de l'éducation du master MALTT ]après avoir assisté à un mooc sur l'internet des objets, plus particulièrement sur l'utilisation d'un Arduino.

Un Arduino est une plate-forme électronique à code source ouvert basée sur du matériel et des logiciels faciles à utiliser. Les cartes Arduino peuvent lire les entrées (lumière sur un capteur, doigt sur un bouton ou message Twitter) et en faire une sortie: activer un moteur, allumer une LED, publier quelque chose en ligne. Pour ce faire, vous utilisez le langage de programmation Arduino (basé sur le câblage) et le logiciel Arduino (IDE), basé sur Processing. Plus d'information sur le site web

Le projet rentre dans le domaine de la Physicalisation de données

Objectif

L'objectif de ce projet est de reproduire une application smartphone permettant d'améliorer sa concentration et de se représenter le temps de travail au cours d'une session, en reportant les données de temps de manières physique, ici sous forme d'un arbre.

Plus particulièrement, l'idée, inspiré de Forest permet de représenter un arbre qui poussera pendant un temps dédié à étudier ou à effectuer une tâche.

On peut décider au préalable de combien de minutes sera notre session de travail. Par exemple, 20 minutes = un arbre qui pousse. Une fois que l'arbre a "poussé", et que l'on accompli la session de travail, on dépose un petit arbre en plastique (physique) devant nous, afin de visualiser notre première session de travail comme achevée. A cet arbre s'ajoute le nombre de session de travail que l'on effectue pour le jour - une par arbre.

On peut donc ensuite visualiser devant nous notre forêt, constituée de toutes les sessions de 20 minutes de travail.

En plus de cela, pendant notre session d'étude, on peut voir notre arbre pousser, grâce à un moteur lié à un arduino, programmé pour faire pousser l'arbre plus ou moins lentement dépendemment de la longueur de notre session.

Ce principe permet de se concentrer sur notre tâche, tout en voyant notre progression, avec la motivation rattachée à la volonté de voir l'arbre finir de pousser.

Prototypes

Première itération: Dans la première maquette, l'idée était d'utiliser le moteur rotatif (jusqu'à 180°) servo d'Arduino afin de pousser l'arbre (littéralement), petit à petit. L'arbre en papier était placé à l'intérieur d'une boîte (en carton), avec un trou en haut, afin de laisser l'arbre passer.

Au petit moteur rotatif a été attachée une baguette en bois, permettant d'agrandir la portée de la poussée vers le haut. Malheureusement, après de nombreux tests, je me suis rendu compte que la rotation du moteur allait être problématique, car elle désaxait l'arbre et l'empêchait de passer par les fentes. Même en agrandissant l'ouverture, cela n'a pas fonctionné car le moteur ne poussait pas l'arbre en ligne droite verticale.

Il a donc fallu repenser la maquette.

Deuxième itération:

Le problème venant de la poussée de l'arbre, je me suis imaginé que cela pourrait être solutionné en tirant l'arbre vers le haut à l'aide du moteur et d'un fil rattaché à l'arbre. . Cette fois,ci j'ai placé le moteur en hauteur, attaché à une planche de bois.

Avec cette maquette, le mouvement rotatif du moteur tire cette fois sur une ficelle attaché à l'arbre, ce qui permet de faire monter l'arbre.

Voici à quoi ressemble la maquette finale:

Maquette finale (vue de devant) Maquette finale (vue de derrière) Brancheme�nts exacts
Méchanisme permettant de faire pousser l'arbre
Vu de derrière avec l'arduino attaché au bois
Voici ou brancher les fils de l'arduino afin de faire fonctionner le moteur servo

Code Arduino

Voici le code Arduino permettant de faire bouger le moteur servo de l'arduino

  1. include <Servo.h>

Servo myservo; // create servo object to control a servo // twelve servo objects can be created on most boards

int pos = 0; // variable to store the servo position

void setup() {

 myservo.attach(9);  // attaches the servo on pin 9 to the servo object

}

void loop() {

 for (pos = 0; pos <= 92; pos += 1) { // goes from 0 degrees to 92 degrees
   // in steps of 1 degree
   myservo.write(pos);              // tell servo to go to position in variable 'pos'
   delay(1000);                       // waits 1000ms for the servo to reach the position
 }
 for (pos = 92; pos >= 0; pos -= 1) { // goes from 92 degrees to 0 degrees
   myservo.write(pos);              // tell servo to go to position in variable 'pos'
   delay(30);                       // waits 15ms for the servo to reach the position
 }

}


Ressources

https://www.arduino.cc


Références