Objet connecté – Bricoleur Scientifique https://bricoleur-scientifique.pixees.fr Apprendre à apprendre en faisant Sat, 15 Oct 2022 17:11:59 +0000 fr-FR hourly 1 https://wordpress.org/?v=6.1.1 Une planche de Galilée robotisée https://bricoleur-scientifique.pixees.fr/ressource/une-planche-de-galilee-robotisee/ Tue, 06 Apr 2021 12:27:04 +0000 https://medsci-sites.inria.fr/bricoleur-scientifique/?post_type=ressource&p=1524 Introduction et contexte développé ici : https://pixees.fr/plan-incline-de-galilee
Conçu et réalisé par http://snjazur.fr avec le conseil et expertise de Éric de Pascual de https://pobot.org.

Activités proposées :

Manipulation :

Découverte :
0/ Poser le dispositif bien à plat et brancher le courant électrique
=>  normalement le dispositif est directement opérationnel.
1/ Prendre la bille et la poser contre l’électro-aimant, elle doit y adhérer.
2/ Disposer les capteurs dans les encoches de manière
(i) soit à ce qu’ils soient régulièrement espacés
(ii) soit dans les encoches permettant d’augmenter les écarts au fur et à mesure que la bille roule.
3/ Appuyer sur le bouton et écouter les sons au passage de la bille devant les capteurs
(la maquette actuelle n’a pas le son opérationnel, on pourra essayer de repérer visuellement les choses)
3bis/ (optionnel) Appuyer sur le bouton en filmant (avec un smartphone ou équivalent) le roulement de la bille, afin de faire l’analyse visuelle des temps.
Mesures et analyse qualitative :
4/ Aller sur le site web de contrôle (voir ici pour ajouter un réseau wifi), cliquer sur “get” et
relever les valeurs “T” des  “detected_times” en seconde, dans les deux cas (i) et (ii),
relever aussi avec un mètre les distances “D” correspondantes en mètre.
4bis/ (optionnel) Ouvrir la vidéo dans un logiciel d’édition vidéo comme  VLC (ou tout autre équivalent) et
+ positionner la vidéo juste avant le moment où on appuie sur le bouton, en mode pause
+ avancer “trame par trame” (c’est la touche “e” avec VLC, usuellement) et noter le temps exact (il s’affiche en seconde avec deux décimales)
+ refaire cela en positionnant la vidéo juste avant chaque passage devant un capteur
=> on pourra alors comparer ces mesures visuelles à celles produites par les capteurs eux-mêmes.
5/ Sur une feuille quadrillée, dans les deux cas (i) et (ii)
tracer les axes du temps en horizontal “T” et de la distance en vertical “D” et
porter les huit points (deux cas fois quatre valeurs) et observer la courbe ébauchée.
6/ Dans le cas (ii) regarder les trois intervalles de temps entre un “T” et le suivant
ce sont les “detected_velocities” et expliquer pourquoi ils sont similaires.
6bis/ Dans le cas (i) regarder les trois intervalles de temps et expliquer leur variation.
Un peu de calcul pour aller plus loin :
7/ Dans le cas (i) et (ii) calculer les huit rapports “D / T^2” (le rapport entre la distance et les temps au carré)
et regarder si ils sont similaires.
7bis/ Si vous connaissez la loi “D(T) = 1/2 g sin(3.1416/180 alpha) T^2” où “g=9.81 m/s^2” est la gravité et “alpha” l’angle de la planche en degré, évaluer l’angle du plan incliné et regarder si les résultats correspondent à peu près à la théorie,
7ter/ Il est probable que dans la réalité la bille roule un peu plus lentement que ce qui est prévu par la théorie : quelles pourraient en être les raisons ?

Interface web :

C’est une interface minimale qui permet de vérifier si l’objet est bien connecté et de récupérer les valeurs, ici seul le bouton “Get” est utilisé.

HTML web interface

Comprendre le dispositif :

