# 🌍 UE LU3ST062 - Atelier Fablab

Le stage "Fablab" propose à des équipes de 2 ou 3 étudiants de développer une approche de modélisation analogique et numérique autour d'un problème de Sciences de la Terre. 
Le but est de mettre au point, améliorer et utiliser des maquettes (non-dimensionnées) puis des modèles analogiques (dimensionnés) pour mettre en évidence un processus ou évaluer un paramètre critique. La discussion porte ensuite sur le passage des conclusions aux échelles géologiques. 
Concrètement la réalisation des montages passe par l'utilisation des ressources du Fablab (impression 3D, conception assistée par ordinateur ... ) et d'outils d'interfaçage (Arduino, MATLAB ... ) pour l'extraction de données des expériences.

# Modèle analogique sable

<span style="color: #000000;">Kathy Lazard, Amaury Leroy, Dan Rebibo et Alice Saugrain</span>

<span style="color: #000000;"> Partout sur notre planète, à des échelles variant de quelques centaines de mètres à des centaines de kilomètres, on peut observer nombre de fleuves avec chacun une dynamique qui leur est propre. Selon les pentes, la nature de leur substrat ou encore l'aménagement des territoires, les cours d'eaux varient. Cependant ils suivent tous des principes de sédimentologie et d'hydrologie. C'est ce que nous avons tenté de modéliser au cours de cette UE. Chaque semaine nous nous sommes réunis pour faire progresser notre modèle analogique des réseaux fluviatiles. Nous nous sommes inspirés du modèle existant produit par *EmRiver*, et nous avons cherché à le reproduire à moindre coût dans l'objectif d'utiliser cette table à des fins pédagogiques. </span>

<span style="text-decoration: underline;"><span style="color: #000000;">(fig 1)Table existante *EmRiver* modèle *em3*</span></span>