On s’intéresse ici à faire la rétro-ingénierie du dispositif.
1/ Observer le montage et noter les capteurs, effecteurs et interface : faire un plan où ces éléments sont reliés à un  processeur dont on explicitera les entrées et les sorties;
+ on considère la carte son comme un sortie qui reçoit une commande “ding” pour imiter un son de cloche;
+ on considère disposer d’une horloge qui donne le temps écoulé depuis la mise en marche à chaque demande;
=> en fait c’est bien le cas comme on peut le voir dans les documentations détaillées.
2/ Concevoir un petit algorithme sous forme d’une boucle qui tourne en permanence et lit les entrées pour noter des temps ou piloter les sorties
+ on définira les variables qui doivent mémoriser les données au fur et à mesure de ce qui se passe
En fait le système dispose d’un mécanisme “d’interruptions” c’est à dire de la possibilité d’exécuter un algorithme quand un événement se produit : (a) un capteur détecte le passage de la bille ou (b) on appuie sur le bouton.
3/ Revoir l’algorithme en explicitant ce qui doit se passer à chaque événement et comparer à la version proposée en 2/
4/ On pourra comparer ce travail de conception avec le code effectivement implémenté setup_galileo.cpp.

Construire le dispositif:

Tous les éléments sont ici et surtout nous sommes au contact sur cette plateforme pour vous aider !

Connection au site web du dispositif

Ce dispositif est un “objet connecté” il se comporte donc comme un site web sur lequel on se connecte pour le piloter ou lire des mesures. Encore au stade expérimental cela nécessite un peu de bricolage:

Ajouter un nouveau réseau wifi  :  Il faut reconnecter l’objet connecté au système de développement et mettre à jour le fichier de configuration comme détaillé ici, ensuite l’objet se connectera au premier des réseaux wifi disponible qui ont été spécifiés.

Détecter le site web : L’objet connecté a une adresse IP qu’il faut découvrir pour pouvoir se connecter au site web. Par exemple si l’adresse est “192.168.1.190” on se connectera à l’adresse web “http://192.168.1.190:8000″. Pour obtenir cette adresse il y a plusieurs méthodes:

  • On peut scanner son réseau wifi  sans l’objet connecté branché, puis avec l’objet connecté branché et regarder quelle adresse IP s’est rajoutée, puis noter cette adresse.
  • Sur les “box” il y a un menu “périphériques réseaux” qui donne toutes les informations et le circuit connecté a comme nom principal “esp32galileo” pour ce dispositif  ou “esp32galileo” pour le dispositif compagnon.
Partager ce contenu.
]]>
Le Brachistochrone robotisé https://bricoleur-scientifique.pixees.fr/ressource/le-brachistochrone-robotise/ Tue, 06 Apr 2021 12:46:53 +0000 https://medsci-sites.inria.fr/bricoleur-scientifique/?post_type=ressource&p=1529 Introduction et contexte développé ici :  https://pixees.fr/brachistochrone
Conçu et réalisé par http://snjazur.fr avec le conseil et expertise de Éric de Pascual de https://pobot.org.

Activités proposées :

Manipulation :