<span style="color: #000000;">*[https://emriver.com/beyond-the-stream-table-and-using-the-emriver-em2-geomodel-at-gsa-2014-vancouver/](https://emriver.com/beyond-the-stream-table-and-using-the-emriver-em2-geomodel-at-gsa-2014-vancouver/)*</span>

<span style="color: #000000;">[![GSA_2013_Denver_Little_River_Reseach_and_Design_Em3_4291.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/gsa-2013-denver-little-river-reseach-and-design-em3-4291.jpg) \[1\]](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/gsa-2013-denver-little-river-reseach-and-design-em3-4291.jpg) </span>

<span style="color: #000000;">Pour cela nous sommes partis du cahier des charges suivant :</span>

<span style="color: #000000;">Notre table doit être : </span>

- <span style="color: #000000;">un support d’exercices pour des séances de TP d’une durée de 3h niveau L1, répartis sur 1 semaine</span>
- <span style="color: #000000;">utilisable en petits groupes de 4/machine </span>
- <span style="color: #000000;">reproductible plusieurs fois, sans que le coût ne soit excessif</span>
- <span style="color: #000000;">un modèle réduit déplaçable et démontable facilement</span>
- <span style="color: #000000;">équipée d'un système hydrologique réparable et que l'on puisse brancher aisément</span>
- <span style="color: #000000;">équipée d'un système d'eau en circuit fermé </span>

<span style="color: #000000;">Tout en gardant en tête ces attentes, nous avons dû réfléchir à des solutions pour minimiser les coûts et faire face aux problématiques que nous avons rencontré dans la conception de notre table. C'est ce que nous allons développer dans ce Wiki.</span>

##### <span style="color: #000000;">**Plan** **:**</span>

<span style="color: #000000;">**I.** **La conception de la table**</span>

<span style="color: #000000;">A/ La fabrication du bac</span>

<span style="color: #000000;">B/ Les modèles 3D</span>

<span style="color: #000000;">**II. Assemblage et tests**</span>

<span style="color: #000000;">**III.** **Utilisation du modèle**</span>

<span style="color: #000000;">Conclusion et perspectives</span>

##### **<span style="color: #000000;">I. La conception de la table.</span>**

##### <span style="color: #000000;"> A/ La fabrication du bac.</span>

<span style="color: #000000;">-Etanchéité</span>

<span style="color: #000000;"> Après l'obtention de la table en bois conçu par Loïc Labrousse aux dimensions souhaités (75 x 50 x 10 cm), nous avons aussitôt procédé à son bâchage dans le but de l'imperméabiliser. Pour ce faire, nous avons mis du scotch double face sur toute la surface interne de la table, avant de la recouvrir d'une bâche transparente. Bien que la bâche ne présentait aucune lacune, nous avons néanmoins veillé à vérifier l'efficacité de son action imperméabilisante en arrosant la table avec de grandes quantités d'eau et n'avons pas détecté de fuites (il s'est avéré par la suite qu'après plusieurs raclages, la bâche s'est abimée et a présenté 1 petit trou).  
</span>

<span style="text-decoration: underline;">**<span style="color: #000000;">*(fig 2) Photographie de la table en bois après bâchage :*</span>**</span>

<span style="color: #000000;">[![image-1683462148216.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683462148216.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683462148216.png)</span>

<span style="color: #000000;">-Angles de pente</span>

<span style="color: #000000;"> Un des paramètres que l'on peut mesurer dans un tel modèle analogique est l'impact de la variation d'une pente sur les modalités de formation d'un réseau fluviatile. Ainsi, dans un second temps, nous avons cherché à munir la table d'un dispositif de modulation de pente. </span><span style="color: #000000;">EmRiver donnait des valeurs de pente allant de 0 à 3,5° pour ses modèles. </span><span style="color: #000000;">Nous avons alors pensé à fabriquer des pieds ajustables. Nous avons alors remplacé les deux pieds en bois situés du côté de "l'orifice d'arrivé d'eau" par deux pieds en bois de même hauteur mais creux. L'objectif de ces derniers (que nous avons conçu nous même) et de pouvoir y insérer une barre métallique percée de trous, afin ultérieurement de pouvoir choisir le niveau de pente d'intérêt. </span><span style="color: #000000;">Il a fallu faire des trous supplémentaires dans la barre métallique afin d'avoir plus de choix dans les valeurs d'angles.</span>

<span style="color: #000000;">Le problème majeur que l'on a eu c'est qu'on ne peut pas faire un trou circulaire de </span><span style="color: #000000;">20cm de longueur </span><span style="color: #000000;">dans du bois. </span><span style="color: #000000;">Il a donc fallu faire des trous avec une scie-cloche et coller 10 rectangles de bois les uns sur les autres (avec de la colle à bois) pour faire la hauteur voulue.</span>

<span style="color: #000000;">[![image-1676236888195.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676236888195.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676236888195.png)</span>

<span style="color: #000000;">Avant (fig 3a)  
</span>

<span style="color: #000000;">Après (fig 3b)  
</span>

<span style="color: #000000;">[![IMG_6152.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/img-6152.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/img-6152.JPG)</span>

<span style="color: #000000;">Détail du pied et la barre d'acier à l'intérieur à insérer telle quelle, la partie la plus fine vers la table. La différence entre 2 trous correspond à un angle effectif de 0,86° sur la table.</span>

<span style="text-decoration: underline;">**<span style="color: #000000;">*(fig 4) Schéma du dispositif de pieds ajustables (4a) et photographie de la face inférieure de la table montrant les pieds incrustés à la table (B) :*</span>**</span>

<span style="color: #000000;">***4a) 4b)***</span>

<span style="color: #000000;">[ ![image-1683463454460.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683463454460.png) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683463454460.png)[![image-1683463617423.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683463617423.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683463617423.png)</span>

<span style="color: #000000;">Le résultat n'est pas très esthétique mais ce principe de pieds ajustables <span style="font-weight: 400;">nous apparait comme étant un moyen efficace et peu coûteux pour ajuster la pente de la table (plusieurs valeurs prédéfinies possibles). Tel que nous les avions conçu, les pieds actuellement présent sur la table offrent jusqu'à 6 cm de battement de pied (soit 3,5° de pente).   
</span></span>

<span style="font-weight: 400; color: #000000;">-Bac à décantation et circuit d'eau fermé</span>

<span style="font-weight: 400; color: #000000;"> Dans un troisième temps, nous nous étions lancé dans l'élaboration d'un bac à décantation. En effet, pour des raisons pratiques et écologiques, puis surtout pour permettre une pseudo-automatisation du modèle, l'alimentation en eau se fait suivant un schéma de circuit fermé. L'eau se jette dans la table, traverse le sable, puis doit pouvoir sortir au niveau de "l'orifice d'évacuation". Il faut donc, au débouché, un dispositif capable de réceptionner cette eau et les particules "sédimentaires" entrainées. Une fois réceptionnée (bac de décantation), l'eau (sans les particules, dorénavant décantées) est alors conduite vers un autre bac qui comporte la pompe (bac à pompe). La pompe absorbe alors l'eau et la conduit à nouveau en direction de l'orifice d'arrivée d'eau (et ainsi de suite). </span>

<span style="text-decoration: underline;"><span style="color: #000000;">***(fig 5) Schéma simplifié illustrant la circulation de l'eau dans le système (circuit fermé) :*** </span></span>

<span style="color: #000000;">[![image-1683466376693.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683466376693.png) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683466376693.png)<span style="font-weight: 400;">Pour ce faire, nous nous étions munis de deux bidons d'eau déminéralisée vides, puis les avions fait se communiquer à mi hauteur via un tube creux métallique (pour permettre seulement à l'eau de transiter du bac de décantation vers le bac à pompe, dans l'objectif de permettre une alimentation en eau automatique de la pompe). </span></span>

<span style="color: #000000;">***<span style="text-decoration: underline;">(fig 6) Photographie du dispositif "Bac de décantation "-"Bac à pompe"</span> :*** </span>

<span style="color: #000000;">Bac à pompe Bac à décantation   
</span>

<span style="color: #000000;">[![image-1683466541039.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683466541039.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683466541039.png)</span>

<span style="color: #000000;"> Avant d'entreprendre un premier essai du modèle, nous avions évalué la fonctionnalité et la qualité de la pompe mise à notre disposition. Il en résultait que la pompe fonctionne et qu'elle a deux débits possibles. Nous avions alors décidé d'utiliser cette pompe, et l'avions donc munie d’un épais tube de polyuréthane pour lui permettre de propulser et de délivrer l'eau jusqu'à l'orifice d'arrivé d'eau. Par la suite, on aura vite fait de s'apercevoir que le débit de la pompe et par nature bien trop fort. Les dernières expériences seront alors réalisées avec le tube de polyuréthane pincé entre les deux bras d'un étau.</span><span style="color: #000000;">   
</span>

##### <span style="color: #000000;">B/ Les modèles 3D</span>

<span style="color: #000000;">Pour minimiser les coûts (et acquérir de nouvelles compétences), nous avons codé plusieurs pièces avec le logiciel *Openscad* pour les imprimer au FabLab. </span>

<span style="color: #000000;">Voici la liste des pièces que nous avons codé et imprimé :</span>

<span style="color: #000000;">1. Entrée d'eau : 2 pièces, un bec verseur et une pièce connectée au tuyau et fixée dans la planche (fig 7)  
</span>

<span style="color: #000000;">[![ineleph.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/ineleph.png) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/ineleph.png)[![pharynx.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/pharynx.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/pharynx.png)</span>

<span style="color: #000000;">2. Energy Dissipator Unit (EDU), pièce qui réceptionne l'eau sortant du bec verseur et diminue donc son énergie cinétique. (fig 8)  
</span>

<span style="color: #000000;">[![Screenshot 2023-05-06 173304.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/screenshot-2023-05-06-173304.png) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/screenshot-2023-05-06-173304.png)[![Screenshot 2023-05-06 173338.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/screenshot-2023-05-06-173338.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/screenshot-2023-05-06-173338.png)</span>

<span style="color: #000000;">3. Sortie d'eau : 2 pièces, une fixée au fond du bac et une interne dont le coulissement sert à faire varier le niveau d'eau du delta. (fig 9)  
</span>

<span style="color: #000000;">[![Screenshot 2023-05-06 173816.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/screenshot-2023-05-06-173816.png) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/screenshot-2023-05-06-173816.png)[![Screenshot 2023-05-06 173848.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/screenshot-2023-05-06-173848.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/screenshot-2023-05-06-173848.png)</span>

<span style="color: #000000;">Les fichiers STL sont joints à ce Wiki.</span>

<span style="color: #000000;">Nous avons fait face à plusieurs difficultés dans le codage et les impressions de ces pièces : fragilité à l'impression, dimensions incompatibles, code effacé, ...</span>

<span style="color: #000000;">Pour la pièce de sortie d'eau, nous avons fait face à des difficultés de codage du filetage. Le but de cette pièce étant de ressembler à une vis, afin que un tour complet augmente ou diminue de 1cm la hauteur de l'eau accumulée dans le delta, nous avons codé le pas de vis mais le rendu était beaucoup trop fin pour résister aux forces qui allaient s'appliquer dessus. </span>

<span style="color: #000000;">En effet, nous voulions d'abord le coder en utilisant la fonction *spiral\_extrude* : grossièrement, cette fonction utilise une forme en 2D (ici, nous voulions utiliser un cercle) et empile des copies de cette forme pour former une pièce en 3D. On peut faire s'enrouler cette structure autour d'un axe, c'est ce que nous pensions faire.</span>

<span style="color: #000000;">Seulement, la forme 3D est alors créée en empilant des formes 2D légèrement décalées les unes par rapport aux autres. De ce fait, plus la pièce s'enroule, plus le filetage est fin car les formes 2D se recouvrent moins. Utiliser la fonction *linear\_extrude* produit donc un filetage très fin et fragile, qui de plus coulisse mal.</span>

<span style="color: #000000;">Il a donc fallu trouver une autre fonction sur Internet : la fonction *spiral\_extrude*, qui fonctionne de manière similaire à *linear\_extrude* mais permet aussi de choisir l'épaisseur du filetage. Néanmoins, nous avons cette fois-ci eu des problèmes à l'impression, les pièces n'étaient pas assez solides et ont cassé dès que nous avons tenté de les utiliser.</span>

<span style="color: #000000;">Pour l'entrée d'eau nous avions initialement pensé à une pièce de ce type : (fig 10)</span>

<span style="color: #000000;">[![Screenshot 2023-05-06 173110.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/screenshot-2023-05-06-173110.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/screenshot-2023-05-06-173110.png)</span>

<span style="color: #000000;">Cependant après réflexion nous avons pensé que l'eau n'aurait peut-être pas assez du puissance pour remonter le "robinet" et ce n'est pas le plus efficace non plus pour contrôler la sortie d'eau. Nous avons donc modifié le design pour obtenir les 2 pièces suivantes : (fig 11)  
</span>

<span style="color: #000000;">[![totentrée.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/totentree.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/totentree.png)</span>

<span style="color: #000000;">Elles sont emboîtables et l'une peut tourner grâce à un système de complémentarité à l'intérieur. </span>

<span style="color: #000000;">Pour les pièces de sortie d'eau, la fragilité de la poignée nous a amené à utiliser tout le long de l'UE une version sans poignée qui, au final, était tout aussi pratique. Par ailleurs, à cause de la dilatation du plastique à l’impression nous avons dû agrandir les trous de la table. Ce paramètre est à prendre en compte avant d’imprimer les pièces. </span>

<span style="color: #000000;">[![2DC26E40-1FF0-4F9B-8AA6-6E6FF5A1C30C.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/2dc26e40-1ff0-4f9b-8aa6-6e6ff5a1c30c.jpeg) (fig 12)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/2dc26e40-1ff0-4f9b-8aa6-6e6ff5a1c30c.jpeg)</span>

#####   


##### <span style="color: #000000;">**II. Assemblage et tests**</span>

<span style="color: #000000;">-Le 'sable' et ses proportions</span>

<span style="color: #000000;">Le 'sable' qui nous a été fourni par Loic Labrousse n'est pas du vrai sable mais des pastilles de plastique de différentes couleurs associées à différentes tailles, vendues par EmRiver. Ce 'sable' étant très cher nous avons voulu essayer avec du sable quartz de Fontainebleau. Mais l'esthétique du 'sable' était beaucoup plus intéressant.</span>

<span style="color: #000000;">Dimensions et quantité de chaque couleur : </span>

<span style="font-weight: 400;">Tailles annoncées par EmRiver</span>

<span style="font-weight: 400;">Jaune : 1,4 mm de diamètre. </span><span style="font-weight: 400;">Blanc : 1 mm. </span><span style="font-weight: 400;">Noir : 0,7 mm. </span><span style="font-weight: 400;">Rouge : 0,4 mm.</span>

<span style="font-weight: 400;">Dimensions réelles :</span>

<span style="font-weight: 400;">Jaune : majorité supérieure à 1,4, et les plus petits ne passent pas le filtre à 630 micromètres = à peu près la bonne taille.</span>

<span style="font-weight: 400;">Blanc : 50% de plus grand que 630 micromètres, 50% entre 630 et 425. = plus petit que prévu (1 mm).</span>

<span style="font-weight: 400;">Noir : majorité entre 630 et 425 = plus petit que prévu (0,7).</span>

<span style="font-weight: 400;">Rouge : plus petit que prévu, avec 90% environ entre 250 et 200 micromètres.</span>

<span style="font-weight: 400;">-Quantités à disposition</span>

<span style="font-weight: 400;">Jaune : 1,63 kg</span>

<span style="font-weight: 400;">Blanc : 16,25 kg</span>

<span style="font-weight: 400;">Noir : 7,8 kg</span>

<span style="font-weight: 400;">Rouge : 1,12 kg</span>

<span style="color: #000000;">Dans les expériences les particules les plus GROSSES partaient en premier illustrant l'effet Granola ou effet de fond de transport des particules.</span>

<span style="color: #000000;">Nous avons fait un mélange assez arbitraire des couleurs mais le résultat était assez joli. Nous voyions bien les méandres et visualisions bien les alternances de couleurs dans les coupes du delta et du lit de la rivière.</span>

**Mélange utilisé :**

<span style="font-weight: 400;">Jaune : 1,63 kg (tout le paquet)</span>

<span style="font-weight: 400;">Blanc : 6,65 kg</span>

<span style="font-weight: 400;">Noir : 1,55 kg</span>

<span style="font-weight: 400;">Rouge : 0,78 kg</span>

<span style="font-weight: 400;">Poids total de sable utilisé : 10,61 kg</span>

<span style="text-decoration: underline;">**<span style="color: #000000; text-decoration: underline;">(fig 13) </span>Montage réel, avec dispositif permettant de filmer d'au-dessus de la table :**</span>

<span style="font-weight: 400;">[![IMG_7551.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/4R1img-7551.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/4R1img-7551.JPG)</span>

<span style="font-weight: 400;">Nous voyions et visualisions bien les méandres, les alternances de couleurs dans les coupes du delta et du lit de la rivière.</span>

<span style="font-weight: 400;">Le 'sable' qui nous a été fourni par Loïc Labrousse n'est pas du vrai sable mais des pastilles de plastique de différentes couleurs associées à différentes tailles, vendues par EmRiver. Ce 'sable' étant très cher, nous avons voulu essayer avec du sable de Fontainebleau pour minimiser les coûts. Mais l'esthétique du plastique était beaucoup plus intéressante.</span>

<span style="font-weight: 400;"><span style="text-decoration: underline;"><span style="color: #000000;">**(fig 14) Comparaison sable de Fontainebleau et sable plastique**  
</span></span></span>

<span style="color: #000000;">[![IMG_6785.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/img-6785.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/img-6785.JPG) vs. <span style="color: #000000;">[![IMG_7074.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/img-7074.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/img-7074.jpg)</span></span>

<span style="color: #000000;"><span style="font-weight: 400;">Nous avons laissé l’eau se creuser elle-même son lit, ce qui a donné des résultats de méandres différents à chaque fois.</span></span>

<span style="text-decoration: underline;">*<span style="color: #000000; text-decoration: underline;">(fig 15) Photos de différents tests</span>*</span>

[![IMG_7832.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/Wkjimg-7832.JPG) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/Wkjimg-7832.JPG)[![IMG_7085.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/img-7085.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/img-7085.JPG)[ ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/img-7085.JPG)[![IMG_7460.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/img-7460.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/img-7460.JPG)[ ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/img-7460.JPG)[![IMG_7081.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/img-7081.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/img-7081.JPG)

<span style="color: #000000;">Nous avons aussi essayé uniquement avec du blanc et du noir en gardant la même proportion de blanc, vu que c'est celui qui part en 1er. Les méandres se voyaient bien, presque mieux, mais les coupes dans le delta étaient nettement moins pertinentes.</span>

<span style="color: #000000;"><span style="color: #444444; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400;"><span style="text-decoration: underline;">Lien Youtube pour voir des vidéos en timelapse</span> : </span>[https://www.youtube.com/@Fablabsable](https://www.youtube.com/@Fablabsable/featured)</span>

<span style="color: #000000;">Verdict : il faut au moins 3 couleurs, le rouge n'est pas forcément nécessaire (sauf si vous voulez des méandres plus beaux).</span>

**<span style="color: #000000;">Remarques :</span>**

<span style="color: #000000;">Le problème de la pompe max 1000L/h : débit trop puissant même au minimum. Nous avons acheté une pompe à 200L/h mais débit non régulier ce qui la rend inutile. Nous sommes donc restés avec notre pompe initiale,nous avons serré le tuyau avec plusieurs pinces et au final avons carrément utilisé un étau pour un meilleur contrôle du débit.</span>

<span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;">(fig 16) Référence de la pompe :</span></span>

<span style="color: #000000;"><span style="font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 192px; height: 256px;"><span style="font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 192px; height: 257px;">![](https://lh6.googleusercontent.com/oOwGUZIKwwkOjmYtYfprdoT6vZ5oMhnUlECRdIpzFcJycFF4LFRl-uqnb-WkoT-FDraigogk31z_VLvaV3OWlgaTn598k6qtOswc5htIVhDGtkCcbKklW4E4L92COLgMnvAzCqCZQ9oK1uUh-94suw)</span></span>![](https://lh6.googleusercontent.com/jnmGAjfsbaNGByLwN9pde8aY_ou1V8Xs8L7XHJsXoBf6LSVn-LEyHdEy_V_H0k2-jKdEyOKyyI_1Fyd1-MIUmbulseM-jQS-ibN4Q2IN4PTvik2bYFP-ugrFuHJK-eGXQ2GtuDjRMXDpCMzuLXR3Sw)</span></span></span>

<span style="color: #000000;">Table pas droite : mettre du papier sous le pied du côté plus bas et vérifier avec le niveau à bulle.</span>

<span style="color: #000000;">On a résolu de tasser les bords pour éviter que la rivière ne se jette d'un coté de la table et qu'elle puisse faire plus facilement des méandres.</span>

<span style="color: #000000;">La table fuit aux jointures : mettre un bac sous la table pour récolter l'eau fuyarde.</span>

<span style="color: #000000;">Une inclinaison maximale de la table a donné de bon résultats au niveau de l'écoulement d'eau c'est pourquoi nous préconisons de régler les pieds aux trous les plus hauts (3,5° de pente).  
</span>

<span style="color: #000000;">Tentative d'imperméabiliser avec du plastique thermoformant infructeuse car rendu très gondolé. </span><span style="color: #000000;">Tentative de pochoir à méandre infructueuse car tasse le sable.</span>

##### <span style="color: #000000;">**III.** **Utilisation du modèle**</span>

<span style="color: #000000;">Mode d'emploi :</span>

**<span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;"><span style="color: #000000;">(fig 17) </span>Schéma du dispositif entier</span></span>**

<span style="color: #000000;">[![image-1683545839637.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683545839637.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683545839637.png)</span>

<span style="font-weight: 400;">Voici énoncé sous forme de notice la façon dont notre prototype s’utilise.</span>

<span style="font-weight: 400;">Il peut être utilisé comme instructions pour un TP.</span>

<span style="font-weight: 400;">1- Placer le bac de décantation (bac avec la plus grande ouverture) sous la sortie d’eau. Veiller à ce que le bac à pompe qui lui est associé soit sous la table mais accessible pour placer et manipuler la pompe. Placer donc la pompe. </span>

<span style="font-weight: 400;">2- Humidifier le sable en versant 4,5 L d’eau en plusieurs fois, et ce, près de l’entrée d’eau dans le bac. </span>

<span style="font-weight: 400;">3- Mélanger le sable pour homogénéiser la granulométrie à l’échelle du bac. Attention, NE PAS LE TASSER !</span>

<span style="font-weight: 400;">4- Tasser le sable localisé au niveau des 5 cm les plus proches des bords latéraux de la table : cela permettra de maintenir le cours d’eau loin des bords de la table.</span>

<span style="font-weight: 400;">5- Aplanir le reste du sable (celui encadré par les 5 cm tassés à l’étape 4), et ce, SANS LE TASSER. En effet, il est crucial de laisser une certaine hétérogénéité. Veiller à laisser une zone sans sable d’environ 25 cm du côté de la sortie d’eau : elle représentera le delta (le passage “continent” - “delta” doit être progressif).  
</span>

<span style="font-weight: 400;"><span id="bkmrk--68" style="font-weight: normal;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; white-space: pre-wrap;"><span style="border-width: initial; border-style: none; display: inline-block; overflow: hidden; width: 255px; height: 341px;"><span style="text-decoration: underline;"><span style="color: #000000;">(fig 18)</span></span>![](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/embedded-image-zwtdqowx.png)</span></span></span></span>

<span style="font-weight: 400;">6- Placer l’EDU et l’entrée d’eau, de manière à ce que le bec de l’entrée d’eau soit posé sur le cylindre central de l’EDU. Si besoin, tasser du sable sous l’EDU pour le surélever, afin que la sortie de l’EDU soit au niveau de la surface du sable.</span>

<span style="font-weight: 400;"><span style="text-decoration: underline;"><span style="color: #000000;">(fig 19)</span></span></span>

[![IMG_7830.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/img-7830.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/img-7830.JPG)

<span style="font-weight: 400;">7- Verser 9L d’eau dans le bac de décantation à travers la sortie d’eau (utiliser un entonnoir). Verser en plusieurs fois, cela donnera le temps à l’eau de passer du bac de décantation au bac de la pompe, évitant ainsi tout débordement !</span>

<span style="font-weight: 400;">8- Régler la pente via les pieds ajustables de la table. Vérifier que les pieds sont à la même hauteur. </span>

<span style="font-weight: 400;">9- Placer le dispositif vidéo au-dessus de la table, de telle sorte que toute la table puisse être filmée.</span>

<span style="font-weight: 400;">10- Vérifier que la table n’est pas penchée, en haut comme en bas, à l’aide d’un niveau de géomètre : la moindre variation peut avoir beaucoup d’effet ! Si besoin, placer des cales (en papier, ça suffit) sous les pieds jusqu’à ce que la bulle du niveau se trouve bien au centre.</span>

<span style="font-weight: 400;">11- Serrer l’étau pour avoir un débit de 10 mL/seconde (0,5 cm d’écartement).</span>

<span style="font-weight: 400;"><span style="text-decoration: underline;"><span style="color: #000000;">(fig 20)  
</span></span></span>

<span style="font-weight: 400;">[![IMG_8522.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/c9ximg-8522.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/c9ximg-8522.JPG)</span>

*<span style="font-weight: 400;">Dispositif de serrage du tuyau avec un étau.</span>*

<span style="font-weight: 400;">12bis- 2 choix :</span>

<span style="font-weight: 400;">a- Laisser l’eau se faire son chemin -&gt; ne rien faire</span>

<span style="font-weight: 400;">b- Suivre l'évolution d’un méandre -&gt; pré tracer un chemin dans le sable</span>

<span style="font-weight: 400;">13- Lancer l’expérience en branchant la pompe. C’est parti !</span>

<span style="font-weight: 400;">14- Lorsque votre expérience est conclue, débrancher la pompe. </span>

<span style="font-weight: 400;">15- Laisser l’eau du delta s’évader dans le bac de décantation (attendre 5 minutes). P</span><span style="font-weight: 400;">as d’inquiétudes s</span><span style="font-weight: 400;">i du sable est emporté.  
</span>

<span style="font-weight: 400;">16- S’il vous l’est demandé, réaliser des coupes.</span>

<span style="font-weight: 400;">17- Retirer de la table le tuyau d’alimentation en eau. </span>

<span style="font-weight: 400;">18- Retirer l’eau du bac de décantation. </span>

<span style="font-weight: 400;">19- Ajuster les pieds de la table de sorte que le pendage soit nul. </span>

<span style="font-weight: 400;">20- Mélanger grossièrement le sable, de sorte que le groupe suivant puisse débuter l’expérience avec un sable hétérogène et sans avoir connaissance du résultat attendu. </span>

##### <span style="color: #000000;">***Conclusion et perspectives*** </span>

<span style="font-weight: 400;">Notre objectif avec ce projet était de concevoir un système de modélisation de réseau fluviatile pour un coût plus raisonnable que le modèle EmRiver. Il devait être suffisamment petit pour être utilisé en plusieurs exemplaires dans la même salle de classe, mais assez grand pour être observable par un groupe de 4 élèves ; l’eau et le “sable” devaient être conservés dans le système avec un circuit fermé.</span>

<span style="font-weight: 400;">Tout d’abord, au terme de ce projet, nous avons une expérience qui fonctionne et nous pouvons observer des phénomènes intéressants avec. </span>

<span style="font-weight: 400;">Nous avons d’abord utilisé une table en bois de 75 x 50 x 10 cm, bâchée pour éviter la déformation et les fuites mais nous pensons qu’utiliser une table plus grande, de 120 x 60 x 15 cm serait plus judicieux, pour pouvoir former plus de méandres (plus de sable que ce que nous avons utilisé sera nécessaire).</span>

<span style="font-weight: 400;">Pour améliorer la table/bac, utiliser un autre matériau pourrait contrer les problèmes d'étanchéité : plexiglass sur mesure (solide, imperméable, transparent, mais d’autant plus cher que des plaques de 8 mm d’épaisseur seraient idéales), bac en plastique (moins esthétique mais beaucoup moins coûteux) ou garder du bois mais peint, verni ou avec une bâche de qualité (bâche ETM par exemple). Acheter des pieds ajustables similaires à ceux que nous avons fabriqués seraient aussi indiqué.</span>

<span style="font-weight: 400;">La circulation d’eau pourrait elle aussi être améliorée, notamment selon deux aspects. Premièrement, la pompe que nous utilisons est à débit trop important et inconstant : la remplacer par une pompe plus petite et/ou ajouter un débit-mètre réglable pour contrôler finement le débit serait utile. En second lieu, le système de décantation à deux bacs fonctionne bien mais il est difficile de récupérer le sable car celui-ci est mouillé ou collé aux parois. Une solution serait de placer un grillage horizontal assez haut dans le premier bac, de manière à retenir le sable au-dessus du niveau de l’eau et ainsi lui permettre de sécher.</span>

<span style="font-weight: 400;">Enfin, les impressions 3D sont fonctionnelles et suffisantes, mais souvent peu solides ; nous pourrions les imprimer en résine mais les déformations éventuelles risquent d’empêcher certaines pièces d’être complémentaires. Réimprimer l’EDU avec une fente externe moins longue pourrait aussi être utile mais pas nécessaire, tout comme raccourcir la sortie d’eau.</span>

**Bibliographie**

\[1\] « Emriver Stream Tables &amp; Hydraulic Flumes ». *Emriver*, https://emriver.com/.

**Remerciements**

Un grand merci à Loic Labrousse et à Pierre Théry qui nous ont aidé et encadré tout au long du projet. Merci également a Damien Do Couto qui nous a fait un retour sur la manip et sur son utilisation possible en TP. Merci aussi à l'équipe du Fablab Polytech qui nous a appris à utiliser les imprimantes 3D pour les impressions de pièces.

<details id="bkmrk-carnet-de-bord-%C2%A0"><summary>Carnet de bord</summary>

<span style="color: #000000;">Séance 0 (vendredi 20 janvier) :</span>

<span style="color: #000000;">Présentation de l’UE et du projet sable.</span>

<span style="color: #000000;">Nous avons visité le fablab puis nous avons fait un brainstorming sur comment concevoir la table et son système hydraulique avec les différents paramètres à prendre en compte.</span>

<span style="color: #000000;">**Séance 1 (vendredi 27 janvier) :** </span>

<span style="color: #000000;">TEST 1 </span>

<span style="color: #000000;">→ bac à tester en bois recouvert bâche, connaître dimensions idéales et syst hydro ouvert</span>

<span style="color: #000000;">pbm : avec la quantité de sable, quelle épaisseur ? Est-ce qu’on voit assez de phénomène avec cette épaisseur ? </span>

<span style="color: #000000;">rapports L/l de la boîte pour optimiser les phénomènes ?</span>

<span style="color: #000000;">Savoir le volume de sable qu’on a et celui nécessaire. -&gt; Taille de la boîte.</span>

<span style="color: #000000;">Avoir notre propre grille de tailles de grains (savoir la granulométrie de chaque type de grain).</span>

<span style="color: #000000;">Idée finale : savoir les dimensions de la boîte qu’on va prendre.</span>

<span style="color: #000000;">Il nous fallait faire une révision du diamètre des sables mis à notre disposition, en vue de vérifier si les valeurs fournies par le site sont en adéquation avec ce que nous disposons (rapport qualité).</span>

<span style="color: #000000;">Jaune : 1,4 mm de diamètre.</span>

<span style="color: #000000;">Blanc : 1 mm.</span>

<span style="color: #000000;">Noir : 0,7 mm.</span>

<span style="color: #000000;">Rouge : 0,4 mm.</span>

<span style="color: #000000;">Toutes les particules ont la même masse volumique, égale à 1,5 g/mL.</span>

<span style="color: #000000;">Donc si on prend une table de 75\*50 centimètres, il faut 28,125 kg de sable.</span>

<span style="color: #000000;">Rouge : plus petit que prévu, avec 90% environ entre 250 et 200 micromètres.</span>

<span style="color: #000000;">Noir : majorité entre 630 et 425 = plus petit que prévu (0,7).</span>

<span style="color: #000000;">Blanc : 50% de plus grand que 630 micromètres, 50% entre 630 et 425. = plus petit que prévu (1 mm).</span>

<span style="color: #000000;">Jaune : majorité supérieure à 1,4 et les plus petits ne passent pas le filtre à 630 micromètres = à peu près la bonne taille.</span>

<span style="color: #000000;">Donc au sein de la même couleur, on a une granulométrie hétérogène.</span>

<span style="color: #000000;">De plus, la plupart des grains sont globalement plus petits que les valeurs données (tout sauf le jaune).</span>

<span style="color: #000000;">La courbe granulométrique qui a résulté de la séance n’est pas assez précise car nous nous intéressions seulement à où s'arrêtait la majorité des grains.</span>

<span style="color: #000000;">objectifs séance 2 : </span>

<span style="color: #000000;">-Avec un prototype de bac, tester les écoulements d’eau pour savoir l’épaisseur de sable à mettre </span>

<span style="color: #000000;">-Il faudrait re-tamiser les différents sables pour pouvoir faire notre propre courbe granulométrique en cumulé (les tailles de grains observées diffèrent de celles indiquées).</span>

**<span style="color: #000000;">Séance 2 (vendredi 3 février) :</span>**

- <span style="color: #000000;">Etanchéité du bac (Kathy + Dan)</span>

<span style="color: #000000;">Loic Labrousse nous a fait un prototype de table pour tester les écoulements d’eau. La priorité a été de rendre la table étanche. Après avoir mesuré toute la surface du bac à couvrir et donc les dimensions de la bâche à utiliser, nous avons collé du scotch double face pour coller la bâche sur la table. Cela nous a pris plus de temps que prévu en raison de la précaution lors de l’utilisation du scotch double face, les points les plus critiques à étanchéifier étant les angles.</span>

<span style="color: #000000;">Avant</span>

<span style="color: #000000;">[![image-1675707602212.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1675707602212.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1675707602212.JPG)</span>

<span style="color: #000000;">Après</span>

<span style="color: #000000;">[![image-1675707583469.JPG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1675707583469.JPG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1675707583469.JPG)</span>

<span style="color: #000000;">L’autre possibilité est d’avoir directement une table en plexiglass ce qui ôterait cette étape d'étanchéification mais ça coûte cher. </span>

<span style="color: #000000;">Il n’y a plus qu’à tester vraiment la table avec de l’eau la semaine prochaine.</span>

<span style="color: #000000;">Selon le site emriver.com qui présente les modèles dont nous nous inspirons en version cheap, l'angle d’inclinaison de la table est de 3 degré et celui-ci doit pouvoir varier entre 0 et 3,5. Ce qui veut donc dire qu’on doit pouvoir surélever un côté de la table jusqu’à 6 cm environ. Donc l’autre objectif de la prochaine séance sera de voir comment on pourra le faire.</span>

- <span style="color: #000000;">Création des pièces pour entrée et sortie d'eau (Alice + Amaury)</span>

<span style="color: #000000;">Pendant cette séance nous avons aussi découvert le logiciel Openscad avec lequel nous avons tenté de créer le système de sortie d’eau du bac. L’idée était de faire une sorte de vis creuse que l’on ferait tourner d’un tour (360°) pour modifier la hauteur de 1cm. Le trou d’évacuation d’eau étant au bout de cette vis, cela permet donc de modifier et contrôler la hauteur d’eau au niveau de la zone du delta. La première version du code est la suivante : </span>

<span style="color: #000000;">SORTIE D'EAU (cliquer sur le triangle pour voir le code)</span>

<details><summary></summary>

<span style="color: #000000;">// valeurs vis externe</span>

<span style="color: #000000;">color1 = "LightBlue"</span>

<span style="color: #000000;">h0 = 100</span>

<span style="color: #000000;">r0 = 22</span>

<span style="color: #000000;">fn = 36</span>

<span style="color: #000000;">tr2 = </span>

<span style="color: #000000;">// vis externe</span>

<span style="color: #000000;">difference(){</span>

<span style="color: #000000;"> union(){</span>

<span style="color: #000000;"> color(color1) cylinder(h0, r0, r0, true, $fn = fn);</span>

<span style="color: #000000;"> translate(\[0, 0, 49\]) color(color1) cylinder(2.9, 28, 28, true, $fn = 36);</span>

<span style="color: #000000;"> translate(\[0, 0, -62.5\]) color(color1) cylinder(25, 16, 22, true);</span>

<span style="color: #000000;"> translate(\[0, 0, -87.5\]) color(color1) cylinder(25, 16, 16, true);</span>

<span style="color: #000000;"> }</span>

<span style="color: #000000;"> cylinder(101, 19, 19, true, $fn = 36);</span>

<span style="color: #000000;"> translate(\[0, 0, -62.5\]) cylinder(26, 13, 19, true);</span>

<span style="color: #000000;">translate(\[0, 0, -87.5\]) cylinder(26, 13, 13, true);</span>

<span style="color: #000000;"> linear\_extrude(height = 100, center = true, convexity = 10, twist = 3600)</span>

<span style="color: #000000;">translate(\[20, 0, 0\]) circle(r = 1.5); </span>

<span style="color: #000000;">}</span>

<span style="color: #000000;">// vis interne</span>

<span style="color: #000000;">difference(){</span>

<span style="color: #000000;"> union(){</span>

<span style="color: #000000;"> translate(\[0, -17.5, 70\]) color("Pink") cylinder(30, 1.5, 1.5, true);</span>

<span style="color: #000000;"> translate(\[0, 0, 85\]) rotate(a=\[90, 90, 0\]) color("Pink") cylinder(38, 1.5, 1.5, true);</span>

<span style="color: #000000;"> translate(\[0, 17.5, 70\]) color("Pink") cylinder(30, 1.5, 1.5, true);</span>

<span style="color: #000000;"> translate(\[0, 0, 2.5\]) color("Pink") cylinder(105, 19, 19, true, $fn = 36);</span>

<span style="color: #000000;">// cylinder(100, 21.3, 21.3, true, $fn = 36);</span>

<span style="color: #000000;"> linear\_extrude(height = 100, center = true, convexity = 10, twist = 3600, $fn = 36) translate(\[20, 0, 0\]) circle(r = 1.3);</span>

<span style="color: #000000;"> }</span>

<span style="color: #000000;"> translate(\[0, 0, 2.5\]) cylinder(106, 16, 16, true, $fn = 36);</span>

<span style="color: #000000;"> linear\_extrude(height = 100, center = true, convexity = 10, twist = 3600, $fn = 36) translate(\[20, 0, -2.6\]) rotate(\[90, 0, 0\]) circle(r = 1.3); </span>

<span style="color: #000000;">}</span>

</details><span style="color: #000000;">Cependant, nous avons été confrontés à un problème inattendu : en étirant le cercle pour réaliser le filetage de vis, celui-ci s’est aplati, ce qui donnait un filetage extrêmement fin et fragile. Pour remédier à ce problème, nous avons tenté plusieurs approches : à ce jour (07/02), la réflexion est encore en cours. </span>

<span style="color: #000000;">**Hypothèses** : </span>

<span style="color: #000000;">1) Essayer de prendre une sphère et de d'utiliser la fonction linear\_extrude pour allonger un objet 3D.</span>

<span style="color: #000000;">Résultat : la fonction linear\_extrude ne supporte pas les objets 3D.</span>

<span style="color: #000000;"> 2) Réduire l’échelle de l’ensemble pour voir si l’objet était “plus rond” à plus petite échelle.</span>

<span style="color: #000000;">Résultat : pas plus rond, c’est lié à comment marche la fonction.</span>

<span style="color: #000000;">En effet, linear extrude empile juste des formes 2D (=extrusion de la forme 2D d’origine) en les déplaçant les unes par rapport aux autres en fonction du twist : ici un cercle + un cercle légèrement décalé au-dessus + un autre cercle encore décalé au-dessus ...</span>

<span style="color: #000000;">Donc grand twist = grand décalage entre les formes = faible épaisseur quelle que soit l’échelle.</span>

<span style="color: #000000;">3) Obtenir la crête souhaitée en ajoutant un cylindre là où elle devrait être, puis en soustrayant à ce cylindre, via la fonction difference(), des spirales obtenues par linear\_extrude.</span>

<span style="color: #000000;">Résultat : même problème que pour créer directement la crête, c’est à dire que twist trop grand = crête trop fine. Autrement dit, on va pas passer la nuit (et 50 lignes de programme) à virer des spirales.</span>

<span style="color: #000000;">4) On part sur 4 crêtes sur la vis (on adapte donc la forme de la vis externe). On augmente ainsi le pas de vis pour épaissir la crête = crêtes plus résistantes.</span>

<span style="color: #000000;">On ajoute donc : </span>

<span style="color: #000000;">linear\_extrude(height = 100, center = true, convexity = 10, twist = tw1, $fn = 36) translate(\[20, 0, 0\]) circle(r = 1.3);</span>

<span style="color: #000000;"> linear\_extrude(height = 100, center = true, convexity = 10, twist = tw1, $fn = 36) translate(\[0,20, 0\]) circle(r = 1.3);</span>

<span style="color: #000000;"> linear\_extrude(height = 100, center = true, convexity = 10, twist = tw1, $fn = 36) translate(\[-20, 0, 0\]) circle(r = 1.3);</span>

<span style="color: #000000;"> linear\_extrude(height = 100, center = true, convexity = 10, twist = tw1, $fn = 36) translate(\[0, -20, 0\]) circle(r = 1.3);</span>

<span style="color: #000000;">Résultat : ça marche … mais 4 crêtes sont inutiles ici (?), car les contraintes sont faibles sur la vis (sinon, utiles pour la solidité de l’ensemble je crois). On enlève 2 crêtes, pour ne garder que : </span>

<span style="color: #000000;">linear\_extrude(height = 100, center = true, convexity = 10, twist = tw1, $fn = 36) translate(\[20, 0, 0\]) circle(r = 1.3);</span>

<span style="color: #000000;"> linear\_extrude(height = 100, center = true, convexity = 10, twist = tw1, $fn = 36) translate(\[-20, 0, 0\]) circle(r = 1.3);</span>

<span style="color: #000000;">**<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal;">08/02/2023</span>**</span>

<span style="color: #000000;">Après 4 tentatives, on a un modèle qui tient la route. Maintenant, place au softcoding :) Et voilà le code digne de ce nom, où toutes les tailles et translations sont définies selon la hauteur du grand cylindre bleu :</span>

<details><summary></summary>

<span style="font-weight: 400; color: #000000;">//CODE NECESSAIRE POUR IMPRIMER LES 2 PIECES</span>

<span style="font-weight: 400; color: #000000;">//valeurs générales </span>

<span style="font-weight: 400; color: #000000;">colorext= "LightBlue";</span>

<span style="font-weight: 400; color: #000000;">colorint= "Pink";</span>

<span style="color: #000000;"><span style="font-weight: 400;">fn= 36;</span></span>

<span style="font-weight: 400; color: #000000;">//On notera que ces 3 valeurs ne servent qu'à l'aspect visuel : la couleur ne sera pas nécessaire à l'impression, et la définition permettra un rendu plus harmonieux (et des cercles plus ... ronds).</span>

<span style="font-weight: 400; color: #000000;"> //valeurs gros cylindre (servent de base à toutes les autres valeurs, surtout hbigtube)</span>

<span style="font-weight: 400; color: #000000;">hbigtube= 100;</span>

<span style="font-weight: 400; color: #000000;">rbigtube= 0.22\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;"> //valeurs vide gros cylindre</span>

<span style="font-weight: 400; color: #000000;">hemptybigtube =1.01\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">remptybigtube= 0.19\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">twistroom= 9\*hemptybigtube;</span>

<span style="font-weight: 400; color: #000000;"> //explication : on veut que pour accueillir la crête de la vis, la rainure ( "room" dans les noms de valeurs) fasse toute la longueur du gros cylindre ("bigtube"). Donc on aurait twistroom= 5.4 (parce que 540° de twist)\*hbigtube.</span>

<span style="font-weight: 400; color: #000000;"> // Sauf que le cylindre plat au sommet ("toptube") est posé légèrement plus haut que le sommet du "bigtube" ... mais pas de problème ! Le tube de vide qui les rend creux ("emptybigtube") est plus grand que le "bigtube" pour rendre "bigtube" et "toptube" creux en même temps :)</span>

<span style="font-weight: 400; color: #000000;"> // Résultat des courses : hroom = hemptybigtube permet de se simplifier la vie, en donnant hroom = 101 alors que h(bigtube+toptube)= 100.9. Ceci étant fait, on doit éviter de perdre en précision sur la rainure : en calculant le twist sur hemptybigtube, on peut garder le twist propotionnel à la taille des tubes, donc toujours la même ligne comparativement au tube.</span>

<span style="font-weight: 400; color: #000000;">conv= 10;</span>

<span style="font-weight: 400; color: #000000;">//CODE NECESSAIRE EN PLUS POUR IMPRIMER LE SUPPORT</span>

<span style="font-weight: 400; color: #000000;">//valeurs pièce externe (support)</span>

<span style="font-weight: 400; color: #000000;"> //valeurs top cylindre </span>

<span style="font-weight: 400; color: #000000;">transxtoptube= 0;</span>

<span style="font-weight: 400; color: #000000;">transytoptube= 0;</span>

<span style="font-weight: 400; color: #000000;">transztoptube= 0.49\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">htoptube= 0.029\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rtoptube= 0.28\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;"> //valeurs cône et petit tube</span>

<span style="font-weight: 400; color: #000000;">transxcone= 0;</span>

<span style="font-weight: 400; color: #000000;">transycone= 0;</span>

<span style="font-weight: 400; color: #000000;">transzcone= -0.625\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">hcone= 0.25\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rconelow= 0.16\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rconetop= 0.22\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">transxsmolcone= 0;</span>

<span style="font-weight: 400; color: #000000;">transysmolcone= 0;</span>

<span style="font-weight: 400; color: #000000;">transzsmolcone1= -0.79\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">transzsmolcone2= -0.87\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">transzsmolcone3= -0.95\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">hsmolcone1= 0.08\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">hsmolcone3= 0.09\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rsmolconetop= 0.16\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rsmolconelow1= 0.15\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rsmolconelow3= 0.14875\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;"> //valeurs vide gros cylindre (les pas fondamentales)</span>

<span style="font-weight: 400; color: #000000;">transxemptybigtube= 0;</span>

<span style="font-weight: 400; color: #000000;">transyemptybigtube= 0;</span>

<span style="font-weight: 400; color: #000000;"> //valeurs vide cône et vide petit tube</span>

<span style="font-weight: 400; color: #000000;">hemptycone= 0.26\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">remptyconelow= 0.13\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">remptyconetop= 0.19\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">hemptysmolcone= 0.26\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">remptysmolcone= 0.13\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;"> //Valeurs rainure d'insertion vis ("room")</span>

<span style="font-weight: 400; color: #000000;">hroom= hemptybigtube;</span>

<span style="font-weight: 400; color: #000000;">transxroom1= 0.19\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">transxroom2= -transxroom1;</span>

<span style="font-weight: 400; color: #000000;">transyroom= 0;</span>

<span style="font-weight: 400; color: #000000;">transzroom= 0;</span>

<span style="font-weight: 400; color: #000000;">rroom= 0.017\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">// pièce externe (support)</span>

<span style="font-weight: 400; color: #000000;">difference(){</span>

<span style="font-weight: 400; color: #000000;"> union(){</span>

<span style="color: #000000;"><span style="font-weight: 400;"> </span><span style="font-weight: 400;"> </span><span style="font-weight: 400;">color(colorext) cylinder(hbigtube, rbigtube, rbigtube, true, $fn = fn);</span></span>

<span style="color: #000000;"><span style="font-weight: 400;"> </span><span style="font-weight: 400;"> </span><span style="font-weight: 400;">translate(\[transxtoptube, transytoptube, transztoptube\]) color(colorext) cylinder(htoptube, rtoptube, rtoptube, true, $fn = fn);</span></span>

<span style="font-weight: 400; color: #000000;"> translate(\[transxcone, transycone, transzcone\]) color(colorext) cylinder(hcone, rconelow, rconetop, true, $fn= fn);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[transxsmolcone, transysmolcone, transzsmolcone1\]) color(colorext) cylinder(hsmolcone1, rsmolconelow1, rsmolconetop, true, $fn= fn);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[transxsmolcone, transysmolcone, transzsmolcone2\]) color(colorext) cylinder(hsmolcone1, rsmolconelow1, rsmolconetop, true, $fn= fn);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[transxsmolcone, transysmolcone, transzsmolcone3\]) color(colorext) cylinder(hsmolcone3, rsmolconelow3, rsmolconetop, true, $fn= fn);</span>

<span style="font-weight: 400; color: #000000;"> }</span>

<span style="font-weight: 400; color: #000000;"> cylinder(hemptybigtube, remptybigtube, remptybigtube, true, $fn = fn);</span>

<span style="color: #000000;"><span style="font-weight: 400;"> </span><span style="font-weight: 400;">translate(\[transxcone, transycone, transzcone\]) cylinder(hemptycone, remptyconelow, remptyconetop, true, $fn= fn);</span></span>

<span style="font-weight: 400; color: #000000;">translate(\[transxcone, transycone, transzsmolcone2\]) cylinder(hemptysmolcone, remptysmolcone, remptysmolcone, true, $fn= fn);</span>

<span style="font-weight: 400; color: #000000;"> linear\_extrude(height = hroom, center = true, convexity = conv, twist = twistroom, $fn= fn) translate(\[transxroom1, transyroom, transzroom\]) circle(r = rroom); </span>

<span style="font-weight: 400; color: #000000;"> linear\_extrude(height = hroom, center = true, convexity = conv, twist = twistroom, $fn= fn) translate(\[transxroom2, transyroom, transzroom\]) circle(r = rroom); </span>

<span style="font-weight: 400; color: #000000;">}</span>

<span style="font-weight: 400; color: #000000;">//CODE NECESSAIRE EN PLUS POUR IMPRIMER LA VIS</span>

<span style="font-weight: 400; color: #000000;">//valeurs pièce interne (vis)</span>

<span style="font-weight: 400; color: #000000;"> //valeurs cylindres anse</span>

<span style="font-weight: 400; color: #000000;">transxlattube= 0;</span>

<span style="font-weight: 400; color: #000000;">transylefttube= 0.175\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">transyrighttube= -transylefttube;</span>

<span style="font-weight: 400; color: #000000;">transzlattube= 0.7\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">transxmidtube= 0;</span>

<span style="font-weight: 400; color: #000000;">transymidtube= 0;</span>

<span style="font-weight: 400; color: #000000;">transzmidtube= 0.85\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rotxmidtube= 90;</span>

<span style="font-weight: 400; color: #000000;">rotymidtube= 90;</span>

<span style="font-weight: 400; color: #000000;">rotzmidtube= 0;</span>

<span style="font-weight: 400; color: #000000;">hlattube= 0.3\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rlattube= 0.03\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">hmidtube= 0.4\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rmidtube= 0.03\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;"> //valeurs gros cylindre interne</span>

<span style="font-weight: 400; color: #000000;">transxbigint= 0;</span>

<span style="font-weight: 400; color: #000000;">transybigint= 0;</span>

<span style="font-weight: 400; color: #000000;">transzbigint= 0.025\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">hbigint= 1.05\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rbigint= 0.19\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;"> //valeurs crête vis</span>

<span style="font-weight: 400; color: #000000;">hvis= hbigtube;</span>

<span style="font-weight: 400; color: #000000;">rotxvis= 0;</span>

<span style="font-weight: 400; color: #000000;">rotyvis= 0;</span>

<span style="font-weight: 400; color: #000000;">rotzvis= -4;</span>

<span style="font-weight: 400; color: #000000;">transxvis1= 0.19\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">transxvis2= -transxvis1;</span>

<span style="font-weight: 400; color: #000000;">transyvis= 0;</span>

<span style="font-weight: 400; color: #000000;">transzvis= 0;</span>

<span style="font-weight: 400; color: #000000;">rvis= 0.013\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;"> //valeurs vide gros cylindre interne</span>

<span style="font-weight: 400; color: #000000;">transxemptybigint= 0;</span>

<span style="font-weight: 400; color: #000000;">transyemptybigint= 0;</span>

<span style="font-weight: 400; color: #000000;">transzemptybigint= 0.025\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">hemptybigint= 1.06\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">remptybigint= 0.16\*hbigtube;</span>

<span style="font-weight: 400; color: #000000;">// pièce interne (vis)</span>

<span style="font-weight: 400; color: #000000;">difference(){</span>

<span style="font-weight: 400; color: #000000;"> union(){</span>

<span style="font-weight: 400; color: #000000;"> translate(\[transxlattube, transyrighttube, transzlattube\]) color(colorint) cylinder(hlattube, rlattube, rlattube, true, $fn= fn);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[transxlattube, transylefttube, transzlattube\]) color(colorint) cylinder(hlattube, rlattube, rlattube, true, $fn= fn);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[transxbigint, transybigint, transzmidtube\]) rotate(a=\[rotxmidtube, rotymidtube, rotzmidtube\]) color(colorint) cylinder(hmidtube, rmidtube, rmidtube, true, $fn= fn);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[transxbigint, transxbigint, transzbigint\]) color(colorint) cylinder(hbigint, rbigint, rbigint, true, $fn = fn);</span>

<span style="font-weight: 400; color: #000000;"> <span style="font-weight: 400;">rotate(\[rotxvis, rotyvis, rotzvis\]) </span>linear\_extrude(height = hvis, center = true, convexity = conv, twist = twistroom, $fn = fn) translate(\[transxvis1, transyvis, transzvis\]) circle(r = rvis);</span>

<span style="font-weight: 400; color: #000000;"> <span style="font-weight: 400;">rotate(\[rotxvis, rotyvis, rotzvis\]) </span>linear\_extrude(height = hvis, center = true, convexity = conv, twist = twistroom, $fn = fn) translate(\[transxvis2, transyvis, transzvis\]) circle(r = rvis);</span>

<span style="font-weight: 400; color: #000000;"> }</span>

<span style="font-weight: 400; color: #000000;"> translate(\[transxemptybigint, transyemptybigint, transzemptybigint\]) cylinder(hemptybigint, remptybigint, remptybigint, true, $fn = fn);</span>

<span style="font-weight: 400; color: #000000;">}</span>

<span style="color: #000000;">**ENTREE D'EAU**</span>

<span style="font-weight: 400; color: #000000;">//aucune idée des diamètres de tuyaux donc il faudra soft-coder les diam des cylindres pour ajuster selon le tuyau mais en gros j'pense c'est pas mal </span>

<span style="font-weight: 400; color: #000000;">union(){</span>

<span style="font-weight: 400; color: #000000;">difference(){</span>

<span style="font-weight: 400; color: #000000;"> rotate(\[0, 65, 0\])cylinder(40, 5, 12);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[-1, 0, 0\])rotate(\[0, 65, 0\])cylinder(42, 3, 10);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[45, 0, -24\])cylinder(52, 10, 10);}</span>

<span style="font-weight: 400; color: #000000;">difference(){</span>

<span style="font-weight: 400; color: #000000;">translate(\[30, 0, 15.5\]) rotate(\[0, 90, 0\])cylinder (30, 12, 12);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[29, 0, 15.5\]) rotate(\[0, 90, 0\])cylinder(30, 9, 9);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[45, 0, -27.5\])cylinder(48, 10, 10);}</span>

<span style="font-weight: 400; color: #000000;"> }</span>

<span style="font-weight: 400; color: #000000;">difference(){</span>

<span style="font-weight: 400; color: #000000;"> translate(\[45, 0, -23\])cylinder(50, 12, 12);</span>

<span style="font-weight: 400; color: #000000;"> translate(\[45, 0, -24\])cylinder(52, 10, 10);</span>

<span style="font-weight: 400; color: #000000;">translate(\[29, 0, 15.5\]) rotate(\[0, 90, 0\])cylinder(32, 10, 10);}</span>

</details><span style="color: #000000;">Après avoir soft codé ce petit bijou d'inspiration, on le sépare en 2 fichiers puisqu'il y a 2 pièces à imprimer : en effet, il faut pouvoir faire tourner le robinet pour que l'eau arrive dans le système avec un certain angle. Les 2 pièces sont maintenues grâce à un élément supplémentaire sur le tube traversant la paroi de la table ; cet élément vient s'encastrer dans le tube mobile et permet ainsi de le maintenir.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Séance 3 (10/02)</span>

<span style="color: #000000;"><span style="font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Dan et Kathy</span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Nous avons dans un premier temps vérifié la fonctionnalité/qualité de la petite pompe à eau que Pierre nous a fourni. Il en résulte que : </span>

- <span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Elle fonctionne,</span>
- <span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Le débit de propulsion de l’eau est réglable (du plus ou moins fort débit),</span>
- <span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Son efficacité est maximale lorsqu’elle est complètement immergée dans l’eau, </span>
- <span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Nous l’avons munie d’un épais tube polyuréthane plus long que l’initial. En effet, la longueur du tube permet d’atteindre l’orifice situé à l’avant du bac. </span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Le système hydraulique sera en circuit fermé. L’eau à la sortie de la table servira à garder la pompe immergée.</span>

<span style="color: #000000;"><span style="font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 192px; height: 256px;">![](https://lh6.googleusercontent.com/jnmGAjfsbaNGByLwN9pde8aY_ou1V8Xs8L7XHJsXoBf6LSVn-LEyHdEy_V_H0k2-jKdEyOKyyI_1Fyd1-MIUmbulseM-jQS-ibN4Q2IN4PTvik2bYFP-ugrFuHJK-eGXQ2GtuDjRMXDpCMzuLXR3Sw)</span></span></span>

<span style="color: #000000;"><span style="font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 192px; height: 257px;">![](https://lh6.googleusercontent.com/oOwGUZIKwwkOjmYtYfprdoT6vZ5oMhnUlECRdIpzFcJycFF4LFRl-uqnb-WkoT-FDraigogk31z_VLvaV3OWlgaTn598k6qtOswc5htIVhDGtkCcbKklW4E4L92COLgMnvAzCqCZQ9oK1uUh-94suw)</span></span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cependant, la pompe à notre disposition fonctionne au branchage. Autrement dit, dès que l'engin est branché, il se met en marche. Or, ce n’est absolument pas pratique, et sûrement pas professionnel dans un cadre pédagogique. Il faudra donc à un moment ou un autre penser à y insérer un système d’interrupteur manuel classique, ou alors changer de pompe. </span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Nous avons dans un second temps tester l’étanchéité de la table précédemment mise sous bâche (cf séance du 03/02/2023). Pour ce faire, nous avons rempli un gros bidon d’eau du robinet que nous avons déversé dans le bac. Il en résulte que : </span>

- <span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Environ 99% de la table est étanche. La bâche que nous avions placée est efficace. </span>
- <span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">L’essai a révélé une petite lacune dans la bâche, nous l’avons comblé avec du ruban adhésif. </span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Notons qu'au niveau du trou d'évacuation de l’eau, les tuyaux n’étant pas encore disposés, de l’eau à pénétrer le bois. Cela met en évidence l’importance d’une étanchéité sans faille. En effet, comme on le voit sur l’image ci-dessous, l’eau a imbibée le bois et s’est répandue en auréole.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 158px; height: 209px;">![](https://lh5.googleusercontent.com/txgMGS4_ygWy86xG85Hhu-9Dh1zJsx25rVeoiMP8f6G-BiBB7E_wT_XAX7hczaSq3TtkEN9OSq_4WqIE9YtyxXCZP9u7p_OIBwYBi2IaGyvm_0XAGhNIoVVJB5zraIe47oYwL3i95w_jfBYVRxvP4bk)</span></span>

<span style="color: #000000;">  
</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Dans un troisième temps, nous avons réfléchi à un système pratique, efficace et peu coûteux qui permettrait d’ajuster la pente de la table (plusieurs valeurs prédéfinies possibles). Nous avons pensé à un système simple de pieds ajustables pour les deux pieds situés au niveau de la future entrée d’eau qui nous permettrait d’avoir jusqu’à 6 cm de battement du pied (donc jusqu'à 3,5° de pente de la table). </span>

<span style="color: #000000;"><span style="font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; font-style: italic; font-variant: normal; text-decoration: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Schéma théorique du pied à hauteur ajustable</span><span style="font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> : </span></span>

<span style="color: #000000;">  
</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 461px; height: 330px;">![](https://lh6.googleusercontent.com/TjCbmfCnuy5UYLkrOvOCSwe2oQ_iNvGM3LhkBgrNHYJdgzlIU-D_YhfZw9_SVeRsDEohQ9LTrplBXJQrAUAE5-M_vLcowbfOV6ZlEV0jUye47RzsHwJU0j6MtmScMbfy7vIUbdwvhfJ1wd6LKO36Zvo)</span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Pour équilibrer l’ajout, nous remplacerons donc les deux autres pieds de la table par des pieds simples (non ajustables) de même longueur. Cette augmentation de la hauteur des 4 pieds permet dans un même élan de régler un souci : alias la difficulté d’accès au dessous de la table. En effet, la table initiale est bien trop basse pour manipuler pompe, tuyaux…</span>

<span style="color: #000000;">  
</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On a donc fait les deux pieds plus grands dont l’objectif était de les rendre creux et rentrer un tube en métal qui plus ou moins enfoncé permettrait l'élévation d’un côté de la table.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Problème : on ne peut pas faire un trou dedans avec la perceuse à scie à cloche.</span>

<span style="color: #000000;">  
</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Résultat après la scie à cloche sur le pied de gauche</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 279px; height: 206px;">![](https://lh4.googleusercontent.com/iHl22sUp80-MQzCaVRdP-OT4SozIiReON9lGMHJVsYTWvJkxUPWuNaMG7P9ot23uxQEw1JcwVDmiYzOXBMLvXMtI52bLpPpYpRmyAytc8S2rt0JXmLbrEY2_NWm0mbSdpVOttDhp-o-aCY1gOIaZ5w)</span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On a donc opter pour percer et découper des morceaux de bois de 2 cm d’épaisseur qu’on collera ensuite ensemble. Le tube en métal passera dedans. On a fait plusieurs trous mais on s’est arrêtés car la batterie de la perceuse était morte.</span>

<span style="color: #000000;"><span style="font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 200px; height: 269px;">![](https://lh6.googleusercontent.com/HILxfAt0O-NtmQ9gtbmldDB2fReiKfPSBA9u2aidHB4Iyd84WT3pTMRRtqfyVGup1bqfz2A07RtiWobK64s3eYxQD7aolEPGCDezjDfnkSE9CpbRaUgb6jyp4mASDTScsTpbU5xwWmolCp5ZCE8LvFA)</span></span><span style="font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: bold; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 196px; height: 262px;">![](https://lh6.googleusercontent.com/ia94qQXshor3FKX4sVK8DVQaeZ4Q-3x9HlvjVTNlqAn8_i2I9J_hPvHRebkp3iN_q56VfPxpwJpqS3jFt0RJ5atjS1vB6UbIh3xjiq1-qaTz_TjVcrEBBH9HAa8J_kOfmaRdwAs1NfoQGRHOXIw7gSg)</span></span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Perspectives : </span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">A la prochaine séance, il nous faudra poursuivre et finaliser les pieds de table, puis les incruster à cette dernière. Ensuite, avec la balance que Pierre nous aura apporté, nous pourrons peser la masse de sable totale dont nous disposons. </span>

<span style="color: #000000;">  
</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Séance 3 (17/02)</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Alice et Amaury <span style="background-color: #fbeeb8;">(partie inutile au final)</span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Aujourd’hui, nous cherchons à préparer le bac de décantation où arriveront l’eau et les grains de sable transportés une fois sortis du plateau de modélisation.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Problématique 1 : éviter que les tuyaux se baladent sous la pression de l’eau.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On va donc … faire des pièces à imprimer, pour changer :)</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">How it looks :</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 602px; height: 385px;">![](https://lh3.googleusercontent.com/WiKFZFQlTc8y_cSI-kLdjzpDqzuCfzKtyKYeF0HMRBbSAMGwbs6xaSu7nyiSvpXWV_hCDjMJK-GunzXKZQmzTNyXZ8sXsR_oP0K7F59GipyDftQuUz9rKouqs9O2uICXJpgTPT4sVYbq-aqEGJ1wmWI)</span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cette pièce sera placée sur le bord du bac de décantation et maintiendra le tuyau amenant l’eau à la modélisation, tuyau qui passera par le trou cylindrique de diamètre 1,5 cm.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">D’ailleurs, on ne le voit pas sur cette capture d’écran mais une encoche est présente pour venir placer la pièce directement sur le bord du bac de décantation. </span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 180px; height: 206px;">![](https://lh4.googleusercontent.com/1auPtXSL0HjiVWJ6FA-LM1sxjnh1M5w30AlXoPV1E3dqoJUpsuqD84Dh_BafwqdFTZNgmeG5sq247i_4y4gePsRFqZv4qnqUzxfEIvGHUJ_aoAchpvM6l2WCWpThjtgKwxv8zPt_QYGt6Sck1whzIQ)</span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Pour ce qui est de l’eau sortant de la table de modélisation, on se demande s’il faut vraiment un tuyau ou si laisser tomber l’eau directement serait viable.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Autrement dit, est-ce que ça gicle partout si on met pas de tuyau ?</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Etant donné que la sortie d’eau aura une hauteur assez stable (c’est l’autre côté de la table qui monte ou descend pour former la pente), ne pas mettre de tuyau est viable uniquement si la hauteur de base n’est pas trop importante … reste à tester la limite.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Contrainte 2 : éviter de renvoyer du sable dans le système/de boucher la pompe.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">En bref on veut que le bac de décantation … décante.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Tout ça en sachant que la pompe ne fonctionne de manière optimale que si elle est complètement immergée (il faut donc garantir une hauteur d’eau relativement importante, d’au moins 10 cm) et que si la longueur de tube entre la pompe et l’entrée d’eau est trop importante, on n’aura plus assez de pression d’eau.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Notre idée de base était d’entourer la pompe d’un grillage au maillage suffisamment petit pour empêcher le sable d’entrer, mais ce serait assez peu pratique à fabriquer.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On peut faire plus simple néanmoins : on place un grillage de même maillage mais cette fois-ci, on le prend de la largeur et hauteur du bac, et on le place de manière à séparer le bac de décantation en 2.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 547px; height: 328px;">![](https://lh6.googleusercontent.com/cXSwdgFf-0tsMjuOrTXevful9YXF9_ZtP2oAQqRG8OJqa38Ui-Kb0wZGkX202WXXXBiV9-kexn97HSVK66ECxCLsE0L3ke2uP9xzkvEH6IR8piOdSMXyluLTI8dRzaph29YHezdJlRQRc2a8maLl2w)</span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On se retrouve ainsi avec une zone où l’eau est chargée en sable, et une autre où elle n’en contient plus et où se trouve la pompe ; le grillage vertical permet au sable de décanter et de peu s’accumuler en hauteur.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Dimensions du bac de décantation :</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Assez grand pour être divisé en 2, avec assez de place derrière le grillage pour mettre la pompe et une quantité d’eau suffisante.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Donc on pourrait partir sur 70 cm de long\*20 cm de large\*20 cm de haut ; le grillage serait placé après 50 cm (par exemple), laissant un cube de 20 cm de côté où l’eau serait prélevée par la pompe.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Pour des raisons de simplicité, nous n'avons au final pas utilisé ce modèle. Il nous a suffi de percer 2 bidons, l'un accueillant l'eau provenant de la table et l'autre contenant la pompe renvoyant l'eau dans le système. Ces deux bidons ont été reliés par un tube pour que l'eau puisse circuler, avec des joints pour étanchéifier l'ensemble.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Conception de la table</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Nous avons continué ce que nous avions fait la semaine dernière c’est-à-dire que nous avons refait tous les pieds de la table en plus long et plus gros, dont les deux à hauteur ajustable.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Nous avons fait des trous de chaque côté de la barre (entre ceux déjà préexistants) ainsi qu’un dans le bois pour pouvoir faire passer une tige à travers tous les trous </span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Les trous sont espacés tous d’environ 1,5 cm ce qui fait, par trou, une différence de 0,86° dans la pente de la table.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Alice a codé des cales à mettre sous le pied en fonction de l'intensité de l’inclinaison.</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Pour la version finale nous choisirons sûrement un espacement qui permettra de changer la pente de 1, 2 ou 3° (ce sera plus simple pour les expériences).</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Aperçu des différents composants du pied ajustable (bois creux + barre d’acier trouée)</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 220px; height: 295px;">![](https://lh4.googleusercontent.com/dMTp5MRSd7_pJgIFaESZqTDDGxi3FVwg0M2-Lv3YwltccsEEeA0HYfu30rJgNu6wfxUF0pA-eV2DHVM7tbRaXuK95i36X1hLgcYrblvGT6jtc0Qn-eZM-_cBput4eZpSF7tK16N9XCnQVM6797nMXtI)</span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Résultat final de la table vue à l’envers</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 390px; height: 292px;">![](https://lh4.googleusercontent.com/H8cv97lqNZ3px1ECS73Bimc8-fYO0r2o32ygz6_aNO58q8UuD2DEu1SMBTyAmMS3hAABwOtJ9Vzl_uTH1ZMVUBpvThINThlk5iYmvOQdM9FcW1DjmlLLGQvu-7hvPBiB4sApylDQwhmyWY8dOYNyEGc)</span></span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">La prochaine fois :</span>

<span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Il reste 3 trous a faire dans une des barres d’acier et normalement la table sera prête à être testée avec de l’eau et du sable.</span>

<span style="color: #000000;">**Séance 4 du 24/02**</span>

<span style="color: #000000;">Alice &amp; Amaury</span>

<span style="color: #000000;">Lors de cette séance, les objectifs étaient de contrôler le rendu des premières impressions. </span>

<span style="color: #000000;">Observations :</span>

<span style="color: #000000;">- la poignée de la vis interne est trop fragile</span>

<span style="color: #000000;">[![2DC26E40-1FF0-4F9B-8AA6-6E6FF5A1C30C.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/2dc26e40-1ff0-4f9b-8aa6-6e6ff5a1c30c.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/2dc26e40-1ff0-4f9b-8aa6-6e6ff5a1c30c.jpeg)</span>

<span style="color: #000000;">- il faut faire attention au coefficient de dilatation lors de l'impression : les pièces censées s'emboîter ont un problème de diamètre. </span>

<span style="color: #000000;">Pour résoudre ces deux problèmes nous avons donc modifié les pièces et leurs dimensions dans open scad et lancé des réimpressions.</span>

<span style="color: #000000;">- la vis externe ne rentre pas dans le trou de la planche. </span>

<span style="color: #000000;">Solution: limer. </span>

<span style="color: #000000;">Par ailleurs nous avons profité de cette séance pour coder des pièces pour le tuyau reliant les deux bacs sous la table (voir partie de Kathy &amp; Dan) car les pièces en métal achetées n'avaient pas les bonnes dimensions entre elles. Soit elles seront ré-achetées soit nous imprimerons les pièces codées. </span>

<span style="color: #000000;">Update final : <span style="background-color: #fbeeb8;">cette partie est inutile aussi</span> car les pièces en métal sont utilisées.</span>

<span style="color: #000000;">Dan et Kathy</span>

<span style="font-weight: 400; color: #000000;">On a fini les trous dans l’acier, donc les pieds réglables, c’est réglé. </span>

<span style="font-weight: 400; color: #000000;">On s’est ensuite attardé sur comment faire le bac de décantation avec la pompe. Pierre nous a ramené 2 bidons et au lieu de les coller on a préféré faire un trou dans les deux et les relier par un tube (les essais ont révélé après que l'étanchéité de ce passage était bof bof). On a aussi enlevé une partie du haut d’un des bidons pour pouvoir mettre la pompe dedans et faire passer le tuyau.</span>

<span style="color: #000000;">[![B62D1D48-45BB-4C26-8A8E-1BB27BCDEBE9.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/b62d1d48-45bb-4c26-8a8e-1bb27bcdebe9.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/b62d1d48-45bb-4c26-8a8e-1bb27bcdebe9.jpeg)[![3E789C7A-1AD6-40FF-975D-0B5075E48CC0.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/3e789c7a-1ad6-40ff-975d-0b5075e48cc0.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/3e789c7a-1ad6-40ff-975d-0b5075e48cc0.jpeg)</span>

<span style="font-weight: 400; color: #000000;">Ensuite le moment tant attendu : celui de tester les écoulements d’eau sur la table avec le fameux ‘sable’, c'est-à-dire les paillettes de plastique. On a mis le ‘sable’ blanc, celui de plus grosse granulométrie et une espèce de latte en plastique inclinée pour empêcher le sable de partir dans le trou d’évacuation de l’eau et pour faire la limite avec le delta. Au final on l’a retiré ça ne servait à rien car l’eau et le sable passaient par en dessous Et finalement le système de décantation en dessous.</span>

<span style="font-weight: 400; color: #000000;">[![A0D8D2B9-0E9B-4736-972B-360333882E4F.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/a0d8d2b9-0e9b-4736-972b-360333882e4f.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/a0d8d2b9-0e9b-4736-972b-360333882e4f.jpeg)[![6E58BE87-6821-4005-B574-13CD06FD7EA6.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/6e58be87-6821-4005-b574-13cd06fd7ea6.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/6e58be87-6821-4005-b574-13cd06fd7ea6.jpeg)</span>

<span style="text-decoration: underline; color: #000000;">Schéma de la circulation d'eau dans le système</span>  
<span style="color: #000000;">[![5757FDCA-99B1-4EED-9A1D-47B22B5AAAAA.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/5757fdca-99b1-4eed-9a1d-47b22b5aaaaa.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/5757fdca-99b1-4eed-9a1d-47b22b5aaaaa.jpeg)</span>

<span style="font-weight: 400; color: #000000;">Ça ne s’est pas du tout passé comme prévu même en inclinant la table :</span>

<span style="font-weight: 400; color: #000000;">-On a dû diminuer le débit avec une pince sur le tuyau sortant sinon peu importe le réglage de débit de la pompe c'était trop fort alors qu’on observait un changement de débit quand on a testé la pompe toute seule.</span>

<span style="font-weight: 400; color: #000000;">-L’eau au lieu de couler ne faisait qu’imbiber et creuser un trou dans le sable</span>

<span style="font-weight: 400; color: #000000;">-On devait rajouter de l'eau dans le bac de la pompe vu que l'eau sur la table ne voulait pas descendre et en plus la pompe avait du mal à rester immergée.</span>

<span style="font-weight: 400; color: #000000;">Le comportement du sable en question était très bizarre et on se demande si c’est pas dû au fait que justement ce ne soit pas du vrai sable. Pourtant aux US ça marche donc on sait pas pourquoi. </span>

<span style="font-weight: 400; color: #000000;">- en augmentant le débit finalement ça coulait et ça nous a creusé un chemin dans le ‘sable’ mais au final on a eu une inondation par terre</span>

<span style="color: #000000;">[![DC4716B6-D354-4021-B893-DC80189F466E.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/dc4716b6-d354-4021-b893-dc80189f466e.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/dc4716b6-d354-4021-b893-dc80189f466e.jpeg)![09C7DE3D-B89E-485B-930B-CB9BFC820C0E.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/09c7de3d-b89e-485b-930b-cb9bfc820c0e.jpeg)</span>

<span style="font-weight: 400; color: #000000;">-Du 'sable' arrivait dans le bac de la pompe risquant de boucher celle-ci</span>

<span style="font-weight: 400; color: #000000;">Et gros problème : le 'sable' COLLE BEAUCOUP TROP PARTOUT donc trèès compliqué pour nettoyer derrière (y en a même qui s'est collé sur le haut du bidon de décantation).</span>

<span style="color: #000000;">![89C841FB-1473-49FE-8D81-3D5AB0F0644C.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/89c841fb-1473-49fe-8d81-3d5ab0f0644c.jpeg)</span>

<span style="font-weight: 400; color: #000000;">A améliorer : </span>

<span style="font-weight: 400; color: #000000;">On va utiliser du sable de quartz au prochain essai pour voir si le comportement des particules est différent de celles en plastique</span>

<span style="color: #000000;">**Séance 5 (10/03)**</span>

<span style="color: #000000;">On a pris du sable de quartz pour comparer au comportement du sable plastique qu’on a utilisé y a deux semaines et avec le même débit on a réussi à avoir assez rapidement un réseau en tresse et un petit méandre !</span>

<span style="font-weight: 400; color: #000000;">[![64859421-617B-4AC1-B393-CAA1371C9B1C.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/64859421-617b-4ac1-b393-caa1371c9b1c.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/64859421-617b-4ac1-b393-caa1371c9b1c.jpeg)</span>

<span style="color: #000000;">Pour voir les granulométries et lesquelles seraient préférentiellement emportées par le courant on pensait tamiser le sable et colorer les différentes granulométries qu’on aurait. Sauf que les sacs de sable à disposition étaient mouillés donc on en a séché une partie, ce qui a pris assez longtemps, pour au final se rendre compte que le sable était plus petit que la plus petite des granulométries de ‘sable plastique’.</span>

<span style="color: #000000;">Donc la prochaine fois on va devoir utiliser du sable plus grossier (et le tamiser) pour retrouver des granulométries équivalentes aux ‘sables plastiques’.</span>

<span style="color: #000000;">Autre réflexion : tout le sable était imbibé d’eau donc ça ressemblait plus à une plage qu’à un modèle analogique sur plusieurs km. Penser à la distance que représente la table dans la vraie vie et conséquemment changer les granulométries suivant si dans la vraie vie ça représente un grain de sable, un caillou, ou une roche.</span>

<span style="color: #000000;">**Séance du 17/03**</span>

<span style="color: #000000;">En terme de code : on a du recoder une des pièce d'entrée d'eau car les dimensions n'étaient pas bonnes et le code original a été effacé pour une raison inconnue. </span>

<span style="color: #000000;">Le code pour la partie de l'entrée d'eau fixée dans la planche :</span>

<details><summary></summary>

<span style="color: #000000;">fn = 90;</span>  
<span style="color: #000000;">rtube = 12.5;</span>  
<span style="color: #000000;">htube = 50;</span>  
<span style="color: #000000;">r1cone = 12.5;</span>  
<span style="color: #000000;">r2cone = 5.5;</span>  
<span style="color: #000000;">hcone = 10;</span>  
<span style="color: #000000;">transzcone = 30;</span>  
<span style="color: #000000;">hpetitcone = 8;</span>  
<span style="color: #000000;">r1petitcone = 5;</span>  
<span style="color: #000000;">r2petitcone = 5.5;</span>  
<span style="color: #000000;">transzpetitcone1 = 38;</span>  
<span style="color: #000000;">transzpetitcone2 = 46;</span>  
<span style="color: #000000;">transzpetitcone3 = 54;</span>  
<span style="color: #000000;">rvidetube = 10.5;</span>  
<span style="color: #000000;">hvidetube = htube + 1;</span>  
<span style="color: #000000;">transzvidetube = -0.99;</span>  
<span style="color: #000000;">r1videcone = 10.5;</span>  
<span style="color: #000000;">r2videcone = 3.5;</span>  
<span style="color: #000000;">hvidecone = hcone + 1;</span>  
<span style="color: #000000;">transzvidecone = 28.5;</span>  
<span style="color: #000000;">rvidepetitcone = 4;</span>  
<span style="color: #000000;">hvidepetitcone = 3\*hpetitcone+1.1;</span>  
<span style="color: #000000;">transzvidepetitcone = 46;</span>  
<span style="color: #000000;">transxcle = 12.5;</span>  
<span style="color: #000000;">transzcle = -21.5;</span>  
<span style="color: #000000;">hcle = 3;</span>  
<span style="color: #000000;">rcle = 2;</span>

<span style="color: #000000;">difference(){</span>  
<span style="color: #000000;"> union(){</span>  
<span style="color: #000000;"> cylinder(htube, rtube, rtube, true, $fn = fn);</span>  
<span style="color: #000000;"> translate(\[0, 0, transzcone\]) cylinder(hcone, r1cone, r2cone, true, $fn = fn);</span>  
<span style="color: #000000;"> translate(\[0, 0, transzpetitcone1\]) cylinder(hpetitcone, r2petitcone, r1petitcone, true, $fn = fn);</span>  
<span style="color: #000000;"> translate(\[0, 0, transzpetitcone2\]) cylinder(hpetitcone, r2petitcone, r1petitcone, true, $fn = fn);</span>  
<span style="color: #000000;"> translate(\[0, 0, transzpetitcone3\]) cylinder(hpetitcone, r2petitcone, r1petitcone, true, $fn = fn);</span>  
<span style="color: #000000;"> translate(\[transxcle, 0, transzcle\]) cylinder(hcle, rcle, rcle, true, $fn = fn);</span>  
<span style="color: #000000;"> }</span>  
<span style="color: #000000;"> translate(\[0, 0, transzvidetube\]) cylinder(hvidetube, rvidetube, rvidetube, true, $fn = fn);</span>  
<span style="color: #000000;"> translate(\[0, 0, transzvidecone\]) cylinder(hcone, r1cone, r2cone, true, $fn = fn);</span>  
<span style="color: #000000;"> translate(\[0, 0, transzvidepetitcone\]) cylinder(hvidepetitcone, rvidepetitcone, rvidepetitcone, true, $fn = fn);</span>  
<span style="color: #000000;">}</span>

</details><span style="color: #000000;">Pour contrôler plus facilement l'arrivée d'eau et ne pas avoir autant d'élan à l'entrée du bac nous avons décidé de tenter de coder une Energy Dissipator Unit (EDU).</span>

<span style="color: #000000;">Code pour l'EDU</span>

<details><summary></summary>

<span style="color: #000000;">fn = 36;</span>  
<span style="color: #000000;">htubeext = 50;</span>  
<span style="color: #000000;">rtubeext = 25;</span>  
<span style="color: #000000;">htubeint = 35;</span>  
<span style="color: #000000;">rtubeint = 15;</span>  
<span style="color: #000000;">hbase = 2;</span>  
<span style="color: #000000;">transzbase = -2;</span>  
<span style="color: #000000;">rbase = rtubeext;</span>  
<span style="color: #000000;">hvidetubeext = 51;</span>  
<span style="color: #000000;">rvidetubeext = 23;</span>  
<span style="color: #000000;">transzvidetubeext = -0.5;</span>  
<span style="color: #000000;">hvidetubeint = 36;</span>  
<span style="color: #000000;">rvidetubeint = 13;</span>  
<span style="color: #000000;">transzvidetubeint = -0.5;</span>  
<span style="color: #000000;">rsphere = 3.5;</span>  
<span style="color: #000000;">transxsph = 14;</span>  
<span style="color: #000000;">transysph = 0;</span>  
<span style="color: #000000;">transzsph = 5;</span>  
<span style="color: #000000;">hcone = 24;</span>  
<span style="color: #000000;">r1cone = 0;</span>  
<span style="color: #000000;">r2cone = 15;</span>  
<span style="color: #000000;">transxcone = -25;</span>  
<span style="color: #000000;">transycone = 0;</span>  
<span style="color: #000000;">transzcone = 20;</span>  
<span style="color: #000000;">hcyl = 20;</span>  
<span style="color: #000000;">rcyl = 3;</span>  
<span style="color: #000000;">transxcyl = -24;</span>  
<span style="color: #000000;">transycyl = 0;</span>  
<span style="color: #000000;">transzcyl = 10;</span>  
<span style="color: #000000;">rsphext = 3;</span>  
<span style="color: #000000;">transzsphext = 10;</span>

<span style="color: #000000;">//base</span>  
<span style="color: #000000;">translate(\[0, 0, transzbase\])cylinder(hbase, rbase, rbase, $fn = fn); </span>  
<span style="color: #000000;"> </span>  
<span style="color: #000000;">//tubeint</span>  
<span style="color: #000000;">difference(){</span>  
<span style="color: #000000;">cylinder(htubeint, rtubeint, rtubeint, $fn = fn);</span>  
<span style="color: #000000;">union(){</span>  
<span style="color: #000000;">translate(\[0, 0, transzvidetubeint\]) cylinder(hvidetubeint, rvidetubeint, rvidetubeint, $fn = fn);</span>  
<span style="color: #000000;">translate(\[transxsph, transysph, transzsph\]) sphere(rsphere, $fn = fn);</span>  
<span style="color: #000000;"> }</span>  
<span style="color: #000000;">}</span>

<span style="color: #000000;">//tubeext</span>  
<span style="color: #000000;">difference(){</span>  
<span style="color: #000000;">cylinder(htubeext, rtubeext, rtubeext, $fn = fn);</span>  
<span style="color: #000000;">union(){</span>  
<span style="color: #000000;">translate(\[0, 0, transzvidetubeext\]) cylinder(hvidetubeext, rvidetubeext, rvidetubeext, $fn = fn);</span>  
<span style="color: #000000;">translate(\[transxcone, transycone, transzcone\])cylinder(hcone, r1cone, r2cone, $fn = fn);</span>  
<span style="color: #000000;"> translate(\[transxcyl, transycyl, transzcyl\]) cylinder(hcyl, rcyl, rcyl);</span>  
<span style="color: #000000;"> translate(\[transxcyl, 0, transzsphext\]) sphere(rsphext, $fn = fn);</span>  
<span style="color: #000000;">}</span>  
<span style="color: #000000;">}</span>

</details> <span style="color: #000000;">A tester lors de la prochaine séance.</span>

**<span style="color: #000000;">Pour la table</span>**

<span style="color: #000000;"><span style="font-weight: 400;">Loïc nous a expliqué que le phénomène qu'on observe avec le tri "inverse" de nos particules est l'effet granola, pas basé sur de la sédimentologie classique. La loi de S</span><span style="font-weight: 400;">tockes et les autres grands principes de sédimentologie s'appliquent quand il y a uniquement des interactions particule/fluide or ici on n'a que transport de fond pris en compte et non le transport par le fluide, d’où l'effet granola. Par ailleurs ici on est sur un modèle à grande échelle, et les p</span><span style="font-weight: 400;">etites particules passent au fond par transport de fond, conséquence des interactions entre particules.</span></span>

<span style="color: #000000;"><span style="font-weight: 400;">On a un problème de ségr</span><span style="font-weight: 400;">égation dans les flux granulaires selon la vitesse du courant et la taille particules. Cependant à la fin des expériences en faisant des coupes dans le delta on observe des laminations et du tri granulométries (couches alternes à la fin du méandre).</span></span>

<span style="color: #000000;"><span style="font-weight: 400;">Par ailleurs il faut t</span><span style="font-weight: 400;">ester le débit et trouver une meilleure façon de le contrôler. Il faut le calculer à la sortie du tuyau et voir éventuellement pour un robinet. </span></span>

<span style="color: #000000;"><span style="font-weight: 400;">Dans emriver, ils ont un EnergyDissipatorUnit à la sortie du robinet pour régler le débit : l'eau tombe dedans et sort en "inondation" (pas de vitesse initiale = pas la petite mare sous le robinet) . Il faut comprendre le fonctionnement de cette pièce et la coder éventuellement. </span><span style="font-weight: 400;"> </span></span>

<span style="color: #000000;"><span style="font-weight: 400;">Débit pompe : </span><span style="font-weight: 400;">7sec pr 500mL en bloquant pas le tuyau : 71,4 mL/sec. En bloquant : </span><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400;">500mL en 34sec donc débit de 14,7mL/sec et ce sans la pièce de sortie d’eau. Besoin ré-imprimer pour tester avec la vraie pièce.</span><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400;"> </span></span>

<span style="color: #000000;"><span style="font-weight: 400;"> Nous nous sommes demandé aussi s'il ne faudrait pas "t</span><span style="font-weight: 400;">richer" et diriger le départ de l'eau ?</span></span>

<span style="color: #000000;"><span style="font-weight: 400;">Il faut aussi travailler à l'i</span><span style="font-weight: 400;">dentification des paramètres responsables de la réussite de l'expérience pour sa reproductibilité.</span></span>

<span style="font-weight: 400; color: #000000;">On doit aussi trouver un pied pour mieux filmer.</span>

<span style="font-weight: 400; color: #000000;"> [![91905ED8-6D3B-4D2F-A3FD-42E3D34BC880.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/91905ed8-6d3b-4d2f-a3fd-42e3d34bc880.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/91905ed8-6d3b-4d2f-a3fd-42e3d34bc880.jpeg)[![C33B90B5-7CD7-4E5C-8E4B-8FC2B7F7EA7B.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/c33b90b5-7cd7-4e5c-8e4b-8fc2b7f7ea7b.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/c33b90b5-7cd7-4e5c-8e4b-8fc2b7f7ea7b.jpeg)[![BC823D83-7B8A-4C65-AA03-24B8B274B6E3.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/bc823d83-7b8a-4c65-aa03-24b8b274b6e3.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/bc823d83-7b8a-4c65-aa03-24b8b274b6e3.jpeg)</span>

<span style="font-weight: 400; color: #000000;">Au final tout marche bien quand on tasse pas ! Beaux méandres et changements naturels en quelques minutes.</span>

<span style="font-weight: 400; color: #000000;">Nous avons remarqué la présence de fuites.   
</span>

<span style="font-weight: 400; color: #000000;">Prochaines séances : </span>

<span style="font-weight: 400; color: #000000;">--&gt; améliorer les prises de vue pour comparer chaque test, dire quel paramètre change, jour, date, échelle , … et toujours même angle </span>

<span style="font-weight: 400; color: #000000;">--&gt; Potentiellement faire une Time lapse </span>

<span style="font-weight: 400; color: #000000;">--&gt; Réfléchir aux proportions de couleurs etc </span>

<span style="font-weight: 400; color: #000000;">--&gt; Coder edu </span>

<span style="color: #000000;"><span style="font-weight: 400;">--&gt; Qu’est-ce qu’on fait du sable mouillé ? Grand tamis pour égouter ? Comment sécher de telles quantités pour pas moississement, … l</span><span style="font-weight: 400;">aver le sable ? </span></span>

<span style="color: #000000;">**Séance du 24/03**</span>

<span style="font-weight: 400; color: #000000;">D'un point de vue pédagogique, qu’est-ce que les étudiants vont voir ?</span>

<span style="color: #000000;"><span style="font-weight: 400;">Qu’est-ce qu’ils vont mesurer ? On a besoin des distances pour faire des mesures et en photo : distorsion = besoin échelle pour corriger photos/vidéos, mais on peut aussi o</span><span style="font-weight: 400;">ptimiser le placement de la caméra pour limiter la distorsion. 5 cm = 500m IRL</span></span>

<span style="color: #000000;"><span style="font-weight: 400;">Il faut aussi faire une notice explicative, comme un tuto (avec toutes les étapes pour le poly des étudiants), avec des p</span><span style="font-weight: 400;">hotos de comment et des instructions.</span></span>

<span style="font-weight: 400; color: #000000;">On doit donner les proportion optimales (poids de chaque quantité de sable mise).</span>

<span style="color: #000000;"><span style="font-weight: 400;">Pour la pédagogie on pourrait faire un bac un peu plus long (120cm\*65cm) pour que ça rentre sur une paillasse. </span><span style="font-weight: 400;">Si il y a un besoin que ça soit plus long on peut augmenter la longueur et diminuer la largeur mais si on veut étudier aménagement territoire c’est plus intéressant que ça soit ce ratio (maison, barrage, …).</span></span>

<span style="color: #000000;"><span style="font-weight: 400;">Pour la vis de sortie d'eau, il faudrait faire un filetage plus gros pour que ce soit plus facile à manipuler. Le but étant de soit p</span><span style="font-weight: 400;">as toucher à vis pour pas modifier le débit et modéliser un système stationnaire ou a</span><span style="font-weight: 400;">ugmenter le delta et là observer l’effet du changement niveau eau (régression, etc) pour un autre exercice (voir les mouvements du delta). Une autre expérience possible est d'ajouter de l’eau en bas pour mimer arrivée dans une mer/océan, verra-t'on une accelération du processus ? </span></span>

<span style="font-weight: 400; color: #000000;">Il faudrait calculer la hauteur de sable et d'eau optimale selon la pente pour voir des méandres. Par ailleurs, il ne faut pas dépasser 10mL/sec de débit pour la pente maximum.</span>

<span style="color: #000000;"><span style="font-weight: 400;">On a remarqué qu'il fallait mouiller le sable au préalable pour éviter l'absorption de l'eau. Aussi, on a tenté de tracer un</span><span style="font-weight: 400;"> chemin initial pour guider le flux mais au final ça reste influencé par dynamique fluviatile !</span></span>

<span style="color: #000000;">**Séance du 07/04/23**</span>

<span style="color: #000000;">On a demander un devis pour avoir un bac en plexiglass mais le prix est trop élevé.</span>

<span style="color: #000000;">On a acheté une pompe réglable à plus faible débit (max 200L/h), tests pas concluants.</span>

<span style="color: #000000;">**Séance 14/04/23**</span>

<span style="color: #000000;">On a fait un test en trouvant un moyen d'avoir un débit stable avec la pompe de départ : mettre le tuyau dans un étau pour diminuer le débit (0,5cm d'écartement).</span>

<span style="color: #000000;">On a pesé la quantité de sable qu'il restait et on en a déduit qu'on a mis 10,61kg de sable dont tout le jaune à notre disposition (1,63kg), 6,65 de blanc, 1,55kg de noir et 0,78kg de rouge. Loic nos avait proposé de rajoutzr du blanc mais en comparant les proportions de chaque couleur on pense qu'il n'est pas recommander de rajouter du blanc vu que c'est celui qui part en 1er (on va rien voir après s'il y a que du blanc).</span>

<span style="color: #000000;">Tentative d'étanchéifier la table en bois avec du platique thermocollable. Impossible a faire avec un seul grand rectangle. On a donc coupé des petits rectangles (1 pour le fond et 4 pour les bords) à coller/souder entre eux aux niveau des angles et coins. On a pas eu le temps de finir mais ça a l'air pas trop mal.</span>

<span style="font-weight: 400;"><span style="color: #000000;">**Dernière séance 21/04/23**</span></span>

<span style="font-weight: 400;">Le plastique thermocollable ça ne fonctionne pas c'est trop gondolé. On a aussi essayé de faire un pochoir pour que tout le monde ait les mêmes méandres mais ça tasse le sable.</span>

<span style="font-weight: 400;">On a tenté de faire une expérience juste avec du blanc et du noir.</span>

<span style="font-weight: 400;">1,6 kg de noir, sur 6,25 kg avant l’expérience. -&gt; On a utilisé 4,65 kg, soit 74,4%.</span>

<span style="font-weight: 400;">1,9 kg de blanc, sur 9,6 kg avant l’expérience. -&gt; On a utilisé 7,7 kg, soit 80,2%.</span>

<span style="font-weight: 400;">Donc on a utilisé 37,7% de noir et 62,3% de blanc.</span>

<span style="font-weight: 400;">Résultats en surface très faciles à visualiser même avec 2 couleurs.</span>

<span style="font-weight: 400;">En revanche, il est très difficile de distinguer l’enchaînement des phases de blanc/noir lorsqu’on fait une coupe dans le delta : il faudrait donc au moins 3 couleurs pour obtenir un signal plus satisfaisant.</span>

<span style="font-weight: 400;">Attention pour ça : ne pas utiliser du rouge, il reste en surface et n’apporte pas d’information intéressante.</span>

</details><span style="color: #000000;"> </span>

# Turbococco v.2

#### Informations

- Tenue du wiki : Pablo Fava
- Contact : pablo.fava@etu.sorbone-universite.fr
- Etudes : Licence Troisième année Mécanique - Sciences de la Terre
- Dates du Projet : du 4/02 au 31/04
- encadrants : Loïc Labrousse et Pierre Thery
- Dans le Cadre de l'ISTEP, dirigé par Fabrice Minoletti

#### Contexte

Mise en contexte : les coccolithophores sont de très bons indicateurs car ce sont des algues qui sont dans la zone de mélange pour pouvoir faire la photosynthèse, à l'inverse des foraminifères qui sont des organismes qui attendent majoritairement sous la zone de mélange. Les coccolithophores sont donc plus adaptés comme marqueur de la température passée.

Problème : leur taille de l'ordre du micromètre rend leur isolement par filtrage complexe.

Le protocole mis au point par Fabrice Minoletti et son équipe consiste donc à faire vibrer une micro membrane filtrante à l'aide d'une cuve à ultrasons. Le filtre étant très fin, l'opération s'étend sur des laps de temps conséquents. L'idée est donc d'automatiser le remplissage du cylindre et d'ajouter une agitation pour faciliter le filtrage.

#### Objectifs

\- Transférer le montage précédent sur une Arduino nano 33ioT et créer une application dans le cloud arduino pour contrôler le montage à distance

\- réaliser une série de tests pour déterminer l'efficacité de l'agitation de la solution et du filtrage

\- faciliter la réplication du montage.

[![image-1683904457214.57.53.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683904457214-57-53.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683904457214-57-53.jpg)

Représentation graphique du montage réalisée par Ismaël

#### Matériel

- 1 carte arduino nano 33ioT
- deux capteurs de niveau d'eau
- un moteur
- un shield moteur
- câbles arduino
- bouchons et fixations et impression 3D
- pompes
- smartphone

#### Machines utilisées

- imprimantes 3D
- fer à souder
- perceuse manuelle

#### Construction

*(Fichiers, photos, code, explications, paramètres d'usinage, photos, captures d'écran...)*

##### Ce que l'on a récupéré

Tout le montage fonctionne autour d'une carte Arduino. Grâce au groupe aillant travaillé sur le projet l'an dernier, la structure du modèle est déjà opérationnelle. La carte Arduino est reliée à 4 composants : une pompe, un moteur agitateur et deux capteurs de niveau. Le principe général est d'aider la filtration par la micro membrane et d'automatiser son remplissage.

Ainsi, deux concepts sont importants :

- lorsque le capteur positionné en bas du tube ne détecte plus de solution, la pompe est activée pour un remplissage jusqu'à ce que le capteur haut détecte le niveau d'eau.
- sur une boucle de 120 secondes, le moteur est activé pendant les 5 premières secondes afin de remettre les particules en suspension et désencombrer la membrane filtrante.

##### Comment on souhaite le transformer

Afin d'avoir davantage de possibilités, nous avons transféré le montage sur une carte Arduino 33ioT, qui aura pour plus tard la possibilité de communiquer avec Arduino Cloud et ainsi être pilotée à distance par un smartphone. Connectée à un Shield moteur, elle permet de ne pas avoir de pin board.

<details id="bkmrk-journal-de-bord---av"><summary>Journal de bord - Avancée du projet à chaque étape, difficultés rencontrées, modifications et adaptations</summary>

##### 10/02/2023

On commence à transférer le projet de l'Arduino Uno vers la nano mais on se rend vite compte qu'on n'a pas la bonne Arduino nano, il nous faut la 33ioT. Fabrice la commande pour la semaine suivante. ça nous bloque beaucoup parce qu'on ne peut pas commencer l'application non plus mais on est à peu près certain.e.s que tout fonctionne en-dehors de cela donc la session de la semaine suivante devrait être assez efficace.

##### 17/02/2023

Ismaël a réussi à souder l'Arduino 33IOT et tout fonctionne. Seul problème : les capteurs ne détectent pas la présence d'eau. On essaie de serrer + les vis, sinon il faudra peut-être changer de capteur ou trouver une autre solution.

En attendant on doit modéliser la pièce manquante pour que l'hélice soit plus solide et voir si on a une tige de longueur suffisante pour passer sous le niveau du capteur bas.

On a réglé le problème en changeant les capteurs. Ils sont un peu moins réactifs mais ça ne gêne pas le fonctionnement global donc on les garde.

On a modélisé la pièce aux bonnes dimensions, mais on n'a pas de tige assez longue pour les nouveaux tubes du laboratoire. Pierre Théry va en commander à nouveau ou alors on peut en fabriquer une en tiges de métal mais on pense que ça ne sera pas assez rigide.

![](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/embedded-image-keucpqcg.png)

<span style="text-decoration: underline;">*Photo du système total fonctionnel.*</span>

Léger problème d'étanchéité au bas du tube mais ça devrait se résoudre avec les tubes plus grands.

On a donc pu commencer à fouiller un peu pour créer l'application de contrôle à distance. On a établi les fonctionnalités nécessaires avec Fabrice :

\- bouton démarrer le processus total

\- bouton allumer et éteindre la pompe

\- bouton allumer et éteindre le moteur agitateur

\- bouton éteindre tout le système

il faut également refaire la soudure de la Arduino nano 33ioT

##### 24/03/2023

Après une série de tests par Téa, résultats assez étranges, globalement la filtration est moins rapide avec agitation moteur. On a rentré les résultats sur excel pour les analyser plus nettement :

[![image-1680274558858.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1680274558858.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1680274558858.png)

Les temps les plus longs sont atteints lorsque le tube est agité par un moteur. Cela nous pose vraiment problème car le projet serait à moitié inefficace. On établit les sources d'erreurs potentielles :

\- la position dans la cuve pourrait influer car il y a 3 sources d'ultrasons pour 4 emplacements

\- le sens de rotation de l'hélice du moteur

On lance donc l'impression d'un bouchon avec emplacement moteur supplémentaire pour pouvoir faire plusieurs essais en parallèle et plus facilement identifier le problème.

##### 31/03/2023

Problème avec les impressions de la semaine passée, on n'avait pas pris en compte la dilatation lors de l'impression donc le moteur ne rentre pas dans l'emplacement prévu.

On recommence l'impression aux bonnes dimensions

Entre temps, Téa a refait des tests avec une membrane plus petite et une nouvelle cuve. Cette fois-ci l'agitation moteur permet bien un filtrage nettement plus rapide. Cela rend donc caduque le besoin d'un nouveau bouchon avec emplacement moteur. Voilà les graphiques obtenus avec les données de Téa :

[![image-1683812151493.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683812151493.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683812151493.png)

De plus, les lames au microscope sont beaucoup moins polluées de particules sans intérêt.

Nous n'avons pas eu le temps de réitérer suffisamment l'expérience et s'assurer que le résultat serait identique à chaque répétition. Cela peut être un bon axe de perfectionnement du système.

##### 14/04/2023

Nouvel objectif : rendre tout le système pilotable à distance grâce au Arduino ioT Cloud

On transfère le code déjà créé pour la carte Arduino et on l'adapte aux exigences du cloud. Beaucoup de problèmes de compilations, utilisation de Chat GPt4 pour les résoudre.

Il reste quelques problèmes, on espère les résoudre avant l'oral : le code compile mais les moteurs ne s'activent pas lors de l'activation des widgets sur l'application arduino

</details>
<details id="bkmrk-codes-openscad-%C2%A0n.b-"><summary>Codes Openscad</summary>

 N.B : ajuster les dimensions pour prendre en compte la modification à l'impression

<details><summary>hélice agitation moteur</summary>

```C++


$fn=100;
nbPales=6;
rAxeRot=1.5;
rIntTub=32/2;
rTube=18;
//color("red")
//render()

translate([0,0,1]) {
    difference() {
        cylinder (h = 2, r=rIntTub, center=true);
        cylinder (h = 3, r=rIntTub-1, center=true);
    }
}
difference() {
    union (){
        linear_extrude(height = 10, twist = 10, slices = 60) {
            //circle(r=5);
            for(i = [0 : 1 : nbPales]) {
                rotate(a = i*360/nbPales) {
                    square(size = [rIntTub, 1]);
                }
            }
        }
       cylinder (h = 15, r=4, center = false);
    }
    translate([0,0,7.5]){
    linear_extrude(height = 15, twist = 0, slices = 60){
    translate ([0,0,3.5]) {
              
        square(size = [5, 2],center=true);//rectangle 1
        rotate (a=90){
        square(size = [5, 2],center=true);
                     }
    //cylinder (h = 30, r=rAxeRot);
    
    
}}}}
/*
    translate ([0,0,-1]) {
        cylinder (h = 30, r=rAxeRot);
    }
*/
```

</details>[![image-1683924933404.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683924933404.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683924933404.png)

<details><summary>tige complète</summary>

```C++

$fn=100;
nbPales=6;
rAxeRot=1.5;
rIntTub=32/2;
rTube=18;
//color("red")
//render()

translate([0,0,1]) {
    difference() {
        cylinder (h = 2, r=rIntTub, center=true);
        cylinder (h = 3, r=rIntTub-1, center=true);
    }
}
difference() {
    union (){
        linear_extrude(height = 10, twist = -10, slices = 60) {
            //circle(r=5);
            for(i = [0 : 1 : nbPales]) {
                rotate(a = i*360/nbPales) {
                    square(size = [rIntTub, 1]);
                }
            }
        }
       cylinder (h = 147, r=3, center = false);
        
    }
    translate([0,0,140]){
    cylinder (h = 30, r=0.5);
    /*translate([0,0,7.5]){
    linear_extrude(height = 15, twist = 0, slices = 60){
    translate ([0,0,3.5]) {
              
        square(size = [3.8, 1],center=true);//rectangle 1
        rotate (a=90){
        square(size = [3.8, 1],center=true);*/
                     }}
    
    //vincent mouchi claire lix
    

//NB : le trou pour connexion moteur était un peu trop faible, à agrandir
```

</details>[![image-1683924889090.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683924889090.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683924889090.png)

<details><summary>bouchon avec pas de vis et insert moteur</summary>

```C++

$fn=100;
hInt=20;
l=80;
diam=42.3;
/*
color("red")
translate ([-diam/2,-0.5,-hInt/2]) {
    cube([diam,1,20], center=false);
}
color("green")
render()
translate ([-l/2,-0.5,5]) {
    cube([l,1,4], center=false);
}
color("blue")
render()
difference () {
    difference () {
        cylinder (d=60, h=10);
        cylinder (d=45, h=10);
    }
    translate ([-l/2,3,-l/2]) {cube([l,l,l], center=false);}
    translate ([-l/2,-l-3,-l/2]) {cube([l,l,l], center=false);}
}
*/
translate ([0,0,-1]) {
    difference () {
        cylinder (d=50, h=3);
        translate ([0,0,-0.5]) {cylinder (d=3, h=5);}
    }
}
SVL42Cap ();
extend_mot();

difference(){
    
    cylinder(d=16,h=2,center=true);
    cylinder(d=3,h=2,center=true);}

module extend_mot (){//extension pour insertion moteur
    difference (){
    translate([0,0,-14])cylinder (d=50,h=14);
    translate([0,0,-14])cylinder(d=21,h=10);
    translate([0,0,-4]) cylinder(d=16,h=4);
    
               }
    
           }
        


/*difference () { // Pour observer une coupe
    SVL42Cap ();
    union () {
     translate ([-l/2,5,-l/2]) {cube([l,l,l], center=false);}
       translate ([-l/2,-l-5,-l/2]) {cube([l,l,l], center=false);}
    }
}*/

module SVL42Cap () {
    difference () {
        cylinder (d=50, h=hInt);
        moduleInt ();
    }
    difference () { // sommet du capuchon
        color("red")
        render()
        union () {
            cylinder (d=50, h=1.5);
            difference () {
                cylinder (d=50, h=1.5);
                cylinder (d=3, h=2);
            }
        }        
        
        //translate ([-15,2,-5]) {cylinder (d=1, h=10);}
        //translate ([-15,0,-5]) {cylinder (d=1, h=10);}
        //translate ([-15,-2,-5]) {cylinder (d=1, h=10);}
    }
}
module moduleInt () {
    translate ([0,0,hInt]) {
        difference () {
            cylinder (d=45, h=3, center=true);
            cylinder (d=37, h=4, center=true);
        }
    }
    metric_thread (diameter=diam+4, pitch=4, length=hInt, internal=true, thread_size=2, groove=true, angle=10, leadin=0);
    translate ([0,0,-0.5]) { cylinder (d=diam, h=hInt+1); }
}

/*module extension_moteur (){
    
    difference (){
cylinder (d=50,h=10, center=true);
cylinder(d=21,h=10, center=true);
                 }

    difference(){
cylinder(d=50,h=4, center=true);
cylinder(d=16,h=4, center = true);}
    
    }*/
/*
metric_thread (diameter=8, pitch=1, length=4, internal=true);

diameter -    outside diameter of threads in mm. Default: 8.
pitch    -    thread axial "travel" per turn in mm.  Default: 1.
length   -    overall axial length of thread in mm.  Default: 1.
internal -    true = clearances for internal thread (e.g., a nut).
              false = clearances for external thread (e.g., a bolt).
              (Internal threads should be "cut out" from a solid using
              difference ()).
n_starts -    Number of thread starts (e.g., DNA, a "double helix," has
              n_starts=2).  See wikipedia Screw_thread.
thread_size - (non-standard) axial width of a single thread "V" - independent
              of pitch.  Default: same as pitch.
groove      - (non-standard) subtract inverted "V" from cylinder (rather than
              add protruding "V" to cylinder).
square      - Square threads (per
              https://en.wikipedia.org/wiki/Square_thread_form).
rectangle   - (non-standard) "Rectangular" thread - ratio depth/(axial) width
              Default: 1 (square).
angle       - (non-standard) angle (deg) of thread side from perpendicular to
              axis (default = standard = 30 degrees).
taper       - diameter change per length (National Pipe Thread/ANSI B1.20.1
              is 1" diameter per 16" length). Taper decreases from 'diameter'
              as z increases.
leadin      - 0 (default): no chamfer; 1: chamfer (45 degree) at max-z end;
              2: chamfer at both ends, 3: chamfer at z=0 end.
leadfac     - scale of leadin chamfer (default: 1.0 = 1/2 thread).
*/

/*
 * ISO-standard metric threads, following this specification:
 *          http://en.wikipedia.org/wiki/ISO_metric_screw_thread
 *
 * Copyright 2017 Dan Kirshner - dan_kirshner@yahoo.com
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * See <http://www.gnu.org/licenses/>.
 *
 * Version 2.3.  2017-08-31  Default for leadin: 0 (best for internal threads).
 * Version 2.2.  2017-01-01  Correction for angle; leadfac option.  (Thanks to
 *                           Andrew Allen <a2intl@gmail.com>.)
 * Version 2.1.  2016-12-04  Chamfer bottom end (low-z); leadin option.
 * Version 2.0.  2016-11-05  Backwards compatibility (earlier OpenSCAD) fixes.
 * Version 1.9.  2016-07-03  Option: tapered.
 * Version 1.8.  2016-01-08  Option: (non-standard) angle.
 * Version 1.7.  2015-11-28  Larger x-increment - for small-diameters.
 * Version 1.6.  2015-09-01  Options: square threads, rectangular threads.
 * Version 1.5.  2015-06-12  Options: thread_size, groove.
 * Version 1.4.  2014-10-17  Use "faces" instead of "triangles" for polyhedron
 * Version 1.3.  2013-12-01  Correct loop over turns -- don't have early cut-off
 * Version 1.2.  2012-09-09  Use discrete polyhedra rather than linear_extrude ()
 * Version 1.1.  2012-09-07  Corrected to right-hand threads!
 */

// Examples.
//
// Standard M8 x 1.
// metric_thread (diameter=8, pitch=1, length=4);

// Square thread.
// metric_thread (diameter=8, pitch=1, length=4, square=true);

// Non-standard: long pitch, same thread size.
//metric_thread (diameter=8, pitch=4, length=4, thread_size=1, groove=true);

// Non-standard: 20 mm diameter, long pitch, square "trough" width 3 mm,
// depth 1 mm.
//metric_thread (diameter=20, pitch=8, length=16, square=true, thread_size=6,
//               groove=true, rectangle=0.333);

// English: 1/4 x 20.
//english_thread (diameter=1/4, threads_per_inch=20, length=1);

// Tapered.  Example -- pipe size 3/4" -- per:
// http://www.engineeringtoolbox.com/npt-national-pipe-taper-threads-d_750.html
// english_thread (diameter=1.05, threads_per_inch=14, length=3/4, taper=1/16);

// Thread for mounting on Rohloff hub.
//difference () {
//   cylinder (r=20, h=10, $fn=100);
//
//   metric_thread (diameter=34, pitch=1, length=10, internal=true, n_starts=6);
//}


// ----------------------------------------------------------------------------
function segments (diameter) = min (50, ceil (diameter*6));


// ----------------------------------------------------------------------------
// diameter -    outside diameter of threads in mm. Default: 8.
// pitch    -    thread axial "travel" per turn in mm.  Default: 1.
// length   -    overall axial length of thread in mm.  Default: 1.
// internal -    true = clearances for internal thread (e.g., a nut).
//               false = clearances for external thread (e.g., a bolt).
//               (Internal threads should be "cut out" from a solid using
//               difference ()).
// n_starts -    Number of thread starts (e.g., DNA, a "double helix," has
//               n_starts=2).  See wikipedia Screw_thread.
// thread_size - (non-standard) axial width of a single thread "V" - independent
//               of pitch.  Default: same as pitch.
// groove      - (non-standard) subtract inverted "V" from cylinder (rather than
//               add protruding "V" to cylinder).
// square      - Square threads (per
//               https://en.wikipedia.org/wiki/Square_thread_form).
// rectangle   - (non-standard) "Rectangular" thread - ratio depth/(axial) width
//               Default: 1 (square).
// angle       - (non-standard) angle (deg) of thread side from perpendicular to
//               axis (default = standard = 30 degrees).
// taper       - diameter change per length (National Pipe Thread/ANSI B1.20.1
//               is 1" diameter per 16" length). Taper decreases from 'diameter'
//               as z increases.
// leadin      - 0 (default): no chamfer; 1: chamfer (45 degree) at max-z end;
//               2: chamfer at both ends, 3: chamfer at z=0 end.
// leadfac     - scale of leadin chamfer (default: 1.0 = 1/2 thread).
module metric_thread (diameter=8, pitch=1, length=1, internal=false, n_starts=1,
                      thread_size=-1, groove=false, square=false, rectangle=0,
                      angle=30, taper=0, leadin=0, leadfac=1.0)
{
   // thread_size: size of thread "V" different than travel per turn (pitch).
   // Default: same as pitch.
   local_thread_size = thread_size == -1 ? pitch : thread_size;
   local_rectangle = rectangle ? rectangle : 1;

   n_segments = segments (diameter);
   h = (square || rectangle) ? local_thread_size*local_rectangle/2 : local_thread_size / (2 * tan(angle));

   h_fac1 = (square || rectangle) ? 0.90 : 0.625;

   // External thread includes additional relief.
   h_fac2 = (square || rectangle) ? 0.95 : 5.3/8;

   tapered_diameter = diameter - length*taper;

   difference () {
      union () {
         if (! groove) {
            metric_thread_turns (diameter, pitch, length, internal, n_starts,
                                 local_thread_size, groove, square, rectangle, angle,
                                 taper);
         }

         difference () {

            // Solid center, including Dmin truncation.
            if (groove) {
               cylinder (r1=diameter/2, r2=tapered_diameter/2,
                         h=length, $fn=n_segments);
            } else if (internal) {
               cylinder (r1=diameter/2 - h*h_fac1, r2=tapered_diameter/2 - h*h_fac1,
                         h=length, $fn=n_segments);
            } else {

               // External thread.
               cylinder (r1=diameter/2 - h*h_fac2, r2=tapered_diameter/2 - h*h_fac2,
                         h=length, $fn=n_segments);
            }

            if (groove) {
               metric_thread_turns (diameter, pitch, length, internal, n_starts,
                                    local_thread_size, groove, square, rectangle,
                                    angle, taper);
            }
         }
      }

      // chamfer z=0 end if leadin is 2 or 3
      if (leadin == 2 || leadin == 3) {
         difference () {
            cylinder (r=diameter/2 + 1, h=h*h_fac1*leadfac, $fn=n_segments);

            cylinder (r2=diameter/2, r1=diameter/2 - h*h_fac1*leadfac, h=h*h_fac1*leadfac,
                      $fn=n_segments);
         }
      }

      // chamfer z-max end if leadin is 1 or 2.
      if (leadin == 1 || leadin == 2) {
         translate ([0, 0, length + 0.05 - h*h_fac1*leadfac]) {
            difference () {
               cylinder (r=diameter/2 + 1, h=h*h_fac1*leadfac, $fn=n_segments);
               cylinder (r1=tapered_diameter/2, r2=tapered_diameter/2 - h*h_fac1*leadfac, h=h*h_fac1*leadfac,
                         $fn=n_segments);
            }
         }
      }
   }
}
// ----------------------------------------------------------------------------
module metric_thread_turns (diameter, pitch, length, internal, n_starts,
                            thread_size, groove, square, rectangle, angle,
                            taper)
{
   // Number of turns needed.
   n_turns = floor (length/pitch);

   intersection () {

      // Start one below z = 0.  Gives an extra turn at each end.
      for (i=[-1*n_starts : n_turns+1]) {
         translate ([0, 0, i*pitch]) {
            metric_thread_turn (diameter, pitch, internal, n_starts,
                                thread_size, groove, square, rectangle, angle,
                                taper, i*pitch);
         }
      }

      // Cut to length.
      translate ([0, 0, length/2]) {
         cube ([diameter*3, diameter*3, length], center=true);
      }
   }
}


// ----------------------------------------------------------------------------
module metric_thread_turn (diameter, pitch, internal, n_starts, thread_size,
                           groove, square, rectangle, angle, taper, z)
{
   n_segments = segments (diameter);
   fraction_circle = 1.0/n_segments;
   for (i=[0 : n_segments-1]) {
      rotate ([0, 0, i*360*fraction_circle]) {
         translate ([0, 0, i*n_starts*pitch*fraction_circle]) {
            //current_diameter = diameter - taper*(z + i*n_starts*pitch*fraction_circle);
            thread_polyhedron ((diameter - taper*(z + i*n_starts*pitch*fraction_circle))/2,
                               pitch, internal, n_starts, thread_size, groove,
                               square, rectangle, angle);
         }
      }
   }
}


// ----------------------------------------------------------------------------
module thread_polyhedron (radius, pitch, internal, n_starts, thread_size,
                          groove, square, rectangle, angle)
{
   n_segments = segments (radius*2);
   fraction_circle = 1.0/n_segments;

   local_rectangle = rectangle ? rectangle : 1;

   h = (square || rectangle) ? thread_size*local_rectangle/2 : thread_size / (2 * tan(angle));
   outer_r = radius + (internal ? h/20 : 0); // Adds internal relief.
   //echo (str ("outer_r: ", outer_r));

   // A little extra on square thread -- make sure overlaps cylinder.
   h_fac1 = (square || rectangle) ? 1.1 : 0.875;
   inner_r = radius - h*h_fac1; // Does NOT do Dmin_truncation - do later with
                                // cylinder.

   translate_y = groove ? outer_r + inner_r : 0;
   reflect_x   = groove ? 1 : 0;

   // Make these just slightly bigger (keep in proportion) so polyhedra will
   // overlap.
   x_incr_outer = (! groove ? outer_r : inner_r) * fraction_circle * 2 * PI * 1.02;
   x_incr_inner = (! groove ? inner_r : outer_r) * fraction_circle * 2 * PI * 1.02;
   z_incr = n_starts * pitch * fraction_circle * 1.005;

   /*
    (angles x0 and x3 inner are actually 60 deg)

                          /\  (x2_inner, z2_inner) [2]
                         /  \
   (x3_inner, z3_inner) /    \
                  [3]   \     \
                        |\     \ (x2_outer, z2_outer) [6]
                        | \    /
                        |  \  /|
             z          |[7]\/ / (x1_outer, z1_outer) [5]
             |          |   | /
             |   x      |   |/
             |  /       |   / (x0_outer, z0_outer) [4]
             | /        |  /     (behind: (x1_inner, z1_inner) [1]
             |/         | /
    y________|          |/
   (r)                  / (x0_inner, z0_inner) [0]

   */

   x1_outer = outer_r * fraction_circle * 2 * PI;

   z0_outer = (outer_r - inner_r) * tan(angle);
   //echo (str ("z0_outer: ", z0_outer));

   //polygon ([[inner_r, 0], [outer_r, z0_outer],
   //        [outer_r, 0.5*pitch], [inner_r, 0.5*pitch]]);
   z1_outer = z0_outer + z_incr;

   // Give internal square threads some clearance in the z direction, too.
   bottom = internal ? 0.235 : 0.25;
   top    = internal ? 0.765 : 0.75;

   translate ([0, translate_y, 0]) {
      mirror ([reflect_x, 0, 0]) {

         if (square || rectangle) {

            // Rule for face ordering: look at polyhedron from outside: points must
            // be in clockwise order.
            polyhedron (
               points = [
                         [-x_incr_inner/2, -inner_r, bottom*thread_size],         // [0]
                         [x_incr_inner/2, -inner_r, bottom*thread_size + z_incr], // [1]
                         [x_incr_inner/2, -inner_r, top*thread_size + z_incr],    // [2]
                         [-x_incr_inner/2, -inner_r, top*thread_size],            // [3]

                         [-x_incr_outer/2, -outer_r, bottom*thread_size],         // [4]
                         [x_incr_outer/2, -outer_r, bottom*thread_size + z_incr], // [5]
                         [x_incr_outer/2, -outer_r, top*thread_size + z_incr],    // [6]
                         [-x_incr_outer/2, -outer_r, top*thread_size]             // [7]
                        ],

               faces = [
                         [0, 3, 7, 4],  // This-side trapezoid

                         [1, 5, 6, 2],  // Back-side trapezoid

                         [0, 1, 2, 3],  // Inner rectangle

                         [4, 7, 6, 5],  // Outer rectangle

                         // These are not planar, so do with separate triangles.
                         [7, 2, 6],     // Upper rectangle, bottom
                         [7, 3, 2],     // Upper rectangle, top

                         [0, 5, 1],     // Lower rectangle, bottom
                         [0, 4, 5]      // Lower rectangle, top
                        ]
            );
         } else {

            // Rule for face ordering: look at polyhedron from outside: points must
            // be in clockwise order.
            polyhedron (
               points = [
                         [-x_incr_inner/2, -inner_r, 0],                        // [0]
                         [x_incr_inner/2, -inner_r, z_incr],                    // [1]
                         [x_incr_inner/2, -inner_r, thread_size + z_incr],      // [2]
                         [-x_incr_inner/2, -inner_r, thread_size],              // [3]

                         [-x_incr_outer/2, -outer_r, z0_outer],                 // [4]
                         [x_incr_outer/2, -outer_r, z0_outer + z_incr],         // [5]
                         [x_incr_outer/2, -outer_r, thread_size - z0_outer + z_incr], // [6]
                         [-x_incr_outer/2, -outer_r, thread_size - z0_outer]    // [7]
                        ],

               faces = [
                         [0, 3, 7, 4],  // This-side trapezoid

                         [1, 5, 6, 2],  // Back-side trapezoid

                         [0, 1, 2, 3],  // Inner rectangle

                         [4, 7, 6, 5],  // Outer rectangle

                         // These are not planar, so do with separate triangles.
                         [7, 2, 6],     // Upper rectangle, bottom
                         [7, 3, 2],     // Upper rectangle, top

                         [0, 5, 1],     // Lower rectangle, bottom
                         [0, 4, 5]      // Lower rectangle, top
                        ]
            );
         }
      }
   }
}



```

</details>[![image-1683924828298.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683924828298.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683924828298.png)[![image-1683924843660.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683924843660.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683924843660.png)

</details><details id="bkmrk-code-arduino-nano-pa"><summary>Code Arduino nano par Ismaël</summary>

```C

#include <ArduinoMotorCarrier.h>
              const unsigned long equivalence_ms_s=1000;                  // constante pour la convertion des ms en s
              unsigned long heure_start_ms, heure_start_sec;              // variables pour stocker l'heure du début en ms et s
              unsigned long heure_delay_ms, heure_delay_sec;              // variables pour stocker l'heure du retard en ms et s

                  void setup() {
              Serial.begin(9600);                                         // initialisation de la communication série à 9600 bites par s
              
     //Establishing the communication with the motor shield
  if (controller.begin())
  {
    Serial.print("MKR Motor Shield connected, firmware version ");
    Serial.println(controller.getFWVersion());
  }
  else
  {
    Serial.println("Couldn't connect! Is the red led blinking? You may need to update the firmware with FWUpdater sketch");
    while (1);
  }

  // Reboot the motor controller; brings every value back to default
  Serial.println("reboot");
  controller.reboot();
  delay(500); 
    M1.setDuty(0); 
    M2.setDuty(0); 
                  }
    int remplissage=1;                                          // variable "remplissage" qui vaut 1 par défaut
    int chrono = 0;                                             // variable "chrono" qui vaut 0 par défaut
                  
    void loop() {
              
              int sensorValue0 = analogRead(A7);                          // lit la valeur analogique reçue en A0, envoyée par le capteur BAS
              int sensorValue1 = analogRead(A2);                          // lit la valeur analogique reçue en A2, envoyée par le capteur HAUT

              //Serial.println(sensorValue1);
              Serial.println(sensorValue0);               
              
              float voltage0 = sensorValue0 * (5.0 / 1023.0);             // conversion de la valeur analogique (de 0 à 1023) en voltage (de 0 à 5V) - capteur BAS
              float voltage1 = sensorValue1 * (5.0 / 1023.0);             // conversion de la valeur analogique (de 0 à 1023) en voltage (de 0 à 5V) - capteur HAUT

              //Serial.println(voltage0);
              //Serial.println(voltage1);                 |||||||||

                                if (remplissage == 1) {                                 // si le niveau d'eau est sous le capteur du HAUT, alors :                
                      if ((voltage0< 2.5) & (voltage1 < 2.5)) {                               // si le capteur BAS ne détecte pas l'eau, alors :                                                                                                   
                          M1.setDuty(20);                          //On fait tourner le moteur à 20% 
                          M2.setDuty(100);                          // On fait tourner la pompe à fond
                          remplissage = 1;                                // on reste dans cette boucle
                      } 
                      
                      if ((voltage0> 2.5) & (voltage1 < 2.5)) {                               // si le capteur BAS ne détecte pas l'eau, alors :                                                                                                   
                          M1.setDuty(20);                          // On fait tourner le moteur à 20% 
                          M2.setDuty(100);                         // On fait tourner la pompe à fond
                      } 
                      
                      if ((voltage1 > 2.5)&(voltage0>2.5)){               // si le capteur HAUT détecte l'eau, alors :
                          M1.setDuty(0);                         // On coupe le moteur
                          M2.setDuty(0);                         // On coupe la pompe
                          remplissage=0;                                  // on entre dans la boucle suivante
                          heure_start_ms = millis();                                                     // dès que le capteur HAUT détecte l'eau, lecture de l'heure du début en ms
                          heure_start_sec = (heure_start_ms/equivalence_ms_s);
                          chrono = 0;                                                                     // conversion des ms en s
                      }
                   }
                   
                   if (remplissage == 0) {                                 // si le niveau d'eau est au dessus le capteur HAUT, alors :  
                      if (voltage0 > 2.5) {                               // si le niveau d'eau est au dessus le capteur BAS, alors 
                            if (chrono <= 5) {                             // si le chrono est < 5 s, alors :                         
                                      M1.setDuty(20);                                             // "pas de courant" en sortie 2 : le circuit est fermé dans la carte relais, le moteur fonctionne
                                      M2.setDuty(0);
                                      heure_delay_ms = millis();                                         // lecture du retard en ms
                                      heure_delay_sec = (heure_delay_ms/equivalence_ms_s);               // conversion des ms en s
                                      chrono = heure_delay_sec - heure_start_sec;                        // calcul du chrono = (heure du début  - heure du retard)
                                      remplissage = 0;
                            }
                            
                            if  ((chrono <= 60) & (chrono > 5)) {// si le chrono est > 5 s, alors :  
                                      M1.setDuty(0);                                            // On eteint le moteur
                                      M2.setDuty(0);                                            // On eteint la pompe
                                      heure_delay_ms = millis();                                         // lecture de l'heure du retard en ms
                                      heure_delay_sec = (heure_delay_ms/equivalence_ms_s);               // conversion des ms en s
                                      chrono = heure_delay_sec - heure_start_sec;                        // calcul du chrono = (heure du début - heure du retard)
                                      remplissage = 0;
                            }
                            
                            if (chrono > 60)   {                                      // si le chrono > 10 s, alors :
                             chrono = 0;                                                                 // le chrono est remis à 0                  
                             heure_start_ms = millis();                                                  // l'heure du début est remis à jour en ms
                             heure_start_sec = (heure_start_ms/equivalence_ms_s);                        // conversion des ms en s
                             remplissage = 0;
                           }
                      }
                      
                      if (voltage0 < 2.5) {  
                         remplissage = 1;
                      }
                    }
                    //Serial.println(remplissage);              ||||||||||||||||||
                }   // ferme void loop   
```

</details>#### Remerciements

Un grand merci à Fabrice Minoletti de nous avoir accueillis dans son laboratoire et de nous avoir fait confiance pour la réalisation de son projet. Merci à Loïc Labrousse pour sa disponibilité et à Pierre Thery pour son soutien en toute situation. Merci enfin et évidemment à Ismaël et Téa de constituer cette équipe efficace avec qui il a fait bon de travailler.

# Modèles Cristallins

## <span style="text-decoration: underline;">*Modélisation des systèmes cristallins*</span>

#### Comment rendre la compréhension de leurs éléments de symétries plus visuels ? 

Camille Labbey et Alexandre Dubois

Encadrants : <span id="bkmrk-loic-labrousse%2C"><span dir="ltr" role="presentation">LoÏc Labrousse, </span></span><span id="bkmrk-pierre-th%C3%A9ry%2C-mathie"><span dir="ltr" id="bkmrk-pierre-th%C3%A9ry%2C-mathie-0" role="presentation">Pierre Thery, Mathieu Chassé  
  
</span></span>

##### <span dir="ltr" role="presentation"><span style="text-decoration: underline;">**Sommaire**</span> </span>

<span dir="ltr" role="presentation">I- Introduction   
II- Objectif du projet  
III- Journal de bord  
IV- Projet et résultats finaux  
 a. Systèmes cristallins </span>classiques  
 b. Systèmes cristallins avec éléments de symétries  
 c. Fichiers stl des modèles avec éléments de symétries  
 d. Fichiers stl des modèles classiques  
 e. Fichiers des patrons pour la découpeuse vinyle  
 f. Code complet Openscad  
V- Annexe : Logiciels et machines utilisées VI- Bibliographie  
VII- Remerciements

##### **I- <span style="text-decoration: underline;">Introduction </span>**

A l'échelle microscopique, les atomes sont ordonnés de façon précise et périodique dans les solides. La plus petite entité permettant de décrire un solide est appelée maille. Il en existe sept : triclinique, monoclinique, orthorhombique, hexagonal, rhomboédrique, quadratique et cubique. Ce sont des hexaèdres. Toutes les mailles sont caractérisées par trois longueurs d'arêtes et les trois angles les séparant.

Dans cette UE, notre but est de réaliser des reproductions des mailles pour que les étudiants puissent mieux les visualiser et s'entrainer à voir et à trouver les éléments de symétries. En effet, ce sont ces éléments qui régissent les propriétés macroscopiques. Il en existe de plusieurs sortes : axes, plans miroirs et translations. Ici, nous ne nous intéressons qu'aux axes et aux plans mir<span style="background-color: #ffffff;">oir<span style="color: #000000;">s.</span></span>

<span style="color: #000000; background-color: #ffffff;">[![image-1682610571193.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1682610571193.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682610571193.png)</span>

<span style="color: #000000; background-color: #ffffff;">[<span style="text-decoration: underline;">Schéma d'une maille (quelconque)</span>](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682610571193.png)</span>

##### **<span style="text-decoration: underline;">II- Objectif du projet</span>** 

Nous devons réaliser plusieurs sets de systèmes cristallins à but pédagogiques. Certains seront sans éléments de symétries et d'autres avec éléments de symétries. Ces modèles serviront dans le cadre d'un TP de cristallographie/minéralogie en licence de Sciences de la Terre.

##### <span style="text-decoration: underline;">**III- Journal de bord** </span>

<details id="bkmrk-journal-de-bord-%C2%A0"><summary>Journal de bord</summary>

**<span style="text-decoration: underline;">27/01/2023</span>**

Aujourd'hui, nous voyons avec le professeur ce qu'il souhaite pour le projet. Nous devons réaliser cinq sets d'entrainements et cinq sets de corrections. Pour cela , nous allons principalement utiliser l'impression 3D que ce soit avec de l'acide polyactique (PLA) ou de la résine. Les deux nécessitent des fichiers au format stl.

Nous sommes partis sur des modèles de 6cmx6cm. Nous avons commencé par visualiser avec Vesta certains minéraux pour découvrir leur structure. Nous avons alors remarqué que nous pouvions faire les fichiers stl à partir de Vesta. Cependant, il n'était pas possible de faire les axes de symétries.

Dans un premier temps, nous allons recréer les mailles primitives à l'aide d'Openscad pour réaliser une base de données utilisable par les étudiants où ils pourront modifier les paramètres de mailles à leur guise. Une fois la base de donnée constituée, nous pourrons ajouter les éléments de symétries sur les mailles. Nous partirons sur des gravures pour représenter les éléments de symétries.

Pour la semaine prochaine, il serait bien que nous testions les impressions 3D et le flocage. C'est une technique qui nous permettrait de rajouter les éléments de symétries sur les polygones.

**<span style="text-decoration: underline;">03/02/2023</span>**

Camille a réalisé un code pour que les élèves de M. Chassé puissent retrouver les systèmes cristallins. Ce code est censé marcher pour tous les systèmes. C'est à dire qu'en rentrant les paramètres a, b, c, alpha, bêta et gamma, le logiciel Openscad sera capable de recréer la maille voulue.

Pendant ce temps, Alexandre a imprimé les premiers modèles en PLA et a codé le système monoclinique avec ses éléments de symétries afin de savoir comment cela pourrait rendre (prise en main, poids, taille). Openscad a permis de fabriquer les fichiers stl mais il a fallu ensuite les rentrer dans IdeaMaker pour les rendre compatibles avec les imprimantes du Fablab, organiser le plateau, la qualité d'impression et éventuellement agrandir ou rétrécir les modèles.

Les imprimantes PLA se situent dans l'espace prototypage.

[![1ere impression.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/1ere-impression.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/1ere-impression.jpeg)   
<span style="text-decoration: underline;">Première impression en PLA : deux systèmes monocliniques</span>

**<span style="text-decoration: underline;">07/03/2023</span>**

Nous avons lancé les impressions des systèmes quadratiques, monocliniques et orthorhombiques avec des éléments de symétries. Il était compliqué, juste avec Openscad, de bien ajuster les tailles des axes ou des miroirs par rapport à celle de la maille. Cette impression était un test pour savoir à quel point les éléments doivent être gros.

**<span style="text-decoration: underline;">08/02/2023</span>**

Lorsque les modèles à imprimer deviennent complexes, il est parfois nécessaire d'utiliser des supports pour stabiliser la structure et donner un sol sur lequel l'imprimante peut construire sa réalisation. Les impressions de la semaine dernière ont raté vraisemblablement à cause de la mauvaise gestion des supports. Soit ils n'y en avaient pas assez, soit ils étaient trop fins.

[![ratage d'impression du 08_02.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/ratage-dimpression-du-08-02.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/ratage-dimpression-du-08-02.jpeg)  
[<span style="text-decoration: underline; color: #000000;">Echec de l'impression de quatre modèles : deux quadratiques et deux orthorhombiques</span>](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/ratage-dimpression-du-08-02.jpeg)

Seuls les monocliniques ont été épargnés. Cependant les axes sont minuscules, ce qui les rend extrêmement fragiles et les miroirs font brouillons. De plus, il y a une erreur dans le codage de ces monocliniques. En effet, ils n'ont pas été définis à partir des paramètres a, b, c, alpha, bêta et gamma mais à partir de coordonnées dont certaines erronées.

[![deux monocliniques V1 axes.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/deux-monocliniques-v1-axes.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/deux-monocliniques-v1-axes.jpeg)  
[<span style="text-decoration: underline; color: #000000;">Premières impressions avec axes de symétries </span>](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/deux-monocliniques-v1-axes.jpeg)

**<span style="text-decoration: underline;">10/02/2023</span>**

Nous avons relancé des impressions PLA des systèmes monoclinique (avec les bonnes dimensions cette fois-ci), quadratique et orthorhombique. Nous avons allongé et grossi les axes. Sur les impressions ci-dessous, plusieurs choses peuvent être remarquées. Déjà, le monoclinique est un test de représentation inversée. Au lieu de faire ressortir les axes, nous les avons creusés et au lieu de graver le miroir, nous l'avons fait ressortir. Cette visualisation ne sera pas gardée.

[![monoclique sym inverse+dédicace.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/monoclique-sym-inversededicace.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/monoclique-sym-inversededicace.jpeg)

Ensuite, pour les deux autres modèles, la forme des axes varie. En effet, celle-ci est codifiée et correspond à la valeur de l'axe. S'il permet de faire 2 rotations, il sera ovale, un triangle, 4 un carré et 6 un hexagone. Enfin, il manque quelques plans miroirs sur le quadratique.

[![quadratique V1 vrai.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/quadratique-v1-vrai.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/quadratique-v1-vrai.jpeg)[![quadratique V1.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/quadratique-v1.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/quadratique-v1.jpeg)

<span style="text-decoration: underline;">**Rendez-vous et bilan de l'avancée du projet** </span>

Nous nous sommes alors entretenus avec M. Chassé. La taille de ces modèles lui convenait. En outre, nous pouvions voir sur le monoclinique les traces d'un marqueur pour tableau qu'il a effectué. Notre professeur souhaitait que ses étudiants puissent dessiner sur les futurs modèles d'entrainements puis effacer. Pour cette raison, les impressions finales d'entrainements seront blanches pour mieux voir l'encre. Par ailleurs, les premières impressions ont été conçues en exagérant les proportions de manière à être le plus explicite possible. Elles ne sont pas, pour cette raison, représentatives de la réalité. M. Chassé nous a demandé de caler les paramètres des modèles sur les dimensions de certains minéraux existant pour éviter les erreurs de représentation et de proportion. Il nous a précisé ensuite de faire attention à la longueur des axes. M. Labrousse a approuvé cette idée en ajoutant que des axes longs seraient fragiles.

A présent, il existe deux versions des programmes Openscad pour les étudiants afin qu'ils puissent visualiser les modèles en ligne.

<span style="text-decoration: underline;">Programme n°1 : </span>

[![image-1682614173389.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1682614173389.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682614173389.png)

<span style="text-decoration: underline;">Programme n°2 : </span>

[![image-1683750192019.21.30.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683750192019-21-30.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683750192019-21-30.png)

[![image-1683750211363.22.01.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683750211363-22-01.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683750211363-22-01.png)

<span style="color: #000000;">Nous repartons donc aujourd'hui avec beaucoup d'objectifs : </span>

- <span style="color: #000000;">vérifier s'il est possible d'effacer le marqueur des impressions PLA comme résine,</span>
- <span style="color: #000000;">tester l'éthanol pour savoir s'il endommage les impressions car ce solvant permet d'enlever les marqueurs,</span>
- <span style="color: #000000;">faire des impressions résines,</span>
- <span style="color: #000000;">essayer avec M. Théry la lisseuse, un instrument chauffant pour lisser nos productions,</span>
- <span style="color: #000000;">regarder si avec la découpeuse vinyle, coller des stickers afin d'écrire sur les modèles est envisageable,</span>
- <span style="color: #000000;">voir si nous pouvons, à l'aide de la découpeuse à eau, recouvrir nos productions de plexiglas,</span>
- <span style="color: #000000;">terminer toutes les corrections. Actuellement, il nous manque les systèmes rhomboédrique, cubique et hexagonale.</span>

<span style="color: #000000;">Par ailleurs, il est envisagé, sous réserve que nous terminions rapidement, de reproduire des mailles de minéraux existants, de coder les modèles avec les motifs (atomes ou molécules) dedans. </span>

**<span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;">12/02/2023</span></span>**

<span style="color: #000000;">Les systèmes classiques sont tous terminés pour les modèles simples (voir Systèmes cristallins classiques) et une partie des modèles avec axes aussi. (voir Systèmes cristallins avec symétries). Nous avons testé la lisseuse. Elle a déformé notre modèle. A la place, M. Théry nous a proposé d'utiliser la découpeuse vinyle pour coller un papier Velleda sur nos impressions en PLA afin d'avoir les formes parfaites. Cela nécessiterait l'utilisation du logiciel Inkscape pour avoir le chemin vectoriel. Il faut juste vérifier les dimensions du film pour savoir s'il est compatible avec la découpeuse. Nous pourrions également tester de lisser la surface avec du sable chauffé puisque le fer chauffé déforme notre structure. Enfin, plusieurs personnes nous ont conseillés de faire un trou universel dans les modèles puis de laisser les étudiants trouver quels axes correspondent à quelles cavités. Mais nous n'avons pas gardé cette proposition pour plusieurs raisons. D'abord, souvent les axes s'entrecroisent au centre de la maille. Pour éviter qu'ils ne se gênent, il aurait fallu les raccourcir de façon précise. Mais le principal problème rencontré concerne le maintien des axes au sein de la structure. Nous aurions dû créer un système de clefs et de serrures pour éviter que les axes ne tombent en manipulant le modèle. </span>

**<span style="text-decoration: underline;">17/02/2023</span>**

Lorsqu'un minéral est trouvé dans la réalité, sa forme ne correspond pas forcément à sa maille primitive. Il a pu être découpé selon des plans bien précis. On parle alors de troncature. Ci-dessous, il s'agit de la réalisation de troncatures pour le système cubique.

<span style="text-decoration: underline; color: #2dc26b;">**Essai de troncature du système cubique (cubo-octaédre) :**</span>

[![image-1676714450773.00.43.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676714450773-00-43.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676714450773-00-43.png)

**<span style="color: #2dc26b;"><u>Essai de troncature du système cubique avec </u><span style="caret-color: #2dc26b;"><u>symétries</u></span><u> (cubo-octaédre):</u></span>**

[![image-1676714788778.06.23.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676714788778-06-23.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676714788778-06-23.png)

Au sein de la faculté, les impressions résine dépendent du Fablab de biologie/chimie. Il a fallu se rendre au Fablab biologie à l'atrium pour demander des informations sur l'imprimante résine mais il était fermé. Camille est allée faire un tour au Fablab chimie pour savoir s'il était possible de lancer une impression résine du système cubique avec axes de symétries. Cependant, le responsable du Fablab de chimie, a expliqué que les impressions doivent être lancées le jeudi. La résine est un fluide qui se polymérise sous l'effet des UV. Il faut stopper manuellement la réaction pour éviter des dégâts sur les produits. Si les impressions étaient lancées les vendredis soirs, au retour du week-end, elles seraient abimées ainsi que le matériel.

Camille enverra un mail ce week-end à Simon Lanis afin de convenir d'une date. Egalement, il serait bien d'écrire sur des échantillons de résine afin de savoir si nous pouvons effacer le marqueur. Comme les BIC Velleda sont les plus compliqués à enlever, nous allons faire nos essais de dessins avec.

L'impression du système cubique en haute résolution avec une coque très fine et un remplissage de 15% a pu être lancée. Il s'agit de la première impression haute résolution effectuée. Si au toucher elles sont plus lisses et visuellement plus jolies, la durée d'impression est beaucoup plus longue. Nous pourrons ainsi disposer d'un aperçu du rendu "final" que pourrait donner les systèmes. En principe, l'impression devrait être terminée ce week-end.

En parallèle, nous nous sommes rendu compte que les programmes servant à recréer les mailles ne fonctionnaient pas pour le système rhomboédrique. En effet, en comparant la taille des diagonales des faces, elles étaient toutes différentes. Or, le rhomboèdre est composé de 6 losanges identiques. Il fallait donc recoder ce système complètement puis ajouter les axes dessus. Cela signifiait également un disfonctionnement des programmes les rendant inaptes à l'enseignement. Il s'agissait du seul système nous faisant défaut.

Dans un second temps, il nous faudra résoudre les problèmes de surface des pièces, elles doivent être les plus lisses possibles pour éviter l'absorption de l'encre au sein des porosités. La résine pourrait être une solution. En effet, si le film Velleda ne tient pas ou bien s'il est abîmé par les étudiants, le projet ne sera pas viable sur le long terme.

Les axes de symétries sont définitivement trop fragiles. Au moindre choc, chute, transport dans une poche, ils se cassent. Il faut trouver un meilleur rapport entre longueur/épaisseur des axes pour les préserver au maximum. Des axes plus petits mais plus larges semblent être adaptés.

Dans un troisième temps, nous pourrions créer deux boites avec la découpeuse laser ou un autre appareil pour ranger proprement tous les systèmes.

**<span style="text-decoration: underline;">24/02/2023 </span>**

L'impression du cube a partiellement fonctionné. Les axes situés sur la face inférieure n'ont pas été correctement imprimés. En outre, elle souffre aussi d'un défaut puisqu'elle n'est pas lisse. Cela est dû au socle trop épais, difficile à retirer. En temps normal, les structures supports partent relativement facilement. Cependant, ici, il a fallu utiliser un cutter à ultrasons pour les couper puis limer le surplus de matière de la face postérieure. Pour les prochains essais, il serait bien d'utiliser des supports plus conséquents et plus larges que la face du cube. Le reste du modèle est parfaitement imprimé, la surface est beaucoup mieux aboutie que les autres modèles et les axes plus petits devraient mieux résister.

[Résultat de l'impression avec la meilleure résolution : ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677322584654.jpeg)

[![image-1677322058742.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1677322058742.jpg) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677322058742.jpg)[![image-1677322457802.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1677322457802.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677322457802.jpeg)

[Photos de la face ratée avant et après limage ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682695057363.png):

 [![image-1682695057363.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1682695057363.png) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682695057363.png)[![image-1682695168084.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1682695168084.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682695168084.jpg)

[Cutter à Ultrasons](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677323173717.jpg) :

[![image-1677323173717.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1677323173717.jpg) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677323173717.jpg)

<span style="text-decoration: underline;">Réalisation d'essais de traces aux marqueurs sur des échantillons en résine :</span>

Lorsque nous recevons pour la première fois les échantillons en résine, il nous est apparu que certains marqueurs pouvaient être effacés. Les marqueurs bleus et verts semblent être adaptés à notre projet puisqu'effaçables même après une heure d'attente. Ainsi, l'utilisation de résine translucide semble être une des solutions répondant aux critères de M.Chassé.

[![image-1677323894846.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1677323894846.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677323894846.jpg)[![image-1677323894869.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1677323894869.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677323894869.jpg)[![image-1677323894885.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1677323894885.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677323894885.jpg)[![image-1677323894900.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1677323894900.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677323894900.jpg)[![image-1677323894922.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1677323894922.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677323894922.jpg)

[![image-1677324550017.28.14.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1677324550017-28-14.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1677324550017-28-14.jpg)

Pour la semaine prochaine, nous devons continuer à chercher les axes et plans miroirs du système rhomboédrique. En effet, il n'est toujours pas codé de façon correcte.

Par ailleurs, la boîte de fin de projet pourrait être construite à la découpeuse laser. Des crans sur les côtés de celle-ci serviraient à l'assemblage de chacune de ses faces. Enfin, l'intérieur comporterait de la mousse afin de préserver les impressions.

**<span style="text-decoration: underline;">10/03/2023</span>**

Le code du système rhomboédrique a enfin été trouvé. Depuis plusieurs semaines, nous étions bloqués sur son automatisation au sein d'Openscad. Pour des valeurs de paramètres conformes à la définition du rhomboèdre (a=b=c, alpha=bêta=gamma), les losanges obtenus différaient les uns des autres. Nous nous en sommes rendu compte grâce aux axes. Il était impossible de les baser sur nos paramètres. Il fallait tout le temps tâtonner au cas par cas là où pour les autres systèmes tout est automatique. Cela nous a pris 3 semaines pour comprendre comment définir les longueurs de ce polyèdre. Par ailleurs, comme ce système ne marchait pas dans les codes d'amusement des futurs étudiants à cause de la complexité des coordonnées, il est plus que probable que les codes ne marchent pas non plus pour le système triclinique. Il dispose de trop de translations interdépendantes les unes des autres pour être aussi simple à coder. Si nous disposons d'un peu de temps à la fin, il pourrait être intéressant de trouver comment le créer dans Openscad.

Après avoir testé plein de variantes différentes, c'est finalement via la résolution d'un système à deux inconnus que les translations ont été trouvées. C'est en effet le passage de la structure 2D en 3D qui posait problème. D'une part le triangle rectangle entre la translation en x, la longueur a (hypoténuse) et la hauteur mais également via les coordonnées du vecteur BE, et BD dont on a comparé les normes.

[![image-1682697127775.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1682697127775.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682697127775.png)[![image-1679059731159.JPEG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679059731159.JPEG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679059731159.JPEG)[<span style="text-decoration: underline;"><span style="background-color: #ffffff; color: #000000; text-decoration: underline;">Schémas de la solution</span></span>](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682697127775.png)

```C++
//variable
a=6.36;
alpha=46.6;

//définition des translations

ralpha=alpha*3.14/180;
x=a*cos(alpha/2);
y=a*sin(alpha/2);
x1=(y)^2;
x2=(x)^2;
x3=2*x;
tx=(a^2-3*x1+x2)/x3;
tz=sqrt(a^2-tx^2);

//polyèdre
A=[0     ,0  ,0  ];
B=[x     ,y  ,0  ];
C=[2*x   ,0  ,0  ];
D=[x     ,-y ,0  ];
E=[tx    ,0  ,tz ];
F=[tx+x  ,y  ,tz ];
G=[2*x+tx,0  , tz];
H=[tx+x  ,-y , tz];
points=[
A,
B,
C,
D,
E,
F,
G,
H];
face=[[0,1,2,3],//sol
      [4,5,1,0],//au dessusi
      [7,6,5,4],//derrière
      [5,6,2,1],//droite
      [6,7,3,2],//gauche
      [7,4,0,3]];//devant

//vérification
polyhedron(points,face);
v1=B-E;// B et E
v2=H-F;// F et H
v3=A-F;
v4=A-C;
nv1=norm(v1);
nv2=norm(v2);
nv3=norm(v3);
nv4=norm(v4);
echo(nv1,"norme de v1");
echo(nv2,"norme de v2");
echo(nv3,"norme de v3");
echo(nv4,"norme de v4");
echo (tx,tz);
```

<span style="text-decoration: underline;">Code pour le rhomboèdre</span>

Il est à noter que ce code marche également pour le cube si les angles sont égaux à 90°, c'est pour cela que dans la définition du rhomboèdre, les angles doivent être différents de 90°.

**<span style="text-decoration: underline;">17/03/2023 </span>**

Nous avons continué la pose des axes de symétries sur le rhomboèdre. En parallèle, trois nouveaux modèles en PLA ont été imprimés afin de les recouvrir de papier film Velleda. La commande que nous avions passé, est arrivée la semaine dernière. Enfin, le cube a été projeté afin de tester sa résistance. Certains éléments de symétries ont été cassés. Leur durée de vie est donc le principal souci pour les modèles de corrections.

**<span style="text-decoration: underline;"><span style="color: #000000;">22/03/2023 :</span></span>**

Une impression résine a été lancée pour les systèmes suivants :   
\- cubique classique   
\- quadratique classique   
\- orthorhombique classique  
\- monocline classique   
\- triclinique classique   
\- hexagonal classique  
\- cubique corrigé   
\- quadratique corrigé  
\- orthorhombique corrigé

Il était initialement prévu d'imprimer le rhomboédrique classique. Cependant, le fichier slt ne se chargeait pas sur le logiciel de visualisation Chitubox. L'utilisation de l'imprimante en résine est plus technique et plus coûteuse que celles utilisant le PLA. De plus, le bac doit être rempli de façon précise avant l'impression pour éviter d'être en manque de résine pendant la fabrication des modèles. Ici il fallait 62ml.

Les systèmes ont été fabriqués simultanément à l'aide d'une seule imprimante en résine grise. Ils font environ 2cm de long. C'est plus petit que les autres impressions mais cela a permis de tous les avoir rapidement. Nous pourrions les avoir en blancs, noirs ou transparents. Ce serait bien d'essayer ces couleurs afin de les comparer.

<span style="text-decoration: underline;">**24/03/2023**</span>:

L'impression des modèles en résine a duré 2 heures. Elle n'a pas fonctionné pour les polygones dans la partie gauche du récipient contenant la résine. Néanmoins, la définition des objets est bien plus fine qu'avec l'impression à filament.

Ainsi les systèmes imprimés à ce jour sont :   
\- système cubique classique   
\- système cubique corrigé  
\- système monoclinique classique   
\- système orthorhombique corrigé   
\- système hexagonal classique

[![image-1679653957012.32.33.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679653957012-32-33.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679653957012-32-33.png)[![image-1679653696119.26.42.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679653696119-26-42.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679653696119-26-42.png)[![image-1679653696267.26.30.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679653696267-26-30.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679653696267-26-30.png)[![image-1679653696150.26.52.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679653696150-26-52.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679653696150-26-52.png)[![image-1679653745321.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679653745321.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679653745321.png)[![image-1679653794003.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679653794003.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679653794003.png)[![image-1679653696211.27.20.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679653696211-27-20.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679653696211-27-20.png)

[<span style="background-color: #ffffff; color: #000000; text-decoration: underline;">Photos des premières impressions en résine</span>](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679653696211-27-20.png)

<span style="text-decoration: underline;">Etapes de traitement pour l'impression résine</span> :   
\- Enlever à l'aide d'une spatule en plastique les supports collés aux films,  
\- Décrocher les systèmes des supports,  
\- Transvaser le restant de résine dans le conteneur à résine à l'aide d'un filtre pour permettre de filtrer les morceaux,  
\- Gratter à l'aide d'une spatule en plastique les morceaux solides encore accrochés aux films,  
\- Nettoyer à l'aide d'un papier le bac,  
\- Laver à l'aide d'un papier et d'un solvant (propanol) le bac de résine,   
\- Plonger entre 5 et 15 minutes les pièces dans un grand volume de solvant afin d'enlever la résine liquide résiduelle,  
\- Sortir les pièces du solvant et les laisser sécher sous la hotte,  
\- Rincer à l'eau et au savon les spatules, l'entonnoir, le filtre et le support où étaient suspendues les impressions,   
\- Exposer ces dernières aux ultraviolets naturels ou synthétiques pour durcir les pièces.

**<span style="text-decoration: underline;">24/03/2023</span>**

Après avoir récupéré les impressions en résine, nous avons écrit dessus avec un feutre Velleda vert pour savoir si elles étaient effaçables. La réponse est "non". Pourtant au toucher, les surfaces paraissaient lisses. Avec M. Labrousse, nous avons regardé au microscope électronique le trait de Velleda sur le cube en résine. Grâce à celui-ci, nous avons vu des sillons droits apparaître au sein de la surface (grossissement x40). Elle est donc poreuse. L'encre reste dans les parties creuses du cube (grossissement x1000). Le microscope possède l'option topographie. Nous en avons donc profité pour réaliser la topographie de l'échantillon. Il n'était pas lisse à cause de sa porosité et possède un relief. Nous pourrions éventuellement tester l'acétone ou l'éthanol pour regarder si l'encre aurait pu disparaitre sans abîmer l'échantillon

En revanche, il semblerait que les impressions en résine sont plus résistantes que les impressions en PLA. Nous pourrions faire les modèles correctifs en résine afin de conserver les axes qui restent trop fragiles.

[![cube_resine_alex_fablab_40.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/cube-resine-alex-fablab-40.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/cube-resine-alex-fablab-40.jpg)[![cube_resine_alex_fablab_1000.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/cube-resine-alex-fablab-1000.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/cube-resine-alex-fablab-1000.jpg)

[Grossissements du cube x40 et x1000](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/cube-resine-alex-fablab-1000.jpg)

[![cube_alex_3d.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/cube-alex-3d.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/cube-alex-3d.jpg)

[<span style="text-decoration: underline; background-color: #ffffff; color: #000000;">Topographie d'une surface du cube</span>](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/cube-alex-3d.jpg)

<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400;">L'image supérieure droite montre la coupe sur la surface du cube pour un grossissement x1000. </span>Celle en haut à gauche présente une carte de la surface analysée en fonction de la hauteur. Le bleu vaut 0 micromètre et le rouge 18. Enfin, la courbe en bas est la topographie de la surface pour un grossissement x1000.

Dans un second temps, après avoir reçu le film Velleda, nous avons pu tester la découpeuse vinyle afin de recouvrir les modèles d'exercices.

Les trois impressions en PLA noir de la semaine dernière ont été recouverts de papier Velleda. Sur le logiciel Graphtec Studio, il est possible soit de reproduire les faces des modèles soit de créer un patron. Ici, le cube est recouvert d'un patron exactement aux bonnes dimensions. Le patron du monoclinique est légèrement plus grand afin de prendre en compte les déformations dues au pliage. Le rhomboèdre est recouvert par 6 losanges. Les patrons semblent plus adaptés que le collage face par face. Notamment parce que l'une des faces du rhomboèdre a été perdue. D'ailleurs, exagérer les proportions du patron n'est pas une bonne idée. En effet, les pliages sont disgracieux, il faut découper ce qui dépasse, ce qui n'est pas évident. Même le cutter à ultrasons n'est pas pratique pour cette besogne. Il fait fondre le film et légèrement le PLA. Ces modèles résistent bien mieux aux chutes depuis un bureau ou plus haut. Par ailleurs, comme le film Velleda est conçu pour être utilisé avec des marqueurs, il n'y a aucun problème pour effacer les écritures. Cependant, le papier film Velleda se colle mal sur le PLA. L'usage de colle est obligatoire pour une utilisation pérenne des modèles. Il semblerait que la Loctite 406 adhère mieux sur le plastique. Comme nous souhaitons réaliser 5 sets de 7 pièces, cela va prendre du temps de recouvrir l'intégralité de nos systèmes. De plus, il existe déjà des modèles d'entrainements similaires. Ils sont beaucoup plus gros mais il n'y a qu'un seul set. Ici, plusieurs groupes pourront s'exercer simultanément.

Cette solution semble être la plus adaptée pour notre projet mais nous en discuterons avec M. Chassé lors de notre prochaine entrevue pour savoir si cela lui convient. Si tel est le cas, alors nous utiliserons du PLA blanc pour les modèles afin de masquer au maximum les imperfections de collage.

[![image-1682699172630.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1682699172630.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682699172630.png)  
[Photo des trois modèles recouverts de film Velleda, le cube a des arêtes de 3cm](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682699172630.png)

**<span style="text-decoration: underline;">31/03/2023</span>**

Aujourd'hui, nous avons rencontré M.Chassé pour faire le point sur l'avancée du projet. Après avoir discuté avec lui, nous avons décidé de faire les systèmes recouverts de Velleda pour les modèles d'exercices. A l'inverse, les modèles de corrections seront réalisés en résine. Nous espérons ainsi qu'ils seront plus résistants que les modèles en PLA.

A cette fin, nous avons définis des dimensions précises basées sur celles de minéraux pour chaque système pour qu'ils soient facilement reproductibles en cas de perte, de casse ou de vol (*fichiers stl* et *fichiers stl de correction*). Pour éviter au maximum des soucis d'impressions, nous voulions utiliser deux imprimantes pour imprimer les 35 modèles (7\*5). Cependant, une des imprimantes n'a pas marché donc il n'y en aura que la moitié pour le moment.

Si nous parvenons à terminer rapidement, nous allons ensuite réaliser une boite afin de protéger des chocs, pertes mais également de préserver la colle.

**<span style="text-decoration: underline;">08/04/2023</span>**

Nous avons eu un problème d'impression sur les 16 modèles lancés la semaines dernière. 7 ont été imprimés mais seulement 3 ou 4 sont exploitables, les autres ont trop de défauts pour être recouverts de film. De ce fait, les impressions seront lancées petit à petit les unes après les autres, ce qui nécessitera un temps considérable.

La découpeuse vinyle aussi a été compliquée à utiliser. Il a fallu demander pour la réalisation des trois tests des semaines précédentes, l'ordinateur d'une personne ayant déjà réussi à la faire fonctionner. D'autre part, comme elle est précise au mm et les impressions à + ou - 0.4 mm, il faudra voir comment cela impacte le recouvrement des modèles. Par ailleurs, la quantité de film nécessaire pour la bonne réalisation du projet semble plus conséquente que prévu.

En ce qui concerne la colle, le cube et le rhomboèdre ont été enduits de cette dernière puis malmenés pendant 7 jours. Au terme de la semaine, aucun décollement n'était repérable.

**<span style="text-decoration: underline;">12/04/2023</span>**

Les modèles d'entrainements sont tous soit en cours d'impression soit terminés. Il faudra juste les recouvrir. La découpeuse vinyle ne fonctionne pas. Le logiciel conçu pour communiquer entre la découpeuse et un ordinateur est Graphtec Studio. Cependant, il est impossible de faire communiquer un pc avec la découpeuse. Que ce soit celui d'Alexandre, les ordinateurs portables du Fablab ou bien la tour installée spécialement pour la découpeuse. Pourtant celle-ci fonctionne. Après avoir testé plusieurs logiciels, il semble compliqué d'identifier la source du problème. C'est embêtant puisque la découpeuse impacte directement le bon déroulement de notre projet.

<span style="text-decoration: underline;">**14/04/2023**</span>

Une impression en résine a été réalisée jeudi pour les modèles cristallins avec axes et plans miroirs aux bonnes dimensions. De ce fait, leur volume est plus conséquent. En outre, les axes ont été épaissis et leurs longueurs raccourcies afin de limiter la casse sur le long terme.   
Malheureusement, nous avons minimisé le volume de résine nécessaire à l'impression. De ce fait, les modèles ont été partiellement imprimés. Pour pallier à cette erreur, un nouveau rendez-vous est fixé à la semaine prochaine.

[![image-1682094463344.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1682094463344.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682094463344.jpg)  
[<span style="text-decoration: underline; color: #000000;">Photo de l'échec d'impression en résine</span>](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682094463344.jpg)

La pose des éléments de symétries sur le système rhomboédrique est terminée. C'était le seul manquant.

D'autre part, tous les modèles d'exercices sont imprimés. Il y a au final 7 sets de 7 pièces.

[![image-1682094479253.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1682094479253.jpg)  
Photo de toutes les impressions d'entrainements](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1682094479253.jpg)

Avec Pierre, nous avons discuté des différentes possibilités pour la fabrication de la boite, sous réserve que nous disposions de temps :   
\- boite en bois avec couvercle de plexiglass pour voir correctement les modèles,  
\- mousse prédécoupée reprenant la forme des impressions,   
\- noms des modèles gravés sur le plexiglass.

Enfin, comme la semaine dernière, la découpeuse vinyle refuse toujours de fonctionner. Nous allons devoir envisager de faire toutes les découpes à la main. Il va falloir remédier à ce problème au plus tard la semaine prochaine afin de commencer la pose du Velleda.

Suite à un nouveau rendez-vous au Fablab Chimie, les systèmes cristallins ont été imprimés en résine blanche. Contrairement au premier modèle, nous avons épaissi les axes et accentué les encoches des plans miroirs. Cependant, les modèles ne sont pas parfaits. En effet, on observe des modifications de l'état de surface. Les faces ne sont pas parfaitement tabulaire dus à différents facteurs. Tout d'abord, l'imprimante repose sur une table de laboratoire dans un endroit de passage. Ainsi, les vibrations suscitées par l'environnement ont pu être enregistrées sur certaines couches. De plus, les modèles étant denses (car ils sont pleins), il aurait fallu augmenter la densité des supports pour éviter un affaissement de la matière du à la gravité. Aussi, on peut remarquer des marques de supports à certains endroits des figures. Pour palier à ces imperfections, nous pourrions essayer d'imprimer les modèles sous une hôte qui a la particularité d'absorber les vibrations que subit l'imprimante. Ou sinon, placer l'imprimante sous un tapis de mousse pour limiter les secousses. Concernant les supports, il faudrait trouver le bon compromis entre des supports peu denses qui ne laisseraient aucune trace sur les modèles et des supports denses qui permettraient un meilleur maintien.

Les modèles ci-dessous ont été placés 2h après impression sur le rebord d'une fenêtre pour qu'ils continuent de se solidifier à l'UV.

[![image-1683752785044.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683752785044.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683752785044.jpeg)  
<span style="text-decoration: underline;">Modèles avec éléments de symétries imprimés à la résine</span>

[![i</body>](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683752822261.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683752822261.jpeg)  
<span style="text-decoration: underline;">Visualisation des modèles cristallins sur Chitubox</span>

<span style="text-decoration: underline;">**19/05/2023**</span>

Comme les examens sont presque tous terminés, nous avons eu le temps de travailler sur le code permettant de recréer chacune des mailles.

En réalité, il s'agit du code de la maille triclinique. Comme c'est elle qui dispose du plus de liberté sur ses paramètres. La modéliser rend obsolète les autres code dont celui du rhomboèdre car nous pouvons tous les concevoir en ajoutant des contraintes sur la maille triclinique.

Cependant, ce code ne marche pas pour toutes les valeurs d'angles. La difficulté rencontrée pour recréer une maille provient des translations en x,y et z (tx,ty et tz) entre la face inférieure et la face supérieure. Openscad utilise huit sommets pour déduire les faces. En définissant 4 sommets pour la face inférieure et 4 pour la supérieure, cela revient à dupliquer la face inférieure avec une translation identique en x,y et z pour les 4 points supérieurs. Dans le code, comme A possède pour coordonnées (0,0,0), le point E à pour coordonnées les translations. Après avoir définit les trois équations pour les trois inconnus, il suffit de les résoudre. Cependant, tz n'admet pas de solutions pour certaines valeurs. Si, dans le code (voir IV f.) , il vaut :

```C++
sqrt(c^2+a^2-2*a*c*cos(180-beta)-ty^2-(a+tx)^2)
```

La solution la plus simple de tz est :

```C++
tz= sqrt(c^2-ty^2-tx^2);
```

(Les deux expressions sont équivalentes et donnent le même résultat mais dans la recherche de la suppression de la racine pour tz, nous avons tenté de trouver d'autres solutions.)

Or ty et tx dépendent des angles bêta et alpha. Quand ceux-ci deviennent trop extrêmes (par exemple: 90;10;10) , le résultat de la soustraction devient négatif ce qui empêche la résolution de l'équation.

Pour pallier à ça, nous avons pensé à mettre en valeur absolue la racine mais cela créer une déformation de la maille. Comme les nombres complexes n'existent pas non plus sur Openscad, nous avons opté pour un message d'erreur quand la maille ne serait pas construisible.

</details>##### **IV- Projet et résultats finaux**

Notre projet avait pour objectif de réaliser des sets pour les étudiants des années suivantes en minéralogie. Ainsi grâce à ces modèles cristallins, les étudiants pourront visualiser et manipuler les différentes mailles cristallines constituant la matière.

Même si les mailles sans axes existaient déjà, que ce soit en version physique ou bien sur les logiciels, celles réalisées dans ce projet seront plus adaptées puisqu'elles seront utilisables par plusieurs groupes dans une classe contrairement aux modèles existants qui n'étaient manipulables que par le professeur pour présenter à ses élèves les cristaux.

Notre travail s'est décomposé en deux parties. Tout d'abord, recréer avec Openscad les différentes mailles cristallines définies par des propriétés géométriques. Pour ce faire, nous avons défini un repère en 3D ayant comme axes les arêtes de longueurs a, b, c du polyèdre. Quant aux angles alpha, bêta et gamma, ils représentent respectivement les angles entre (b,c), (c,a) et (a,b). Les modèles cristallins sont tous des hexaèdres composés de six faces.

<table border="1" id="bkmrk-nom-de-la-maille-val"><tbody><tr><td>Nom de la maille</td><td>valeurs de la longueur des axes a,b et c</td><td>angles entre les axes a,b et c. </td></tr><tr><td>Triclinique</td><td>a≠b≠c</td><td>alpha≠bêta≠gamma</td></tr><tr><td>Monoclinique

</td><td>a≠b≠c</td><td>alpha=gamma=90°≠bêta</td></tr><tr><td>Orthorhombique

</td><td>a≠b≠c</td><td>alpha=bêta=gamma=90</td></tr><tr><td>Hexagonal</td><td>a=b≠c</td><td>alpha=bêta=90, gamma=120</td></tr><tr><td>Rhomboédrique</td><td>a=b=c</td><td>alpha=bêta=gamma≠90</td></tr><tr><td>Quadratique</td><td>a=b≠c</td><td>alpha=bêta=gamma=90</td></tr><tr><td>Cubique</td><td>a=b=c</td><td>alpha=bêta=gamma=90</td></tr></tbody></table>

Nous avons remplacé les valeurs des longueurs et des angles caractéristiques du tableau par les paramètres de mailles de vrais minéraux (voir fichiers stl).   
\- Dimensions de la chlorite pour le monoclinique,  
\- Dimensions de l'andalousite pour l'orthorhombique,  
\- Dimensions du corindon pour l'hexagonal,  
\- Dimensions de la calcite pour le rhomboédrique,   
\- Dimensions de la braunite pour le quadratique,  
\- Dimensions de la fluorite pour le cubique.

Dans un second temps, une fois les modèles originaux terminés, nous avons pu coder sur Openscad les éléments de symétries.

***a- Systèmes cristallins classiques***

<details id="bkmrk-syst%C3%A8me-cristallins-"><summary>Systèmes cristallins classiques sur Openscad</summary>

**Système Cubique :**

[![image-1676224369227.52.21.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676224369227-52-21.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676224369227-52-21.png)

**Système Orthorhombique :**

[![image-1676224510480.54.36.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676224510480-54-36.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676224510480-54-36.png)

**Système Quadratique :**

[![image-1676224281089.50.03.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676224281089-50-03.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676224281089-50-03.png)

**Système Rhomboédrique :**

[![image-1676224734980.58.09.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676224734980-58-09.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676224734980-58-09.png)

**Système Hexagonal :**

[![image-1676224870102.00.41.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676224870102-00-41.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676224870102-00-41.png)

**Système Monoclinique :**

[![image-1676225100384.04.31.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676225100384-04-31.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676225100384-04-31.png)

**Système Triclinique :**

[![image-1676226784959.32.28.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676226784959-32-28.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676226784959-32-28.png)

</details>***b- Systèmes cristallins avec symétries***

Pour chacun des systèmes cristallins :   
\- Les axes A4 sont modélisés par les losanges,  
\- Les axes A3 sont modélisés par les triangles,  
\- Les axes A2 sont modélisés par des ellipsoïdes,  
\- Les plans miroirs sont modélisés par des quadrilatères très fins sur chaque facette puis soustrait à la forme cubique initiale (fentes vertes sur la figure ci-dessous).

Tous les systèmes possèdent des éléments de symétries sauf le système triclinique.

<details id="bkmrk-syst%C3%A8me-cubique-%3A%C2%A0-s"><summary>Systèmes cristallins avec symétries sur Openscad</summary>

**Système Cubique :**

[![image-1676221795815.01.01.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676221795815-01-01.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676221795815-01-01.png)

[![image-1676222352142.17.39.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676222352142-17-39.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676222352142-17-39.png)

[![image-1676222359913.18.28.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676222359913-18-28.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676222359913-18-28.png)

[![image-1676222365583.15.40.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676222365583-15-40.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676222365583-15-40.png)

**Système Orthorhombique :**

[![image-1676223224413.26.40.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676223224413-26-40.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676223224413-26-40.png)

[![image-1676223245175.30.22.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676223245175-30-22.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676223245175-30-22.png)

[![image-1676223257541.31.29.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676223257541-31-29.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676223257541-31-29.png)

[![image-1676223266373.32.07.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676223266373-32-07.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676223266373-32-07.png)

**Système Quadratique**

[![image-1676223412219.22.31.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676223412219-22-31.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676223412219-22-31.png)

[![image-1676223918208.43.09.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676223918208-43-09.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676223918208-43-09.png)

[![image-1676223931553.43.46.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676223931553-43-46.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676223931553-43-46.png)

[![image-1676223938883.44.18.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676223938883-44-18.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676223938883-44-18.png)

**Système hexagonal**

[![image-1676143847376.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676143847376.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676143847376.png)

[![image-1676143874843.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/image-1676143874843.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/image-1676143874843.png)

**Système rhomboédrique :**

[![image-1683745542844.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683745542844.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683745542844.png)

**Système monoclinique :**

[![image-1683745602337.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683745602337.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683745602337.png)

**Système Triclinique :**

[![image-1683745681261.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683745681261.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683745681261.png)

</details><details id="bkmrk-fichier-stl-cubique_"><summary>Systèmes cristallins imprimés en résine blanche</summary>

[![image-1683752182262.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683752182262.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683752182262.png)

[![image-1683752202010.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683752202010.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683752202010.png)

[![image-1683752213814.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683752213814.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683752213814.png)

[![image-1683752335524.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683752335524.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683752335524.jpeg)

[![image-1683752229773.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683752229773.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683752229773.png)

[![image-1683752247524.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683752247524.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683752247524.png)

[![image-1683752266938.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683752266938.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683752266938.png)

</details>**c- Fichiers stl des modèles classiques**

Ces fichiers sont au format stl correspondant au format conforme pour les impressions 3D en PLA et en résine.

<details id="bkmrk-fichiers-stl-des-mod"><summary>Fichiers stl des modèles classiques</summary>

[cubique\_dim\_fluorite.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/234)

[hexagonal\_dim\_corindon.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/235)

[monoclinique\_dim\_chlorite.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/236)

[orthorhombique\_dim\_andalousite.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/237)

[quadratique\_dim\_braunite.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/238)

[rhombo\_dim\_calcite\_v2.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/239)

[triclinique V2.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/240)

</details><details id="bkmrk-fichiers-openscad-de"><summary>Fichiers Openscad des modèles redimensionnés</summary>

[exercice\_hexagonal\_2\_2\_3.scad](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/386)

[exercice\_monoclinique\_2.5\_3\_3.5\_70.scad](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/387)

[exercice\_orthorombique\_3,5\_3\_2,5.scad](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/388)

[exercice\_quadratique\_3\_3\_2,5.scad](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/390)

[exercice\_triclinique\_2.5\_3\_3.5\_80\_60\_70.scad](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/389)

[exercice\_cubique\_3\_3\_3.scad](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/391)

[exercice\_rhomboèdrique\_3\_60.scad](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/392)

</details>**d- Fichiers stl des modèles avec symétries**

<details id="bkmrk-fichiers-stl-correct"><summary>Fichiers stl des modèles avec symétries</summary>

[monoclinique\_correction.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/228)

[Symétrie\_orthorhombique\_correction .stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/229)

[tiers\_d'hexagonal\_correction.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/230)

[hexagonal\_correction.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/231)

[Symétrie\_quadratique\_correction .stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/232)

[Symétrie\_cubique\_correction.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/233)

[Rhombohédrique\_correction.stl](https://wiki.fablab.sorbonne-universite.fr/BookStack/Rhomboh%C3%A9drique_correction.stl)

</details>**e- Fichiers gstudio des patrons**

<details id="bkmrk-fichier-d%C3%A9coupeuse-v"><summary>Fichier découpeuse vinyle</summary>

[rhomboèdrique + triclinique + quadratique + monoclinique qui marchent.gstudio](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/256)

[orthorombique.gstudio ](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/257)

[cube.gstudio](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/258)

[hexagonale.gstudio](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/259)

</details>**f-Code complet Openscad**

Ce fichier permet de recréer toutes les mailles cristallines par rapport à leur paramètres. Il marche pour les systèmes cubique, quadratique, rhomboédrique, hexagonal, monoclinique et orthorhombique. Pour le système triclinique, il ne fonctionne pas pour toutes les valeurs d'angles.

```C++
//paramètres de la maille

a=10;
b=10;
c=10;

alpha=90;
gamma=30;
beta=70;

// coordonnées intermédiaires et translation

x=b*cos(gamma);
y=b*sin(gamma);

s=(2*b*c*cos(180-alpha)+x^2+y^2-b^2-2*a*c*cos(180-beta))/(2*(a-x));

ty=(x-a)*(s+c*cos(180-beta))/y;
tx=s+(y*ty)/(a-x);
tz=sqrt(c^2+a^2-2*a*c*cos(180-beta)-ty^2-(a+tx)^2);


//vérification de la structure

if (c^2+a^2-2*a*c*cos(180-beta)-ty^2-(a+tx)^2>0) {

// construction des points
A=[0,0,0];
B=[a,0,0];
D=[x,y,0];
C=[a+x,y,0];
E=[tx,ty,tz];
F=B+E;
G=C+E;
H=D+E;

//construction de la maille 

points=[
A,B,C,D,E,F,G,H];
face=[[0,1,2,3],//sol
      [4,5,1,0],//au dessusi
      [7,6,5,4],//derrière
      [5,6,2,1],//droite
      [6,7,3,2],//gauche
      [7,4,0,3]];//devant
polyhedron(points,face);

//vérification des valeurs

echo("y",y);
echo("x",x);
echo("s",s);
echo("tx",tx);
echo("ty",ty);
echo("tz",tz);
v1=B-E;// B et E
v2=H-F;// F et H
v3=A-F;
v4=A-C;
nv1=norm(v1);
nv2=norm(v2);
nv3=norm(v3);
nv4=norm(v4);
echo(nv1,"norme de v1");
echo(nv2,"norme de v2");
echo(nv3,"norme de v3");
echo(nv4,"norme de v4");
echo(c^2-ty^2-tx^2);
echo("E-H",norm(E-H));
echo("F-G",norm(F-G));
echo(tz==undef);
}
else 
    //si ça ne marche pas 
    color([1,0.8,0]){ linear_extrude(4){text("erreur",font="Comic Sans MS:style= Bold");}};

```

##### **V- Annexe : Logiciels et machines utilisés**

<details id="bkmrk-logiciels-et-machine"><summary>Logiciels et machines utilisés</summary>

<details><summary>Openscad</summary>

Il s'agit du logiciel sur lequel nous avons passé le plus de temps. Il permet de créer, visualiser et exporter au bon format les objets à imprimer. C'est à dire qu'il conçoit les fichiers stl pour les imprimantes 3D. Pour cela, il faut rentrer, sous forme de code les instructions. Il existe une page dans le mode d'emploi du logiciel avec des aides pour débutants "[cheatsheet](https://openscad.org/cheatsheet/index.html)".

Openscad marche sous la forme d'un éditeur de code. Le langage utilisé est C++.Il permet aussi de faire des vrais programmes avec des boucles, des fonctions mathématiques, etc... mais nous n'avons pas eu besoin d'utiliser cet aspect du logiciel.

</details><details><summary>IdeaMaker</summary>

Il s'agit de l'un des deux logiciels d'adaptation des fichiers stl pour les imprimantes. Celui-ci est gratuit ainsi que développé par la société ayant fourni le Fablab prototypage. Il doit être utilisé pour les imprimantes en 3D PLA.

Lorsque le fichier stl est créé, il faut ensuite, le rendre compatible avec l'imprimante. Le logiciel connait les dimensions de celle-ci afin de ne pas dépasser de l'imprimante. Ensuite, il faut réarranger sur le plateau la disposition des modèles pour éviter les chevauchements notamment. Parfois l'ajout de support est nécessaire pour maintenir la pièce. Comme les imprimantes n'utilisent qu'un seul fil continu, il est important de veiller à toutes ses œuvres. Si l'une est ratée, l'erreur se propage partout. Par défaut, les pièces sont imprimées sur un socle. En fonction de la solidité de celles-ci, de leur taille et de leur forme, il est possible d'adapter son socle. Ce logiciel permet aussi de redimensionner les impressions pour gagner du temps ou pour respecter les dimensions de l'imprimante. Enfin, il permet de choisir la qualité de son impression. En effet, en PLA, plusieurs qualités sont disponibles. Elles sont à choisir en fonction du temps disponible puisqu'elles n'agissent que sur le diamètre du fil utilisé. Une meilleure impression aura un film plus petit. Cela peut également jouer sur le remplissage de la pièce afin de la rendre plus lourde ou plus solide.

</details><details><summary>Impression 3D en PLA</summary>

Les imprimantes ayant servi à créer les modèles d'entrainements sont des imprimantes Raise3D Pro 2 (FDM). Elles fonctionnent avec le dépôt d'un filament, de l'acide polylactique pour nous.

Une fois le modèle créé avec Openscad et adapté à l'aide d'IdeaMaker, l'imprimante peut faire son œuvre.

Afin d'augmenter les chances de réussir l'impression, il est vivement conseillé de surveiller le début d'impression de l'objet souhaité. Le PLA est disponible en plusieurs couleurs, et si le projet l'avait nécessité, nous aurions pu utiliser d'autres matières. Il est à noter que des impressions échouent régulièrement. Tout d'abord, il y a une légère dilatation du filament parfois. Ensuite, si les modèles n'ont pas été bien préparés, s'ils sont trop proches ou les supports mal mis, toute l'impression sera à refaire. Ainsi, il faut être patient pour utiliser ce matériel qui, bien que très pratique, reste capricieux.

</details><details><summary>Impression 3D en résine</summary>

Les systèmes cristallins avec symétries ont été imprimés à l'imprimante résine ELEGOO Saturn. Cette méthode d'impression a l'avantage d'imprimer précisément des objets avec des formes complexes.

L'imprimante fonctionne en exposant la résine liquide photosensible couche par couche à un faisceau laser d'ultraviolets (UV). Au contact des l'UV, la résine se solidifie pour former le modèle souhaité. Il faut noter que l'impression résine requière un traitement une fois les objets imprimés. En effet, si ce traitement n'est pas réalisé rapidement, les résidus de résine inutilisés continuent de polymériser dans le bac d'impression, ce qui abime le matériel.

Il faut également veiller à mettre un peu plus de résine dans le bac d'impression que le volume indiqué par Chitubox afin d'être sûr que les objets soient imprimés entièrement.

</details><details><summary>Découpeuse vinyle</summary>

Plotter de découpe Graphtec Cutting Pro série 9000

Il s'agit de l'appareil le moins facile d'utilisation. Il nous a fallu près d'un mois pour comprendre que seul les MacBook fonctionnaient dessus.

En temps normal, il faut tout d'abord disposer son film dans l'appareil puis ajuster les têtes servant à le maintenir. Ensuite, il faut définir la zone de démarrage pour la découpe. Il suffit, dans la théorie, de brancher son ordinateur avec le logiciel Graphtec Studio pour faire le dessin de la découpe et l'envoyer à la machine. Après, on récupère le film découpé. Il faut noter que la force et la vitesse de la lame doivent être réglées en amont afin de ne pas abimer le film. D'ailleurs, pour le notre, tout le papier ne devait pas être tranché. Juste la partie supérieure. Ensuite, il faut le décoller de la partie protectrice du film et enfin faire la pose.

</details><details><summary>Cutter à ultra-sons</summary>

C'est un couteau amélioré. La lame envoie des ondes ultra-sons permettant une découpe sans forcer sur des surfaces peu pratiques à découper avec un cutter classique. Cependant, l'appareil chauffe très vite, il ne faut pas laisser la lame active trop longtemps. De même, il faut faire attention puisqu'il coupe des matériaux résistants comme le métal.

</details><details><summary>Chitubox</summary>

Chitubox est un logiciel d'adaptation des fichiers stl pour les impressions 3D en résine. C'est un slicer qui permet de convertir un fichier stl en une série de fines couches lisibles par l'imprimante ELEGOO Saturn.

Sur le même principe que le logiciel IdeaMaker, il permet de générer des supports pour maintenir les objets pendant l'impression. Le logiciel renseigne des dimensions de l'imprimante afin que nos modèles soient bien positionnés sur la plateau d'impression. Il est également possible de modifier le temps d'exposition de chaque couche à l'UV.

Cependant, à la différence d'IdeaMaker, il est important d'incliner les objets à imprimer afin que le moins de surface de l'objet ne touche le support d'impression. En effet, plus la surface de contact entre l'objet et le plateau est grande et plus il sera difficile de décoller les pièces et par conséquent plus il sera facile de les abimer.

</details><details><summary>Graphtec Studio</summary>

C'est le logiciel permettant de créer les formes pour la découpeuse vinyle. Il s'agit de dessin vectoriel. Le logiciel est pratique d'utilisation et intuitif. Il suffit ensuite de relier son ordinateur à la découpeuse pour obtenir le rendu souhaité. Il est possible de régler dessus les caractéristiques de force, vitesse et profondeur de la lame par l'intermédiaire de ce logiciel en fonction du film inséré.

</details><details><summary>Microscope Keyence</summary>

C'est un microscope de recherche utilisé par M. Labrousse dans le cadre de son travail. Il nous a permis de visualiser les impressions résines et de faire des topographies. Il est relié à un ordinateur et il est presque entièrement contrôlé par celui-ci. Il est plus puissant que les microscopes traditionnels puisque sa résolution est de l'ordre du micromètre.

</details></details>##### **VI- Bibliographie**  


Cours en ligne de cristallographie géométrique : [SYMCRIS](https://moodle-sciences-22.sorbonne-universite.fr/course/view.php?id=2025)  
Cours de Matériaux inorganiques [LU3CI013](https://moodle-sciences-22.sorbonne-universite.fr/course/view.php?id=763#section-0)

##### **VII- Remerciements**

Nous tenons à remercier nos encadrants Monsieur LoÏc Labrousse et Monsieur Pierre Thery qui ont apporté leurs soutiens ainsi que leurs idées durant la réalisation de ce projet. Merci également à Monsieur Mathieu Chassé de nous avoir accordé sa confiance pour la réalisation de son projet. Sans oublier, l'équipe Fablab que nous remercions pour leurs aides et leurs conseils.

Cette UE Fablab, nous a permis de découvrir de nouvelles compétences scientifiques telles que la minéralogie et la cristallographie mais également des notions de programmation. Par ailleurs, ce projet nous a donné l'opportunité d'utiliser de nombreux logiciels (Chitubox, Ideamaker, Openscad) et machines de prototypage.   
Ces nouvelles compétences nous seront précieuses dans la poursuite de nos études ainsi qu'au cours de notre vie professionnelle.

</body>

# Expérience de Herschel

<div id="bkmrk-" style="color: #4e5b61; background-color: #ffffff; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"></div>**Lara et Louis vous présentent le wiki de leur projet, bonne lecture !**

[![image-1683130445767.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683130445767.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683130445767.png)![image-1683130541206.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683130541206.png)

#### 0 - <span style="text-decoration: underline;">Introduction</span>

 Pour commencer, nous allons présenter l'expérience d'Herschel. À travers cette expérience, William Herschel, un astronome allemand du 18ème siècle, va mettre en évidence le caractère plus énergétique des rayons infrarouges. En plaçant un prisme à la lumière du soleil et à l'aide de thermomètres placés au niveau des différentes couleurs, il va faire le constat suivant : plus on va vers le rouge plus la température est importante. De plus, il observe que plus loin du spectre, hors du visible, dans ce que l'on appelle aujourd'hui l'infrarouge, il enregistre aussi des températures plus élevées; constat qui va aider par la suite à la découverte des infrarouges.

![](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/embedded-image-d0vepzlc.png)

Voici grossièrement ce que l'on observe après une exposition prolongée aux deux extrémités du spectre. On note une différence de température mais au bout d'un certains temps d'exposition.

Le but de ce projet est de remettre au goût du jour cette expérience, avec comme objectif supplémentaire de pouvoir la présenter à la Fête de la Science. On avait donc un cahier des charges assez précis : Il faut la rendre pédagogique et facile à comprendre pour des non-initiés ou bien des futurs scientifiques, mais aussi simple à mettre en place, pratique et portable. Il est également important d'obtenir des résultats dans différents environnements, comme en extérieur et ce, peu importe les conditions météorologiques.

Tout d'abord, lors de la séance de choix des sujets, on a déjà pu commencer à discuter avec nos enseignants, Loic Labrousse et Pierre Thery pour prendre en main le sujet et nous aiguiller pour correctement mettre en place notre démarche scientifique. De plus, nous avons pris un rdv avec le chercheur ayant proposé le sujet, M. Ehouarn Millour, pour comprendre ce qu'il souhaitait faire et comment le réaliser.

Notre projet et ce wiki s'articulent de la façon suivante :

- Recherche sur le spectre et le support
- Comment prendre et analyser les données

Commençons donc avec la première partie sur le spectre et le support.

####  1 - <span style="text-decoration: underline;">Spectre et Support</span>

##### 1-a ) <span style="text-decoration: underline;">Le spectre</span>

 Dans un premier temps, il fallait faire apparaitre un spectre à l'aide d'un prisme et d'une source de lumière à l'infini, pour que la diffraction soit possible. Pour faire un rappel rapide d'optique : une source dite infinie est une source où tous les rayons sont parallèles et vont dans la même direction, ce qui est le cas du soleil car avec la distance ses rayons sont considérés comme tels. Pour reproduire cela, avec une source de lumière "classique", il faut une lentille convergente, connaitre son point focal et placer le prisme à cet endroit comme ci-dessous :

[![image-1683725225788.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683725225788.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683725225788.png)

Ensuite, la lumière passe dans le prisme et il décompose la lumière blanche en ses différentes composantes :

[![image-1683737671563.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683737671563.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683737671563.png)

Après quelques tentatives plus ou moins fructueuses, Pierre Thery nous a trouvé un projecteur avec tout le montage préinstallé ce qui nous a facilité la tâche. Ce projecteur constituera notre source de lumière pour la suite, mais il est bon de savoir créer un spectre avec des moyens plus simples en cas d'absence de ce genre de matériel.

C'est une lumière halogène qui émet dans toutes les longueurs d'ondes avec la répartition suivante :

[![image-1683903604960.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683903604960.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683903604960.png)

Après avoir comparé avec les autres types de lampe, la lampe halogène était la plus adéquate pour y voir des infrarouges, car ils y sont les plus présents et se rapprochent le plus de l'homogénéité de la lumière du soleil :

[![image-1683904126026.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683904126026.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683904126026.png)

En comparaison voici les spectres des spectres des LED "warm white" et "daylight"

![image-1683904208996.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683904208996.png)warm white

![image-1683904218054.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683904218054.png)daylight

##### 1-b) <span style="text-decoration: underline;">Le support</span>

 Pour la suite nous avons créé, à l'aide du logiciel de modélisation OpenScad, un support pour le prisme afin qu'il ne soit pas en contact du sol et qu'on puisse le manipuler à sa base sans y laisser de trace de doigt. Nous avons également modélisé une fente pour que la lumière soit encore plus concentrée. Ces objets ont ensuite été imprimé grâce aux imprimantes 3D présentes dans le FabLab de Jussieu. Dans le même temps, nous avons pris une plaque de plexiglass qui nous servira de support. À l'aide d'une découpeuse laser, nous l'avons découpé pour obtenir les dimensions désirées (40x40 cm). En outre, afin de visualiser correctement le spectre (le plexiglass n'étant pas un matériau optimal car transparent), nous avons choisi de coller dessus un vinyle blanc.

![image-1683726456398.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683726456398.png) Plaque de plexiglas avant recouvrement avec un vinyle blanc.

Pour que notre dispositif se maintienne correctement, nous avons aussi modélisé et imprimé des pieds capables de stabiliser la plaque de plexiglass :

![image-1680881045690.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1680881045690.png)

####  2 - <span style="text-decoration: underline;">Prise et analyse des données</span>

 Dans cette partie, l'idée était de remplacer les thermomètres utilisés par W. Herschel par des moyens plus modernes de prise de données, mais aussi de moderniser le support de lecture et de visualisation.

##### 2-a) <span style="text-decoration: underline;">Acquisition de la température</span>

 Tout d'abord il faut correctement placer les capteurs en accord avec ce que l'on doit mesurer. En effet, le premier problème était le suivant : où placer le capteur des infrarouges par rapport au reste du spectre ? Pour répondre à cette question, on utilise la loi de Bragg afin de déterminer l'endroit où les infrarouges sont au maximum, comme on le voit avec le schéma ci-dessous :

![image-1680882592311.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1680882592311.png)

Il faut placer notre capteur pour les infrarouges à 1,4 fois la distance du spectre. Ainsi, si l'on a un spectre de 10 cm de large, la zone où les infrarouges sont les plus présents se trouve à 14 cm du début du spectre (en partant du violet).

Dans l'optique de moderniser la prise de données, après discussion et recherches, nous nous sommes orientés vers des capteurs de température de type LM35DZ :

[![image-1683714878194.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683714878194.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683714878194.png)

Ce sont des capteurs de températures analogiques, fonctionnant entre 4 et 30 volts d'alimentations et ayant une précision de +/- 0.5°C à 25°C, mais pouvant mesurer des températures entre -55 et +150°C. Il dispose de plusieurs parties : un boitier noir, une broche +, une - et une sortie d'information :

![image-1683717188681.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683717188681.png)

Il mesure la température avec un capteur thermosensible dans son boitier noir et va ensuite transmettre une tension électrique qui sert d'information, avec le calibrage de 10 mV/K :

[![image-1683902677169.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683902677169.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683902677169.png)

Capteurs que vous pouvez trouver à l'adresse suivante :

[https://www.mouser.fr/ProductDetail/Texas-Instruments/LM35DZ-NOPB?qs=QbsRYf82W3F5RpWTxhXHxA%3D%3D](https://www.mouser.fr/ProductDetail/Texas-Instruments/LM35DZ-NOPB?qs=QbsRYf82W3F5RpWTxhXHxA%3D%3D)

Avec ces capteurs, il fallait de quoi traiter les données et les afficher. Nous avons pensé à une carte Arduino qui, avec un code informatique, récupère et affiche les données. Voici une photo pour se représenter la carte électronique :

[![image-1683715240391.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683715240391.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683715240391.png)

Pour que cela ait lieu, on doit réaliser un circuit électronique afin de connecter tous les capteurs à la carte.

En effet, comme on doit montrer la différence de température entre les rayons infrarouges et le reste du spectre, il faut placer plusieurs capteurs afin de mesurer les températures à différents endroits du spectre. Le placement des capteurs sur la plaque perforée a donc toute son importance. On a alors décidé de placer 6 capteurs qui vont nous renseigner sur les températures : de l'infrarouge, du rouge, du jaune, du bleu, du violet et enfin un témoin.

Passons donc à la réalisation du circuit.

##### 2-b) <span style="text-decoration: underline;">Circuit électronique</span>

 Après quelques recherches, on a utilisé une breadboard car elle a comme atout de pouvoir placer et retirer à notre bon vouloir les composants, ce qui va nous permettre de faire le circuit avant de le souder définitivement sur une plaque perforée. Effectivement, on n'est pas à l'abris de faire des erreurs de branchement mais surtout on peut aisément faire des essais de circuit, une découverte pour nous.

On a appris qu'il fallait les placer en dérivation, ce qui impliquait une sortie de données par capteur ainsi qu'une alimentation pour chacun et des condensateurs 100 nF pour ne pas surcharger le capteur.

Voici un schéma du montage réalisé sur fritzing, un logiciel de conception de circuit, avec :

- câbles bleus : sortie analogique (donnés)
- câbles rouges et noirs : alimentation ( + et - )
- composants bleus : condensateur
- composants noirs : capteur de température

[![image-1679062797665.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679062797665.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679062797665.png)

Ceci est un schéma, si l'on souhaite mettre plus de capteurs il faut simplement ajouter un autre en suivant la même mise en place. Cependant, si on en met trop il faudra ajouter une alimentation supplémentaire à la carte pour avoir assez de courant car il est branché en USB à l'ordinateur.

Il faut bien veiller à comment placer les capteurs dans le circuit car mal placé il chauffait beaucoup (quelques légères brûlures du bout du doigt ont été à déplorer) il faut donc bien respecter le sens du courant.

Pour faciliter la compréhension du circuit nous avons utilisé des fils blancs et noirs pour l'alimentation (respectivement + et -) et des fils de couleurs à l'image du placement des capteurs sur le spectre (fil rouge pour rouge...) pour directement savoir quel fil appartient à quel capteur.

Voici donc le montage avant soudure :

[![image-1680118890371.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1680118890371.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1680118890371.png)

##### 2-c) <u>Traitement des données (code)</u>

 Une fois le montage électronique réalisé, il faut que notre dispositif puisse récupérer et afficher les données. Pour cela, on utilise une carte Arduino qui exécute un code que l'on écrit, encore faut-il l'écrire. En effet, Arduino utilise le langage C++, un langage que nous ne maîtrisions pas au début de ce projet, ce qui a rendu la tâche un peu compliquée et qui nous a pris une bonne partie de notre temps. Avec l'aide de Loic Labrousse, Pierre Thery et de recherches sur internet, nous avons réussi à écrire un code fonctionnel.

Dans ce code, il fallait premièrement récupérer les données du capteur et les stocker dans des variables (une pour chaque température souhaitée). Deuxièmement, il fallait convertir la tension en température et enfin afficher les données sous forme de courbe. En effet, ce genre de figure est adéquat pour visualiser et comprendre rapidement les variations. Ici, ce qui est intéressant, c'est que l'on voit les courbes directement après la réception des données et donc on visualise les variations en temps réel.

<details id="bkmrk-programme-int-sensep"><summary>Code LM35DZ</summary>

<div style="color: #4e5b61; background-color: #ffffff; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #000000;">Ceci est un code qui fonctionne avec les capteurs LM35 de chez texas instrumental </span></div><div><span style="color: #000000;">avec une précision de +/- 0.5°C :</span></div></div><div>  
</div><div style="color: #4e5b61; background-color: #ffffff; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;">  
</div><div style="color: #4e5b61; background-color: #ffffff; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"><div style="color: #4e5b61; background-color: #ffffff; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensePin0 = A0;</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensePin1 = A1;</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensePin2 = A2;</span><span style="color: #95a5a6;"> //This is the Arduino Pin that will read the sensor output</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensePin3 = A3;</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensePin4 = A4;</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensePin5 = A5;</span></div>  
<div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensorInputIr;</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensorInputRouge;</span><span style="color: #95a5a6;"> //The variable we will use to store the sensor input</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensorInputJaune;</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensorInputVert;</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensorInputBleu;</span></div><div><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> sensorInputViolet;</span></div>  
<div><span style="color: #00979d;">double</span><span style="color: #4e5b61;"> tempIR;</span></div><div><span style="color: #00979d;">double</span><span style="color: #4e5b61;"> tempRouge;</span><span style="color: #95a5a6;"> //The variable we will use to store temperature in degrees.</span></div><div><span style="color: #00979d;">double</span><span style="color: #4e5b61;"> tempJaune;</span></div><div><span style="color: #00979d;">double</span><span style="color: #4e5b61;"> tempVert;</span></div><div><span style="color: #00979d;">double</span><span style="color: #4e5b61;"> tempBleu;</span></div><div><span style="color: #00979d;">double</span><span style="color: #4e5b61;"> tempViolet;</span></div>  
<div><span style="color: #00979d;">void</span><span style="color: #4e5b61;"> </span><span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span><span style="color: #4e5b61;"> </span><span style="color: #434f54;">{</span></div><div><span style="color: #95a5a6;"> // put your setup code here, to run once:</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">begin</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">9600</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span><span style="color: #95a5a6;"> //Start the Serial Port at 9600 baud (default)</span></div>  
<div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin0, INPUT</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin1, INPUT</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin2, INPUT</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin3, INPUT</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin4, INPUT</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin5, INPUT</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #434f54;">}</span></div><div><span style="color: #00979d;">void</span><span style="color: #4e5b61;"> </span><span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span><span style="color: #4e5b61;"> </span><span style="color: #434f54;">{</span></div><div><span style="color: #95a5a6;"> // put your main code here, to run repeatedly:</span></div><div><span style="color: #4e5b61;"> sensorInputIr = </span><span style="color: #d35400;">analogRead</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin0</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> sensorInputRouge = </span><span style="color: #d35400;">analogRead</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin1</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> sensorInputJaune = </span><span style="color: #d35400;">analogRead</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin2</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> sensorInputVert = </span><span style="color: #d35400;">analogRead</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin3</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span><span style="color: #95a5a6;"> //read the analog sensor and store it</span></div><div><span style="color: #4e5b61;"> sensorInputBleu = </span><span style="color: #d35400;">analogRead</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin4</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> sensorInputViolet = </span><span style="color: #d35400;">analogRead</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">sensePin5</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div>  
  
  
  
<div><span style="color: #4e5b61;"> tempIR = </span><span style="color: #434f54;">(</span><span style="color: #00979d;">double</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">sensorInputIr /</span><span style="color: #005c5f;">1024</span><span style="color: #4e5b61;"> ; </span></div><div><span style="color: #4e5b61;"> tempRouge = </span><span style="color: #434f54;">(</span><span style="color: #00979d;">double</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">sensorInputRouge /</span><span style="color: #005c5f;">1024</span><span style="color: #4e5b61;"> ;</span><span style="color: #95a5a6;"> //find percentage of input reading</span></div><div><span style="color: #4e5b61;"> tempJaune = </span><span style="color: #434f54;">(</span><span style="color: #00979d;">double</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">sensorInputJaune /</span><span style="color: #005c5f;">1024</span><span style="color: #4e5b61;"> ; </span></div><div><span style="color: #4e5b61;"> tempVert = </span><span style="color: #434f54;">(</span><span style="color: #00979d;">double</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">sensorInputVert / </span><span style="color: #005c5f;">1024</span><span style="color: #4e5b61;">; </span></div><div><span style="color: #4e5b61;"> tempBleu = </span><span style="color: #434f54;">(</span><span style="color: #00979d;">double</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">sensorInputBleu / </span><span style="color: #005c5f;">1024</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> tempViolet = </span><span style="color: #434f54;">(</span><span style="color: #00979d;">double</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">sensorInputViolet / </span><span style="color: #005c5f;">1024</span><span style="color: #4e5b61;">;</span></div>  
  
<div><span style="color: #4e5b61;"> tempIR = tempIR \* </span><span style="color: #005c5f;">5</span><span style="color: #4e5b61;">\*</span><span style="color: #005c5f;">100</span><span style="color: #4e5b61;">;</span><span style="color: #95a5a6;"> //multiply by 5V to get voltage</span></div><div><span style="color: #4e5b61;"> </span></div><div><span style="color: #4e5b61;"> </span></div><div><span style="color: #4e5b61;"> tempRouge = tempRouge \* </span><span style="color: #005c5f;">5</span><span style="color: #4e5b61;">\*</span><span style="color: #005c5f;">100</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span></div>  
<div><span style="color: #4e5b61;"> tempJaune = tempJaune \* </span><span style="color: #005c5f;">5</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> tempJaune = tempJaune \* </span><span style="color: #005c5f;">100</span><span style="color: #4e5b61;">;</span></div>  
<div><span style="color: #4e5b61;"> tempVert = tempVert \* </span><span style="color: #005c5f;">5</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> tempVert = tempVert \* </span><span style="color: #005c5f;">100</span><span style="color: #4e5b61;">;</span></div>  
<div><span style="color: #4e5b61;"> tempBleu = tempBleu \* </span><span style="color: #005c5f;">5</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> tempBleu = tempBleu \* </span><span style="color: #005c5f;">100</span><span style="color: #4e5b61;">;</span></div>  
<div><span style="color: #4e5b61;"> tempViolet = tempViolet \* </span><span style="color: #005c5f;">5</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> tempViolet = tempViolet \* </span><span style="color: #005c5f;">100</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span></div>  
<div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"tempIR: "</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">println</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">tempIR</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"tempRouge:"</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">println</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">tempRouge</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"tempJaune:"</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">println</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">tempJaune</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"tempVert:"</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">println</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">tempVert</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"tempBleu:"</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">println</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">tempBleu</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"tempViolet:"</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">Serial</span><span style="color: #4e5b61;">.</span><span style="color: #d35400;">println</span><span style="color: #434f54;">(</span><span style="color: #4e5b61;">tempViolet</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div><div><span style="color: #4e5b61;"> </span></div><div><span style="color: #4e5b61;"> </span><span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span><span style="color: #4e5b61;">;</span></div>  
<div><span style="color: #95a5a6;"> /\*Serial.print(tempIR);</span></div><div><span style="color: #95a5a6;">Serial.print(" ");</span></div><div><span style="color: #95a5a6;">Serial.print(tempRouge);</span></div><div><span style="color: #95a5a6;">Serial.print(" ");</span></div><div><span style="color: #95a5a6;">Serial.print(tempJaune);</span></div><div><span style="color: #95a5a6;">Serial.print(" ");</span></div><div><span style="color: #95a5a6;">Serial.print(tempVert);</span></div><div><span style="color: #95a5a6;">Serial.print(" ");</span></div><div><span style="color: #95a5a6;">Serial.print(tempBleu);</span></div><div><span style="color: #95a5a6;">Serial.print(" ");</span></div><div><span style="color: #95a5a6;">Serial.print(tempViolet);</span></div><div><span style="color: #95a5a6;">Serial.println();</span></div><div><span style="color: #95a5a6;">delay (1000);\*/</span></div><div><span style="color: #434f54;">}</span></div>  
</div></div><div style="color: #4e5b61; background-color: #ffffff; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;">  
</div><div style="color: #4e5b61; background-color: #ffffff; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;">  
</div></details>Voici une photo des courbes que nous avons obtenues avec ce code :

[![image-1680278521295.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1680278521295.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1680278521295.png)

Cependant la précision n'était pas suffisante pour voir la différence de température comme on le voit sur la photo. De plus, les courbes se coupent beaucoup trop pour avoir un résultat satisfaisant. Nous avons donc chercher d'autres types de capteurs et en avons trouvé avec le même fonctionnement mais plus précis : le LMT86LP avec une précision de +/- 0.25°C à 25°C.

On a refait un code car le traitement est différent, notamment la conversion tension / température, mais, pris par le temps et la capacité à refaire un code rapidement, nous n'avons pas pu le finir.

<details id="bkmrk-code-lmt86lp-voici-i"><summary>Code LMT86LP</summary>

Voici ici le code qui sera retravaillé car ne fonctionne pas correctement actuellement. (un problème au niveau de la fin et du plot, les valeurs de températures sont pourtant correctes) :

<div><div>// création des variables qui vont stocker la sortie du capteur</div>  
<div>// initialisation des pins de sortie</div><div>int IR = A0;</div><div>int Rouge = A1;</div><div>int Vert = A2;</div><div>int Violet = A3;</div><div>int UV = A4;</div><div>int Tt = A5;</div>  
<div>int TempReadIR = 0;</div><div>int TempReadR = 0;</div><div>int TempReadVert = 0;</div><div>int TempReadV = 0;</div><div>int TempReadUV = 0;</div><div>int TempReadT = 0;</div>  
<div>int TemperatureIR = 0 ;</div><div>int TemperatureR = 0 ;</div><div>int TemperatureVert = 0;</div><div>int TemperatureV = 0;</div><div>int TemperatureUV = 0 ;</div><div>int TemperatureT = 0;</div>  
  
<div>double TIR;</div><div>double TR;</div><div>float TVE;</div><div>float TV;</div><div>float TUV;</div><div>float T ;</div>  
<div>// double = float, pareil creation de variable</div>  
<div>float voltage = 0;</div>  
<div>// setup : mise en place des sorties et des configurations</div><div>void setup()</div><div>{</div><div> Serial.begin(9600); // initie la communication avec le serial monitor</div><div> // on se place à 9600 bauds, la sortie de bits/s ( jsp ca change quoi mais si on met autre chose ca fonctionne plus)</div>  
<div> pinMode(IR, INPUT);</div><div> pinMode(Rouge, INPUT);</div><div> pinMode(Vert, INPUT);</div><div> pinMode(Violet, INPUT);</div><div> pinMode(UV, INPUT);</div><div> pinMode(T, INPUT);</div>  
<div> </div><div> </div><div>}</div><div>// loop = ce qui va se répéter </div><div>void loop()</div><div>{</div><div> // ceci sont les transformations des donnés de voltage en température ainsi que les prints pour faire apparaitre</div><div> // sur le monitor ou le plotter </div>  
<div> // exemple de lecture de donnée du capteur analogique (1) et de la conversion en température (2)</div><div> TempReadIR = analogRead(IR); // (1)</div><div> TIR = (426.0 - TempReadIR) / 2.14; // (2)</div><div> </div><div> // la converstion était de (420 - T)/2.206 mais celle la fonctionne mieux</div>  
<div> Serial.print("Temperature IR is ");</div><div> Serial.print(TIR);</div><div> Serial.println("°C");</div>  
<div> </div>  
<div> </div><div> TempReadR = analogRead(Rouge);</div><div> TR = (426.0 - TempReadR) / 2.14;</div><div> Serial.print("Temperature Rouge is ");</div><div> Serial.print(TR);</div><div> Serial.println("°C");</div>  
<div> </div>  
<div> TempReadVert = analogRead(TVE);</div><div> TVE = (426.0 - TempReadVert) / 2.14;</div><div> Serial.print("Temperature TVE is ");</div><div> Serial.print(TVE);</div><div> Serial.println("°C");</div>  
<div> TempReadV = analogRead(Violet);</div><div> TV = (426.0 - TempReadV) / 2.14;</div><div> Serial.print("Temperature V is ");</div><div> Serial.print(Violet);</div><div> Serial.println("°C");</div>  
<div> </div>  
<div> TempReadUV = analogRead(UV);</div><div> TUV = (426.0 - TempReadUV) / 2.14;</div><div> Serial.print("Temperature UV is ");</div><div> Serial.print(TUV);</div><div> Serial.println("°C");</div>  
<div> TempReadT = analogRead(Tt);</div><div> T = (426.0 - TempReadT) / 2.14;</div><div> Serial.print("Temperature T is ");</div><div> Serial.print(T);</div><div> Serial.println("°C");</div>  
  
<div> </div>  
<div> // le delay est le temps en millisecondes entre chaque mesure (à modifier si nécessaire, en fonction de ce que l'on veut faire)</div><div> delay(3000);</div><div>}</div></div></details><div id="bkmrk-si-vous-souhaitez-co"><div>Si vous souhaitez convertir les degrés Celsius en Farenheit et l'afficher aussi, ajoutez simplement ces lignes de code :</div>  
<div> Temperature = (Temperature * 9.0 / 5.0) + 32;</div><div> Serial.print("The temperature is ");</div><div> Serial.print(int(Temperature));</div><div> Serial.println("F"); */</div></div>#### 3 - <span style="text-decoration: underline;">Mise en place finale</span>

Pour rendre le tout plus propre, et une fois qu'on était sûrs que le circuit soit le bon, nous avons soudé le tout sur une plaque perforée avec le schéma suivant :

![image-1683742042047.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683742042047.png)photo d'une plaque perforée

![thumbnail_IMG_0938.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/thumbnail-img-0938.jpg)

La soudure s'est avérée plus compliquée car cela faisait un certain temps que nous n'en avions pas faite et il ne fallait pas que les soudures se touchent sinon cela induirait un court circuit.

De plus pour ajouter un côté esthétique nous avons fait un design de logo pour identifier notre expérience et y placer le logo du FabLab, et le nom de Sorbonne Université. A l'aide du logiciel Inkscape, nous avons créé et vectorisé le dessin du logo ci-dessous et, avec une découpeuse laser qui sert aussi à la gravure, nous avons apposé le logo sur une plaquette de bois.

![image-1680880985449.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1680880985449.png)

Nous avons collé un vinyle noir par dessus et fait des trous pour faire passer les capteurs car on trouvait cela plus propre que la plaque orange. Ainsi, une fois le spectre réalisé, le support monté et la plaque prête, voici notre montage final :

![](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/embedded-image-xoq65dbi.png)

De plus, pour rendre l'information accessible facilement, nous avons fait un QR code, qui sera collé sur le montage, menant à cette page si des curieux veulent toutes les informations :

[![image-1683903115123.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/image-1683903115123.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/image-1683903115123.png)

##### <span style="text-decoration: underline;">Journal de bord</span>

Pour bien se rendre compte de notre avancée au cours du semestre, voici notre journal de bord retraçant notre parcours avec nos réussites et échecs. Il a été écrit semaine après semaine en fin de séance par nos soins avec le plus de précision possible.

<details id="bkmrk-journal-de-bord-sema"><summary>Journal de bord</summary>

**<span style="color: #000000;">Semaine 0 :</span>**

Présentation des différents sujets, des locaux, des enjeux. Choix de notre sujet.

Première prise de contact avec le chercheur Ehouarn Millour du LMD IPSL. Travail personnel de recherches d'informations en lien avec le sujet (contexte, gamme de valeurs sur les températures et sur les longueurs d'onde), premiers schémas.

**Semaine 1 :**

Premier rendez-vous avec Monsieur Millour : présentation du cahier des charges :

Objectif : refaire l'Expérience de Herschel dans le but de la présenter à la Fête de la Science.

Présentation du matériel déjà à disposition (lampe + ampoule halogène 50W, 1 prisme normal, 1 prisme grand)

Premières ébauches de réflexion quant aux enjeux : la lampe? comment récupérer la température? la traiter? le prisme de diffraction est-il exploitable?

Recherche de capteurs de températures au Fablab.

Expérimentation de l'Arduino et des thermocouples pour la récupération de données sur l'ordinateur, réalisation d'une courbe de donnée brute pour visualiser les variations de température. Afin de récupérer la température, on pense à une barre en plexiglass où les thermocouples vont être placés.

Réalisation des premières expériences avec le prisme et observation des spectres de diffraction : résultats peu concluants : spectres non exploitables : trop diffus, la lumière se recompose en lumière blanche : aucune précision dans le spectre.

On prévoit 8 thermocouples (violet, bleu, vert, jaune, orange, rouge, IR, témoin) ou capteurs de températures.

Prochainement :

\- posséder un condensateur optique

\- refaire l'expérience plus précisément

\- essayer de former notre Arduino

\- comparer avec un réseau pour voir si c'est mieux qu'un prisme

**Semaine 2 :**

Premiers pas et apprentissage du logiciel Openscad :

Conception d'un support du prisme sur ce logiciel

Mise en place de l'expérience approfondie, test des différents prismes et des lampes : lampes fournies/projecteurs

Exemples de test de diffraction pour placer les thermo-couples

Recherche d'une lentille auprès de JP Ferreira

Prochainement :

\- imprimer en 3D le support du prisme

\- avancer les recherches personnelles sur les lampes et prismes

**Semaine 3 :**

Obtention d'un spectre lumineux exploitable pour l'expérience, il était beau.

Réalisation d'une fente sur le logiciel OpenScad et test d'impression 3D dans la salle Image. Test infructueux --&gt; Direction Fablab bâtiment Esclangon pour une nouvelle impression 3D. <span style="text-decoration: underline;">Durée</span> : environ 1h15. <u>Coût</u> : 0,64€. <u>Poids</u> : 21,3g.

Recherche internet des thermocouples afin de faire des tests : voir si on détecte une variation de température significative.

**Semaine 4 :**

Première utilisation de notre super fente malheureusement elle semble trop petite : elle atténue trop la lumière et donc le spectre. On va donc garder notre "rond" qui est, on vient de l'apprendre, un embout de tuyau imprimé en 3D pour l'expérience de DARCY. On a ensuite fait des tests de prise de température avec les thermocouples et un code Arduino qui s'est avéré plus compliqué que prévu. En effet, le code a fonctionné au départ puis mystérieusement plus du tout; problème que l'on essaye de régler en ce moment avec l'aide de Loïc et Pierre.

On a ensuite lancé l'impression de notre 2ème pièce d'orfèvrerie en impression 3D : un support pour notre prisme pour ne pas l'endommager plus que de raison. <span style="text-decoration: underline;">Durée</span> : 1h17. <span style="text-decoration: underline;">Cout</span> : 0,37€. <span style="text-decoration: underline;">Poids</span> : 12g.

En somme une semaine mouvementée.

Prochainement :

\- se renseigner sur les arduinos et les ThC, les commander. Trouver tuto pour faire un code correct qui marche.

recherche internet et lien :

[https://www.mesurex.fr/non-classe/comment-choisir-son-thermocouple/](https://www.mesurex.fr/non-classe/comment-choisir-son-thermocouple/)

[https://learn.adafruit.com/thermocouple/wiring-a-thermocouple](https://learn.adafruit.com/thermocouple/wiring-a-thermocouple)

[https://forum.arduino.cc/t/question-sonde-thermocouple-et-larduino/130848/9](https://forum.arduino.cc/t/question-sonde-thermocouple-et-larduino/130848/9)

[https://www.tcsa.fr/thermocouples/thermocouple-patch.html](https://www.tcsa.fr/thermocouples/thermocouple-patch.html)

**Semaine 5 :**

Récapitulatif des choses à faire :

\- acheter 8 thermocouples DEMANDER A PIERRE

\- trouver un écran en plexiglass noir (Fablab) / y faire 8 trous

\- s'occuper de la partie électronique

**Semaine 6 :**

thermocouple et voir s'il faut un amplifier

http://emery.claude.free.fr/arduino-capteur-temperature.html/

[https://www.carnetdumaker.net/images/montage-de-lexemple-arduino-lm35/](https://www.carnetdumaker.net/images/montage-de-lexemple-arduino-lm35/)

https://www.raspberryme.com/guide-des-capteurs-de-temperature-lm35-lm335-et-lm34-avec-arduino/

<span style="text-decoration: underline;">Commande de capteurs de températures LM35</span>

Le capteur de température LM35 est un capteur analogique de température fabriqué par Texas Instruments. Il est extrêmement populaire en électronique, car précis, peu couteux, très simple d'utilisation et d'une fiabilité à toute épreuve.

Le capteur de température LM35 est capable de mesurer des températures allant de -55°C à +150°C dans sa version la plus précise et avec le montage adéquat, de quoi mesurer n'importe quelle température.

La sortie analogique du capteur est proportionnelle à la température. Il suffit de mesurer la tension en sortie du capteur pour en déduire la température. Chaque degré Celsius correspond à une tension de +10mV.

La version plus précise du LM35 (nommée "LM35A") a une précision garantie de +/-0.5°C à 25°C et +/-1°C à -55°C ou +150°C.

Le capteur LM35 fonctionne avec n'importe quelle tension d'alimentation comprise entre 4 volts et 30 volts, ce qui permet de l'utiliser dans virtuellement n'importe quel montage numérique ou analogique. Le capteur LM35 ne fonctionne pas en dessous de 4 volts, donc oubliez l'utilisation d'un LM35 avec des cartes Arduino 3.3 volts (Due, Zero, etc), sans alimentation 5 volts externe, ça ne marche pas.

<span style="text-decoration: underline;">Mise en évidence rapide des variations de température à l'aide d'un thermomètre classique </span>:

[![image-1678461895957.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1678461895957.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1678461895957.png)[![image-1678461913463.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1678461913463.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1678461913463.png)

On voit que la température est plus élevée sur la photo de gauche (quand la température est mesurée dans le rouge), et plus basse dans la photo de droite (dans le violet).

<span style="text-decoration: underline;">Préparation du montage avec tous les composants nécessaires sauf les capteurs de températures LM35DZ </span>:

\- condensateur 100 nF

\- breadboard + fils

\- carte Arduino Méga

[![image-1678462053060.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1678462053060.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1678462053060.png)

Il reste à déterminer si l'on réalise un montage en série ou en dérivation. Si dérivation, besoin de 8 condensateurs.

Nous avons été cherché au Fablab : 8 condensateurs et un breadboard.

Référence capteurs à commander :

[https://fr.rs-online.com/web/p/capteurs-de-temperature-et-d-humidite/8115595](https://fr.rs-online.com/web/p/capteurs-de-temperature-et-d-humidite/8115595)

**Semaine 7 :**

On a commandé les thermocouples et on les attend. En attendant, on voit pour le circuit imprimé et on répond à Claude.

On associe chaque couleur du spectre à un câble de cette même couleur.

On a vu qu'il fallait mettre tout les capteurs en dérivation ce qui complexifie le câblage mais rend le traitement de données plus simple.

source :

[https://forum.arduino.cc/t/multi-sensor-lm35/584761](https://forum.arduino.cc/t/multi-sensor-lm35/584761)

[![image-1679062797665.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679062797665.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679062797665.png)

La partie du LM35DZ qui détecte la température est appelée "élément sensible", il s'agit d'une petite puce située au centre du boitier en plastique noir.

Nous avons ensuite réfléchi sur l’esthétique du support : les composants seront exposés face visible pour rendre les explications plus faciles et pédagogiques. Ils seront collés sur une plaque de plexiglass avec une gravure de nos prénoms pour les royalties, ainsi que le logo Fablab et celui de SU. De plus, il faut que nous réalisions un support pour maintenir la plaque de plexi à la verticale pour plus de confort.

Après avoir fait les tests sur breadboard, nous allons réaliser notre propre circuit imprimé qu'on devra réaliser et souder nous-même.

**Semaine 8 :**

On n'a toujours pas reçu les thermocouples. La première commande n'a pas abouti donc il a fallu en faire une deuxième.

Aujourd'hui, on va s'occuper de la plaque de plexiglass, la couper aux bonnes dimensions si besoin et aussi réaliser son support.

On a été chercher la plaque qu'on a ensuite découpé au laser aux dimensions 40x40 cm. On a modélisé les pieds de support et notre logo.

[![image-1680274030002.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1680274030002.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1680274030002.png)

Prochainement : imprimer le support et la gravure de notre logo.

**Semaine 9 :**

<span style="text-decoration: underline;">Mercredi :</span>

On a reçu les thermocouples. On a pu réaliser le montage du câblage (voir photo). Malheureusement, après de nombreuses tentatives d'écritures du codage Arduino, on ne parvient pas à en trouver un qui fonctionne.

[![image-1680118890371.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1680118890371.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1680118890371.png)

On a également fini de designer notre logo (voir photo)

[![image-1680273744487.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1680273744487.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1680273744487.png)

On va maintenant aller lancer la gravure de notre logo et imprimer les supports de notre plaque.

<span style="text-decoration: underline;">Jeudi : </span>

On est parti graver notre logo mais on va le refaire car il ne nous convenait pas parfaitement. On a aussi lancé l'impression de nos supports pour tenir notre plaque de plexi mais elle a échoué, nous allons donc devoir en relancer une autre.

![image-1680273487304.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1680273487304.png)*Echec de l'impression des supports de la plaque...*

<span style="text-decoration: underline;">Vendredi : </span>

Avec Loic et Pierre, nous avons mis beaucoup de temps avant de réaliser un code qui fonctionne. En effet, on pensait que notre montage manquait d'une résistance (même deux), que la carte Arduino MEGA 2560 ne marchait pas, ou encore qu'il y avait un problème dans les branchements des fils alors qu'en réalité, le problème venait seulement du monitor.

Nous avons choisi un code écrit par Claude (cf Le Blog de Claude) mais il est valable que pour un capteur donc nous devons le modifier pour qu'il nous renseigne les températures de nos 6 capteurs.

On a été réalisé une deuxième fois notre gravure qui est meilleure.

On a été voir Stéphane au Fablab pour nous aider à corriger notre code Arduino. Au final, c'est avec l'aide du directeur du Fablab qu'on a pu trouver notre erreur et avoir un code qui marche. Notre erreur venait du fait que l'on avait placé nos thermocouples sur tout le long de la breadboard, en oubliant que celle-ci était divisée en deux au milieu, séparant ainsi le circuit électrique en deux. Le directeur nous a aussi écrit une partie du code permettant de visualiser les courbes de températures. Donc un grand merci à Christian Simon.

[![image-1680278508591.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1680278508591.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1680278508591.png)[![image-1680278521295.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1680278521295.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1680278521295.png)

**Semaine 10 :**

Après deux tentatives, on a finalement, au bout de la troisième fois, réussi à graver un logo qui nous convient, avec les bonnes dimensions et le bon matériau.

![image-1680880907309.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1680880907309.png) *2 tentatives ratées : 1 trop grande et 1 avec un contraste de couleur trop faible*

![image-1680880985449.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1680880985449.png) *Réussite !*

Après l'échec de la semaine passée, on a aussi finalement réussi à imprimer les pieds de support de notre plaque !

[![image-1680881034851.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1680881034851.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/image-1680881034851.png)![image-1680881045690.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1680881045690.png) *Les supports de notre plaque*

"L’infrarouge, d’un autre côté, est un rayon physique caractérisé par une action de chaleur intense et une faible énergie."

"Plus la longueur d’onde IR est courte, plus le radiateur IR est « chaud » et plus sa chaleur est « transmissive », ce qui signifie qu’il peut parcourir de plus grandes distances dans des « faisceaux » plus étroits."

La lampe du projecteur (notre source de lumière) est une lampe halogène, ce qui convient le mieux pour avoir une maximum de rayonnement infrarouge.

![image-1680879802992.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1680879802992.png)

*Spectre d’une lampe halogène. Il présente une courbe régulière avec une forte proportion de rouge: la température de couleur se situe entre 2800 et 3000°K (lumière chaude). La lampe émet beaucoup de chaleur (rayonnement infrarouge = IR).*  
*Le spectre d’une ampoule incandescente classique est similaire, avec un décalage un peu plus marqué vers le rouge. ([https://www.energie-environnement.ch/maison/eclairage-et-piles/1369](https://www.energie-environnement.ch/maison/eclairage-et-piles/1369))*

On veut maintenant savoir comment placer les capteurs de températures, c'est-à-dire à quelle distance les uns des autres et surtout pour capter le maximum de température dans le rayonnement IR. Pour cela, on utilise la loi de Bragg (2dsin**θ**=n**λ**) pour déterminer à quelle distance placer le capteur pour qu'il reçoive le maximum d'énergie thermique infrarouge.

![image-1680882592311.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1680882592311.png)*Calcul pour déterminer la distance couverte par le rayonnement IR le plus important. On en conclut que cette distance est 1,4 fois pour grande que celle couvrant le spectre du visible.*

Potentiel capteur plus précis mais plus cher :

+/- 0.1°C

[https://fr.farnell.com/ist-innovative-sensor-technology/tsic-501f-to92/capteur-de-temperature-10-a-60/dp/3879373](https://fr.farnell.com/ist-innovative-sensor-technology/tsic-501f-to92/capteur-de-temperature-10-a-60/dp/3879373)

[https://fr.farnell.com/ist-innovative-sensor-technology/tsic-503-to92-5v/capteur-temp-analogique-to92-3/dp/3587031](https://fr.farnell.com/ist-innovative-sensor-technology/tsic-503-to92-5v/capteur-temp-analogique-to92-3/dp/3587031)

[https://www.ist-ag.com/en/products/digital-temperature-sensor-ic-to93](https://www.ist-ag.com/en/products/digital-temperature-sensor-ic-to93)

+/- 0.25°C

[https://fr.farnell.com/texas-instruments/lmt86lp/temp-sensor-0-25-deg-c-to-92-3/dp/3124226RL](https://fr.farnell.com/texas-instruments/lmt86lp/temp-sensor-0-25-deg-c-to-92-3/dp/3124226RL)

**Semaine 11 :**

Les nouveaux capteurs ne sont pas arrivés.

On a décidé de prendre moins de capteurs mais de les placer à des endroits plus stratégiques : témoin, UV, violet, vert, rouge, IR.

On a été prendre une plaque perforée sur lequel faire notre circuit.

On y a placé les capteurs et les condensateurs.

![thumbnail_IMG_0938.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/thumbnail-img-0938.jpg)*Schéma de notre circuit*

faire le vinyle

faire le circuit

tester avec les nouveaux capteurs

**Semaine 12 :**

On a reçu les nouveaux capteurs de températures.

On a replacé les capteurs sur notre plaquette car le spectre fait maintenant 5 cm.

En effet, on a remarqué que le spectre était de meilleure qualité, c'est-à-dire que les couleurs étaient plus intenses si l'on réduisait la surface d'une face du prisme, on a donc placé une feuille noire sur la face en aval du prisme. Ça induit une réduction de largeur du spectre.

On a été mettre un vinyle blanc sur la plaque au Fablab avec l'aide d'Alexandre. On a utilisé la découpeuse vinyle.

On n'a pas réussi à faire fonctionner le code avec les nouveaux capteurs.

A faire : faire fonctionner le code et faire le circuit

**Semaine 13 :**

<u>Jeudi :</u>

On est venus pour finaliser le code, on n'arrive pas encore à afficher le plot.

On a également réalisé les soudures nécessaires pour notre circuit.

<span style="text-decoration: underline;">Vendredi :</span>

On a reconfectionné le circuit et mis le vinyle noir dessus et on y a fait des trous pour laisser passer les capteurs.

![image-1682692801193.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/image-1682692801193.png)*Aperçu du montage presque final*

</details>##### <span style="text-decoration: underline;">Remerciements</span>

Nous tenons à remercier dans un premier temps nos encadrants, Loic Labrousse et Pierre Thery qui ont été présents tout au long du semestre apportant conseils, suivis mais aussi une aide logistique pour l'accès aux différentes salles et pour les commandes de matériels.

Nous remercions également M.Ehouarn Millour qui a proposé ce sujet, dans le cadre de cette UE Atelier FabLab, qui nous a de suite intéressée.

Enfin, un grand merci à tout ceux qui ont participé, d'une part en nous prêtant du matériel mais aussi en nous apportant conseils et aide dans notre démarche :

- l'équipe du Fablab qui nous a montré comment utiliser les différentes machines et le prêt de certains composants
- Jean-Philippe Fereira pour les conseils en optique
- Stéphane Muller et Christian Simon pour l'aide sur le circuit et le code

##### <span style="text-decoration: underline;">Bibliographie</span>

Voici tous les liens qui nous ont aidé à mener à bien le projet, ainsi que des liens de commande de capteurs si vous le souhaitez :

<details id="bkmrk-bibliographie-https%3A"><summary>Bibliographie</summary>

[https://www.mesurex.fr/non-classe/comment-choisir-son-thermocouple/](https://www.mesurex.fr/non-classe/comment-choisir-son-thermocouple/)

[https://learn.adafruit.com/thermocouple/wiring-a-thermocouple](https://learn.adafruit.com/thermocouple/wiring-a-thermocouple)

[https://forum.arduino.cc/t/question-sonde-thermocouple-et-larduino/130848/9](https://forum.arduino.cc/t/question-sonde-thermocouple-et-larduino/130848/9)

[https://www.tcsa.fr/thermocouples/thermocouple-patch.html](https://www.tcsa.fr/thermocouples/thermocouple-patch.html)

[http://emery.claude.free.fr/arduino-capteur-temperature.html](http://emery.claude.free.fr/arduino-capteur-temperature.html)

[https://www.carnetdumaker.net/images/montage-de-lexemple-arduino-lm35/](https://www.carnetdumaker.net/images/montage-de-lexemple-arduino-lm35/)

[https://www.raspberryme.com/guide-des-capteurs-de-temperature-lm35-lm335-et-lm34-avec-arduino](https://www.raspberryme.com/guide-des-capteurs-de-temperature-lm35-lm335-et-lm34-avec-arduino)

[https://fr.rs-online.com/web/p/capteurs-de-temperature-et-d-humidite/8115595](https://fr.rs-online.com/web/p/capteurs-de-temperature-et-d-humidite/8115595)

[https://forum.arduino.cc/t/multi-sensor-lm35/584761](https://forum.arduino.cc/t/multi-sensor-lm35/584761)

[https://fr.farnell.com/ist-innovative-sensor-technology/tsic-501f-to92/capteur-de-temperature-10-a-60/dp/3879373](https://fr.farnell.com/ist-innovative-sensor-technology/tsic-501f-to92/capteur-de-temperature-10-a-60/dp/3879373)

[https://fr.farnell.com/ist-innovative-sensor-technology/tsic-503-to92-5v/capteur-temp-analogique-to92-3/dp/3587031](https://fr.farnell.com/ist-innovative-sensor-technology/tsic-503-to92-5v/capteur-temp-analogique-to92-3/dp/3587031)

[https://www.ist-ag.com/en/products/digital-temperature-sensor-ic-to93](https://www.ist-ag.com/en/products/digital-temperature-sensor-ic-to93)

[https://fr.farnell.com/texas-instruments/lmt86lp/temp-sensor-0-25-deg-c-to-92-3/dp/3124226RL](https://fr.farnell.com/texas-instruments/lmt86lp/temp-sensor-0-25-deg-c-to-92-3/dp/3124226RL)

[https://arduino.stackexchange.com/questions/13289/arduino-uno-with-lmt86lp-temperature-sensor](https://arduino.stackexchange.com/questions/13289/arduino-uno-with-lmt86lp-temperature-sensor)

[https://www.carnetdumaker.net/articles/mesurer-une-temperature-avec-un-capteur-lm35-et-une-carte-arduino-genuino/](https://www.carnetdumaker.net/articles/mesurer-une-temperature-avec-un-capteur-lm35-et-une-carte-arduino-genuino/)

[https://www.energie-environnement.ch/definitions/1369-spectre-lumineux-des-lampes-d-eclairage](https://www.energie-environnement.ch/definitions/1369-spectre-lumineux-des-lampes-d-eclairage)

</details>

# Casagrande - Boite de cisaillement

#### Informations :  


- Tenue du wiki : Pierre Thery &amp; Johane Dufour
- Contact : <johane.dufour@etu.sorbonne-universite.fr>
- Etudes : Licence 3 - Sciences de la Terre
- Date du projet : Juin 2024
- Encadrant : Pierre Thery

#### Sommaire : 

1. Introduction et objectif du projet
2. Matériel, machines et logiciels utilisés
3. Conception de la boîte de Casagrande + Codes OpenSCAD
4. Journal de Bord

---

#### 1. Introduction et objectif du projet

 L'objectif du projet est de reprendre la boîte de Casagrande utilisée les travaux pratiques de géotechnique/géophysique niveau L3. Elle permet de mesurer la résistance au cisaillement (cohésion C et angle de frottement interne Ф) et notamment pour un sable humide.

On reprend le projet précédent : [wiki:projet:casagrande \[FablabSU\]](https://wiki.fablab.sorbonne-universite.fr/wiki/doku.php?id=wiki:projet:casagrande)

[![Casa.nice.PNG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/casa-nice.PNG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/casa-nice.PNG)

[![Casagrandegif.gif](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/casagrandegif.gif)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/casagrandegif.gif)

Suite aux multiples travaux pratiqués avec la précédente version, des points d'améliorations sont à prévoir:

- Création de goupilles pour le remplissage de la boite, en effet le bras de levier entrainait le cisaillement avant même la manipulation
- Prévoir l’installation sur pied car il est plus pratique de maniper à hauteur
- Prévoir un butoir car une fois la rupture atteinte, le bras de levier de la force tangentielle descend jusqu'au sol
- Solidifier la structure car elle n'était pas prévue pour une utilisation intense par des étudiants (plusieurs pièces cassés)
- A voir: inclure un dynamomètre pour le calcul de la force tangentielle ou d'un montage Arduino + écran + capteurs FSR400 + R=10kOhm **--&gt;[https://www.instructables.com/Arduino-pressure-sensor-FSR-with-LCD-display/](https://www.instructables.com/Arduino-pressure-sensor-FSR-with-LCD-display/)**

---

#### 2. Matériel, machines et logiciels utilisés

&gt; <span style="text-decoration: underline;">Matériel nécessaire : </span>

<table border="1" id="bkmrk-capteurs-fsr400-cart" style="border-collapse: collapse; width: 101.22%; height: 213px;"><colgroup><col style="width: 16.6893%;"></col><col style="width: 16.6893%;"></col><col style="width: 16.6893%;"></col><col style="width: 16.6893%;"></col><col style="width: 16.6893%;"></col><col style="width: 16.6893%;"></col></colgroup><tbody><tr style="height: 63.4px;"><td style="height: 63.4px;">Capteurs FSR400  
</td><td style="height: 63.4px;">Carte Arduino Uno  
</td><td style="height: 63.4px;">Câbles Arduino  
</td><td style="height: 63.4px;">Module encodeur rotatif GT055  
</td><td style="height: 63.4px;">Planche de plexiglas de 6mm d'épaisseur  
</td><td style="height: 63.4px;">Écran LED  
</td></tr><tr style="height: 168.8px;"><td style="height: 168.8px;">[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/kSLimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/kSLimage.png)

</td><td style="height: 168.8px;">[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/Xmlimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/Xmlimage.png)

</td><td style="height: 168.8px;">[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/FZzimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/FZzimage.png)

</td><td style="height: 168.8px;">[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/2lximage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/2lximage.png)

</td><td style="height: 168.8px;">fablab  
</td><td style="height: 168.8px;">[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/DkEimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/DkEimage.png)

</td></tr></tbody></table>

&gt; <span style="text-decoration: underline;">Machines </span>: Trotec Speedy 360 (découpeuse laser), Imprimante 3D, Perceuse

&gt; <span style="text-decoration: underline;">Logiciels </span>: OpenSCAD, Inkscape, Arduino IDE

---

#### 3. Conception de la boîte de Casagrande + Codes OpenSCAD

##### &gt; Impressions 3D : 

<details id="bkmrk-fichiers-stl-assembl"><summary>Partie Basse Boîte</summary>

Fichier STL : [AssemblageCasagrande - Casagrandeboitebasse-1-1.STL](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/221)

<div class="py-s align-center">[*![Partie basse.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/partie-basse.jpg)*](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/253)</div></details><details id="bkmrk-partie-haute-bo%C3%AEte-f"><summary>Partie Haute Boîte</summary>

Fichier STL : [AssemblageHaut2 - Casagrandeboitehaute-1.STL](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/253)

<div class="py-s align-center">*![Partie haute.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/partie-haute.jpg)*</div></details><details id="bkmrk-bouchon-bo%C3%AEte-fichie"><summary>Bouchon Boîte</summary>

Fichier STL : [AssemblageCasagrande - Casagrandeboitebouchon-1-1.STL](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/223)

<div class="py-s align-center">*![Bouchon.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/bouchon.jpg)*</div></details><details id="bkmrk-porte-poulie-et-poul"><summary>Porte Poulie et Poulie</summary>

Fichier STL : [Portepoulie.STL](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/312)

[Poulie.STL](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/266)

<div class="py-s align-center">*[![IMG_3862 (002).jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/scaled-1680-/img-3862-002.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-05/img-3862-002.jpg)*</div><div class="py-s align-center">*Porte poulie et potentiomètre*</div></details><details id="bkmrk-attaches-levier-%28x2%29"><summary>Attaches Levier (x2)</summary>

<div class="py-s align-center">Fichier STL : [Attachelevierx2.STL](https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/313)</div><div class="py-s align-center"><span id="bkmrk--5" style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 203px; height: 217px;">![](https://lh7-us.googleusercontent.com/docsz/AD_4nXdau5oer6_KudURgDnF8-jm-_n2JL8cKMLpMUy4YdTCrEXRdWXjHBkkWZNL10mkTpvX-M_hXpSHDnRAWHFMVAN1dNksIVOANXDV7lF9wu_O7C4O1gaahQCwpcD_yH7vzD0jUSWT2wvA2o9eG72OxKjbcCU?key=0g7lt5RieRjxLh_H5USP_g)</span></span></div></details>Photo de l'assemblage général de la boîte :

*![EnsembleBoite.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-04/scaled-1680-/ensembleboite.jpg)*

##### *&gt;* Branchement du capteur FSR400 pour la force normale <span class="BxUVEf ILfuVd" lang="fr"><span class="hgKElc">σN</span></span>  


On relie le capteur et l'écran à la carte Arduino en suivant le montage suivant : [Instructables.com/Arduino-pressure-sensor-FSR-with-LCD-display/](https://www.instructables.com/Arduino-pressure-sensor-FSR-with-LCD-display/) et on choisit une résistance de 4K7 ohm lors du montage, pour avoir une valeur de poids affichée à l'écran la plus fiable au poids réel possible.

*![IMG_0005.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-09/scaled-1680-/img-0005.jpeg)*

##### *&gt;* Branchement de l'encodeur rotatif GT055  


Afin de déterminer précisément le point de rupture, on utilise un encodeur rotatif qui va donner la valeur de déplacement en degrés. On le branche à une carte Arduino en suivant le montage suivant :

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/LbEimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/LbEimage.png)[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/tYhimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/tYhimage.png)

<span style="text-decoration: underline;">Source :</span> LEXTRONIC, 2022 ([https://www.lextronic.fr/module-encodeur-rotatif-51706.html)](https://www.lextronic.fr/module-encodeur-rotatif-51706.html))

<details id="bkmrk-encodeur-rotatif---c"><summary>Encodeur rotatif - Code Arduino</summary>

<span style="font-size: 9.5pt; font-family: 'Courier New',monospace; color: #95a5a6; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">![]()</span>```cpp  
// Déclaration des variables  
int CLK = 3; // Broche CLK de l'encodeur sur la pin 3 de l'Arduino  
int DT = 4; // Broche DT de l'encodeur sur la pin 4 de l'Arduino  
int encoderPosCount = 0; // valeur de départ de l'encodeur à zéro  
int CLKLast;  
int aVal;  
boolean bCW;

void setup() {   
pinMode (CLK,INPUT); // Pin CLK déclarée en entrée  
pinMode (DT,INPUT); // Pin DT déclarée en entrée

CLKLast = digitalRead(CLK); // Renvoi la dernière valeur de l'encodeur  
Serial.begin (9600);  
}

void loop() {  
aVal = digitalRead(CLK);

if (aVal != CLKLast) { // Indique que l'encodeur tourne  
// Si le bouton tourne, on déterminera son sens  
// avec la broche DT  
if (digitalRead(DT) != aVal) { // si CLK change en premier - rotation dans le sens des aiguilles d'une montre  
encoderPosCount ++;  
bCW = true;  
}   
else { // sinon c'est DT qui change en premier et la rotation va donc dans le sens inverse  
bCW = false;  
encoderPosCount--;   
}  
Serial.print ("Sens de rotation: "); // Affichera le sens de rotation  
if (bCW)  
{  
Serial.println ("clockwise"); // sens des aiguilles d'une montre  
}else  
{  
Serial.println("counterclockwise"); // sens inverse  
}   
Serial.print("Degré: ");   
Serial.println(encoderPosCount\*9); // Affiche la position de l'encodeur - comptage des impulsions  
}   
CLKLast = aVal ;  
}  
```

</details>##### &gt; Découpe laser

<details id="bkmrk-d%C3%A9coupe-du-cadre-fic"><summary>Découpe du Cadre</summary>

<span style="font-size: 9.5pt; font-family: 'Courier New',monospace; color: #95a5a6; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">![]()</span>Fichier svg : [![Découpe_Cadre_Bras_Casagrande.svg](https://wiki.fablab.sorbonne-universite.fr/BookStack/null)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/decoupe-cadre-bras-casagrande.svg)

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/Hoiimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/Hoiimage.png)

</details><details id="bkmrk-d%C3%A9coupe-des-bras-de-"><summary>Découpe des bras de levier</summary>

<span style="font-size: 9.5pt; font-family: 'Courier New',monospace; color: #95a5a6; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">![]()</span>Fichier svg : [![Découpe_Cadre_Bras_Casagrande.svg](https://wiki.fablab.sorbonne-universite.fr/BookStack/null)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/decoupe-cadre-bras-casagrande.svg)

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/i9Ximage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/i9Ximage.png)

Code OpenSCAD :

```
//dimensions du bras de levier
largeur = 40; //mm
diametreTrou = 4; //mm
nbUnites = 48; //nombre d'encoches
longueur = 500; //mm longueur de la barre à partir du trou

//dimensions des encoches
profondeurEncoche = 2; //mm
var = 0;

difference(){
    square([longueur, largeur]);
    //trou
    translate([0, largeur/2, 0]){
        circle(diametreTrou/2, $fn = 360);
    }
    //encoches
    for (i=[1:nbUnites]){
        var = i*10;
        translate([var, 0, 0]){
            rotate([0, 0, 45]){
                square([profondeurEncoche, profondeurEncoche], center = true);
            }
        }
    }
}

//Pour la forme arrondie
translate([0, largeur/2, 0]){
    difference(){
        circle(largeur/2);
        //trou
        circle(diametreTrou/2, $fn = 360);
    }
}
```

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/tDwimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/tDwimage.png)

</details>##### &gt; Assemblage

---

#### 4. Journal de Bord  


<details id="bkmrk-journal-de-bord-5%2F06"><summary>Journal de Bord</summary>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">5/06 : </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Branchement du capteur de pression Arduino </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Tests de différentes résistances pour avoir un poids affiché à l’écran (en newton et en kg) fiable.</span>

## <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">6/06 : </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Création d’un socle permettant de tester le capteur de force (contrainte normale)</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Afin de déterminer quelle résistance on utilise pour le capteur de force, on réalise en premier lieu un socle permettant de pouvoir tester différents poids sur le capteur. Le capteur étant très précis, il faut un système qui appuie parfaitement à l'endroit du capteur.</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Code OpenSCAD pour le socle sous le capteur :</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span>

```
cotecube = 50 ; //mm

difference(){

 cube([cotecube,cotecube,10]);

 translate([0,20,0]){

     cube([25,10,3]);

 translate([25,5,0]){

     cylinder(r=6,h=3,$fn=100);

 }

 }

}
```

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">  
</span>

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/7tGimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/7tGimage.png)

<span style="font-size: 9.5pt; font-family: 'Courier New',monospace; color: #95a5a6; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">  
</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Code OpenSCAD pour la partie supérieure reposant sur le capteur : </span>

```
cotecube = 50 ; //mm

cube([cotecube,cotecube,5],true);

translate([0,0,2.5]){

 cylinder(r1=5,r2=4,h=5,$fn=100);

}
```

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/QtUimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/QtUimage.png)

<span style="font-size: 9.5pt; font-family: 'Courier New',monospace; color: #95a5a6; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">  
</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Impression du Socle du testeur </span>

<span style="font-size: 9.5pt; font-family: 'Courier New',monospace; color: #95a5a6; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">  
</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On crée le socle à l’aide de l’imprimante 3D : </span>

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/41Himage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/41Himage.png)

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">7/06 : </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="text-decoration: underline;">**&gt; Impression de la Partie Supérieur du test**</span> </span>

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/pZIimage.png) ](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/pZIimage.png)<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Masse Partie Supérieur du test capteur : 7.0g</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Réalisation de différents tests avec différentes résistances électriques et différents poids  
</span>

<div align="left" dir="ltr" style="margin-left: 0pt;"><table style="border: none; border-collapse: collapse; table-layout: fixed; width: 451.27559055118115pt;"><colgroup><col></col><col></col><col></col><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Poids réel (g)</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Résistance 4K7 (g)</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Résistance 10K (g)</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Résistance 3K3 (g)</span>

</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">428</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">390</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;">800 g  
</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;">  
</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">425</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">330</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;">  
</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;">  
</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">527</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">510</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;">  
</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;">  
</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">833</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">700</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">1800 (?)</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">600</span>

</td></tr></tbody></table>

</div><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Les tests ne sont pas très cohérents mais la résistance qui mène au poids le plus fiable est celle de 4K7 ohm.</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span id="bkmrk-10%2F06-%3A" style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">10/06 :</span></span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Dessin d’une pièce sur OpenSCAD pour mesurer la contrainte tangentielle mais abandon parce que ce système ne sera pas assez précis (effets de frottements qui vont fausser la valeur donnée par le capteur).</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Recherche d’un capteur de pression en S à utiliser à la place.</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span id="bkmrk-11%2F06-%3A" style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">11/06 :</span></span></span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Branchement de l'encodeur sur une carte Arduino, où on suit le montage suivant : [<span style="text-decoration: none;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.lextronic.fr/module-encodeur-rotatif-51706.html</span></span>](https://www.lextronic.fr/module-encodeur-rotatif-51706.html)</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="text-decoration: none;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/tYhimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/tYhimage.png)</span></span></span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Code Arduino : </span>

```
// Déclaration des variables
int CLK = 3;    // Broche CLK de l'encodeur sur la pin 3 de l'Arduino
int DT = 4;    // Broche DT de l'encodeur sur la pin 4 de l'Arduino
int encoderPosCount = 0; // valeur de départ de l'encodeur à zéro
int CLKLast;
int aVal;
boolean bCW;


void setup() {
pinMode (CLK,INPUT);  //  Pin CLK déclarée en entrée
pinMode (DT,INPUT);  //  Pin DT déclarée en entrée


CLKLast = digitalRead(CLK);  // Renvoi la dernière valeur de l'encodeur
Serial.begin (9600);
}


void loop() {
aVal = digitalRead(CLK);


if (aVal != CLKLast) { // Indique que l'encodeur tourne
// Si le bouton tourne, on déterminera son sens
// avec la broche DT
if (digitalRead(DT) != aVal) {  // si CLK change en premier - rotation dans le sens des aiguilles d'une montre
encoderPosCount ++;
bCW = true;
}
else { // sinon c'est DT qui change en premier et la rotation va donc dans le sens inverse
bCW = false;
encoderPosCount--;
}
Serial.print ("Sens de rotation: ");   // Affichera le sens de rotation
if (bCW)
{
Serial.println ("clockwise");   // sens des aiguilles d'une montre
}else
{
Serial.println("counterclockwise");   // sens inverse
}
Serial.print("Degré: ");  
Serial.println(encoderPosCount*9);   // Affiche la position de l'encodeur - comptage des impulsions
}
CLKLast = aVal ;
}

```

 <span id="bkmrk-pour-chaque-clic-%3A-i" style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Pour chaque clic : indication d’une rotation de 18 degrés.</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span id="bkmrk-12%2F06-%3A" style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">12/06 :</span></span></span></span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span id="bkmrk-%3E" style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; </span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Dessin du cadre sur Inkscape :</span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span></span></span></span></span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Le cadre présente une encoche pour faire passer le bras de levier et un petit rectangle qui permettra d'appuyer sur le capteur pour la force normale.</span></span></span></span></span>

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/VToimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/VToimage.png)

## <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">14/06 : </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; </span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Arrangement du cadre sur Inkscape</span>

<span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Pour que ce soit plus stable lors de l'utilisation.</span>

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/3C5image.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/3C5image.png)

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; </span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">Second test du capteur - force normale</span>

Lors des tests pour le capteur de la force normale, l'utilisation d'une résistance de 4K7 ohm menait à des poids proches de ceux réels. Bien que le capteur ne donne pas la valeur exacte, on réalise des tests avec différents poids pour voir si on peut trouver une relation de proportionnalité entre la valeur que le capteur nous donne et la valeur réelle :

<div align="left" dir="ltr" style="margin-left: 0pt;"><table style="border: none; border-collapse: collapse; table-layout: fixed; width: 451.27559055118115pt;"><colgroup><col></col><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Poids réel (g)</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Poids avec Résistance 4K7 ohm (g)</span>

</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">103.3</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">0</span>

</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">200.8</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">140</span>

</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">249.2</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">140</span>

</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">454.8</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">410</span>

</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">534.3</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">510</span>

</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">840.8</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">740</span>

</td></tr><tr style="height: 0pt;"><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">836.1</span>

</td><td style="vertical-align: top; padding: 5pt 5pt 5pt 5pt; overflow: hidden; overflow-wrap: break-word; border: solid #000000 1pt;"> </td></tr></tbody></table>

</div>[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/bXIimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/bXIimage.png)

Il faut multiplier la valeur donnée par le capteur par environ 1.3 pour obtenir la valeur de poids réelle, mais le capteur reste plutôt imprécis.

## <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">20/06 : </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Visser pieds pour les bras de levier sous la table</span>

<span id="bkmrk--10" style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 203px; height: 217px;">![](https://lh7-us.googleusercontent.com/docsz/AD_4nXfYBNDskNOxeqh1-CrBfAgikrEr6nC6acGbXea7k_8KcBWJ6dzI3XTnvTgwU2eY9lw-vZiSzgq1gil0V8ZsWtbF9Z9A9oASxuIOfsH5PrUxBG4UI0kom9dwGYgUTONusY9d1tw9FOBB0An72SxInM6jOj8?key=0g7lt5RieRjxLh_H5USP_g)</span></span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Visser socle boîte cisaillement et f</span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">aire un trou pour vider la boîte du sable après utilisation : </span>

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/7ZRimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/7ZRimage.png)

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Découpe laser bras de levier : </span>

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/bw1image.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/bw1image.png)

<span id="bkmrk-%3E-d%C3%A9coupe-cadre-%3A" style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Découpe cadre : </span>

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/7oBimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/7oBimage.png)

## <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">24/06 : </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On réalise des tests du capteur force normale avec le système entier : </span>

<span style="text-decoration: underline;"><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Poids éléments (m</span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">éléments</span></span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">) : </span></span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Bras : 134.2 g</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Cadre : 396.4 g </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; <span style="text-decoration: underline;">Total poids bras + cadre = <span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">m</span><span style="font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">éléments</span></span>:</span> 530.2 g</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Piston : 48.6 g</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&gt; Bouteille qu’on utilise pour la force normale m<sub>eau</sub> : 857.8 g</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Sans ajouter la bouteille, le capteur affiche : 9.59 N et 0.89kg</span>

- Calcul du facteur d'augmentation de la masse : f = L/

L : longueur entre l'articulation du bras de levier et l'encoche sur laquelle est posée la masse/la bouteille  
l : longueur entre l'articulation du bras de levier et l'encoche sous laquelle est glissée le cadre (fixe, 13 cm pour notre machine)

- <div class="li">Calcul de la pression : P = m*g</div>m : masse en kg donc m = m<sub>eau</sub>\*f + m<sub>elements</sub>
    
    g : accélération : 9.81 m.s<sup>-2</sup>

Ici, m<sub>elements</sub> = 530.2 g = 0.5302 kg et m<sub>eau</sub> = 857.8 g = 0.8578 kg

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Calcul en N : </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">σ</span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">N</span></span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> placé à la 26</span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">ième</span></span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> graduation donc P = (0.5302 + 26/13 x 0.8578) \* 9.81 = 22.02 N = 2.24 kg --&gt; capteur affiche moins de 1 kg</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">σ</span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">N</span></span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> placé à la 28</span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">ième</span></span><span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> graduation donc P = (0.5302 + 28/13 x 0.8578) \* 9.81 = 23.32 N = 2.38 kg --&gt; mais capteur affiche moins de 1 kg</span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On réalise d'autre tests mais le capteur reste à 0.60 ou 0.80 kg quelque soit la graduation où on pose la bouteille --&gt; imprécision du capteur, il ne doit pas bien capter le cadre posé dessus.</span>

## <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">26/06 : </span>

<span style="font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On refait les tests avec un piston différent qui permet au capteur de mieux fonctionner : </span>

[![image.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scaled-1680-/scPimage.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2024-06/scPimage.png)

<table border="1" style="border-collapse: collapse; width: 100.03%; height: 59.8334px;"><colgroup><col style="width: 16.6956%;"></col><col style="width: 16.6956%;"></col><col style="width: 16.6956%;"></col><col style="width: 16.6956%;"></col><col style="width: 16.6956%;"></col><col style="width: 16.6956%;"></col></colgroup><tbody><tr><td>Numéro de graduation où est placée la bouteille  
</td><td>Pas de bouteille  
</td><td>26e  
</td><td>28e  
</td><td>35e  
</td><td>40e  
</td></tr><tr style="height: 29.9167px;"><td style="height: 29.9167px;">Poids réel (N)  
</td><td style="height: 29.9167px;">5.19   
</td><td style="height: 29.9167px;">22.02  
</td><td style="height: 29.9167px;">23.32  
</td><td style="height: 29.9167px;">27.86  
</td><td style="height: 29.9167px;">31.09  
</td></tr><tr style="height: 29.9167px;"><td style="height: 29.9167px;">Poids par capteur (N)  
</td><td style="height: 29.9167px;">5.37  
</td><td style="height: 29.9167px;">10.36  
</td><td style="height: 29.9167px;">17.07  
</td><td style="height: 29.9167px;">32.03  
</td><td style="height: 29.9167px;">45</td></tr></tbody></table>

Encore des incohérences dans le poids donné, on ne trouve pas relation de proportionnalité entre la réalité et les valeurs affichées par les capteur de force.

On pense alors utiliser différents capteurs pour capter le poids de la force normale: un capteur Arceli HX711 ADC<span class="a-size-large product-title-word-break" id="bkmrk--11"></span>

## <span style="font-size: 11pt; font-family: Arial,sans-serif; color: #1c4587; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">28/06 : </span>

Branchement du nouveau capteur pour la force normale : le capteur Arceli HX711 ADC

<div align="left" dir="ltr" id="bkmrk--12" style="margin-left: 0pt;"></div><div align="left" dir="ltr" id="bkmrk--13" style="margin-left: 0pt;"></div></details>