Découverte :
0/ Poser le dispositif bien à plat et brancher le courant électrique
=>  normalement le dispositif est directement opérationnel.
1/ Prendre les trois billes et les poser contre les électro-aimants, elles doivent y adhérer.
2/ Observer que
* la piste de gauche descend et remonte (c’est la courbe dite “brachistochrone”),
* celle du milieu est la plus pentue possible pour donner à la bille un maximum de vitesse,
* celle de droite correspond au trajet le plus court.
3/ Appuyer sur le bouton et observer la descente des trois billes
3bis/ (optionnel) Appuyer sur le bouton en filmant (avec un smartphone ou équivalent) le roulement des trois billes, afin de faire l’analyse visuelle des temps.
Mesures et analyse qualitative :
4/ Aller sur le site web de contrôle (voir ici pour ajouter un réseau wifi), cliquer sur “get” et
relever les valeurs “T” des  “detected_times” en seconde,
mesurer aussi avec un mètre souple les longueurs “L” des trois pistes en mètre.
4bis/ (optionnel) Ouvrir la vidéo dans un logiciel d’édition vidéo comme  VLC (ou tout autre équivalent) et
+ positionner la vidéo juste avant le moment où on appuie sur le bouton, en mode pause
+ avancer “trame par trame” (c’est la touche “e” avec VLC, usuellement) et noter le temps exact (il s’affiche en seconde avec deux décimales)
+ refaire cela en positionnant la vidéo juste avant chaque passage devant un capteur
=> on pourra alors comparer ces mesures visuelles à celles produites par les capteurs eux-mêmes.
5/ Faire un tableau où on portera les longueurs parcourues “L” et les durées “T” de parcours, on calculera aussi le rapport “V = D / T” qui donne la vitesse moyenne des billes sur les trois parcours.
6/ Discuter qualitativement et commenter ce qui été observé, et essayer d’argumenter :
+ pourquoi ce n’est pas le trajet le plus court qui est le plus rapide,
+ pourquoi ce n’est pas le trajet où la bille a pris le plus de vitesse au départ qui est le plus rapide.
6bis/ (optionnel) Observer la vidéo et analyser qualitativement les vitesses des billes : la bille du milieu va-t-elle plus vite que celle des bords à un moment donné ? Si oui alors pourquoi n’est-elle jamais devant celle qui est sur le brachistochrone ?
Un peu de mathématiques pour aller plus loin :
7/ Analysons le parcours en ligne droite, en utilisant la loi “L(T) = 1/2 g sin(3.1416/180 alpha) T^2” où “g = 9.81 m/s^2” est la gravité et “alpha” l’angle de la piste en degré  :
– évaluer l’angle du plan incliné et regarder si les résultats correspondent à peu près à la théorie,
– il est probable que dans la réalité la bille roule un peu plus lentement que ce qui est prévu par la théorie : quelles pourraient en être les raisons ?
8/ Étude théorique du  brachistochrone : lire et analyser https://fr.wikipedia.org/wiki/Courbe_brachistochrone et
– mesurer sur le dispositif la valeur “D” entre le point de départ et le moment ou la courbe passe à l’horizontale,
– prendre un photo de de profil de la piste en forme de brachistochrone et l’imprimer sur un papier,
– découper un cercle de papier de diamètre D dans du papier cartonné
pour reproduire le tracé de la cycloïde et voir qu’elle correspond bien à la piste construite.

Interface web  :

C’est une interface minimale qui permet de vérifier si l’objet est bien connecté et de récupérer les valeurs, ici seul le bouton “Get” est utilisé.

HTML web interface

Comprendre le dispositif :

On s’intéresse ici à faire la rétro-ingénierie du logiciel du dispositif.
0/ Prendre connaissance du code setup_brachistochrone.cpp, même si vous ne programmez pas en C/C++ nous pouvons ensemble le lire et l’analyser.
1/ Observer le montage physique et noter les entrées et les sorties, voir où on les retrouvent dans le code
+ par exemple sur quel numéro d’entrée se trouve le bouton ?
2/ Essayons de comprendre le fonctionnement du bouton, indépendamment du code.
+ Quand on appuie sur le bouton que doit-il se passer au niveau de l’électro-aimant ?
+ Que faire pour que cela revienne ensuite à l’état initial, pour refaire la manipulation ?
3/ Essayons maintenant, ensemble de décoder ce qui se passe dans le code. La routine “handle_brachistochrone_button” est appelée quand on appuie sur le bouton
+ Que fait-elle ? (bien entendu vous pouvez accéder à la documentation de chaque routine “digitalWrite” ou là où “verbose” est implémenté, mais vous pouvez aussi vous fier à votre intuition.
4/ C’est la routine “handle_brachistochrone_run” qui est appelée quand on appuie sur le bouton :
+ Que fait-elle ? Au bout de combien de milli-secondes l’électro-aimant est remis en marche.
=> Regarder la routine “setInterval” pour bien comprendre ce qui se passe.

Le dispositif en fonctionnement :

 

 

 

 

 

 

 

On lance les billes et … voilà celle du milieu qui démarre plus vite que les autres mais en fin de course, celle de droite est allée bien plus bas accélérer pour augmenter sa vitesse pour ensuite pouvoir dépasser les deux autres.

Deux secondes de vidéos pour montrer le brachistochrone en action.

Construire le dispositif:

Tous les éléments sont ici et surtout nous sommes au contact sur cette plateforme pour vous aider !

Partager ce contenu.
]]>