Attribut:Step Content

This is a property of type Text.

Affichage de 250 pages utilisant cette propriété.
1
Ferme un œil et balade ton doigt devant jusqu'à ne plus le voir d'un côté et de l'autre. Dessine sur une feuille le champ de vision de cet œil. Recommence exactement pareil pour l'autre œil, sans changer de place.  +, Tu peux aussi essayer de regarder le paysage en alternant rapidement un œil fermé puis l'autre.  +, Prends un crayon dans ta main. Ferme un œil Demande à quelqu'un de dessiner une petite croix sur un papier En gardant ton œil fermé, vise rapidement la croix avec la pointe de ton crayon  +,
A
'''Pour commencer, rassemble le matériel nécessaire à l'expérience :''' *annexe “[https://www.wikidebrouillard.org/images/3/3a/A_quoi_servent_les_fleurs_-_Comment_leur_pollen_est-il_transport_Annexe_Fleurs_et_fruits.pdf Fleurs et fruits]” *annexe “[https://www.wikidebrouillard.org/images/4/4d/A_quoi_servent_les_fleurs_-_Comment_leur_pollen_est-il_transport_Annexe_Coupe_de_fleur.pdf Coupe de fleur]” *annexe “[https://www.wikidebrouillard.org/images/a/aa/A_quoi_servent_les_fleurs_-_Comment_leur_pollen_est-il_transport_Annexe_Cycle_de_vie_d_une_fleur.pdf Cycle de vie d'une fleur]” *annexe "[https://www.wikidebrouillard.org/images/2/22/A_quoi_servent_les_fleurs_-_Comment_leur_pollen_est-il_transport_Annexe_Jardin_fleuri.jpg Jardin fleuri]” *annexe “[https://www.wikidebrouillard.org/images/e/e8/A_quoi_servent_les_fleurs_-_Comment_leur_pollen_est-il_transport_Annexes_Plantes_fleurs.pdf Plantes à fleurs]” *annexe "[https://www.wikidebrouillard.org/images/c/c0/A_quoi_servent_les_fleurs_-_Comment_leur_pollen_est-il_transport_Annexes_Plantes_fleurs_-_SOLUTION.pdf Plantes à fleurs - solution]" *10 bouchons ou des confettis *2 gobelets *Papier *Crayon '''Si tu as, tu peux utiliser aussi :''' *une pomme *de vrais fleurs (avec pistil et étamines) *une loupe ou une loupe binoculaire  +, Si tu as une pomme, coupe-la en 2. Fais bien attention en utilisant le couteau : demande de l’aide à un adulte. '''Sur une feuille, trace un tableau avec 2 colonnes :''' *dans la première colonne, écris Fleurs pollinisées par les insectes" ; *dans la deuxième, écris "Fleurs pollinisées par le vent".  +, 1) Observe ta pomme coupée en deux ou sa coupe (et celle de la courgette) dans l’annexe “[https://www.wikidebrouillard.org/images/3/3a/A_quoi_servent_les_fleurs_-_Comment_leur_pollen_est-il_transport_Annexe_Fleurs_et_fruits.pdf Fleurs et fruits]”, et compare les différentes vignettes : *'''Qu’observes-tu ? Que trouve-t-on à l'intérieur du fruit ? Quel lien fais-tu entre la fleur et le fruit ? Selon toi, comment les plantes à fleurs se reproduisent-elles ?''' 2) La fleur est le lieu de reproduction de la plante. Observe l’annexe “[https://www.wikidebrouillard.org/images/4/4d/A_quoi_servent_les_fleurs_-_Comment_leur_pollen_est-il_transport_Annexe_Coupe_de_fleur.pdf Coupe de fleur]” et l’annexe “[https://www.wikidebrouillard.org/images/a/aa/A_quoi_servent_les_fleurs_-_Comment_leur_pollen_est-il_transport_Annexe_Cycle_de_vie_d_une_fleur.pdf Cycle de vie d'une fleur]”. Si possible, observe également de vraies fleurs : *Repère les organes mâles (étamines) qui renferment le pollen et l'organe femelle (pistil) relié à l'ovule de la fleur. Tu peux les regarder de plus près à l’aide d’une loupe ou d’une loupe binoculaire. *'''Où se trouve le nectar et à quoi peut-il servir ?''' *'''Comment le pollen d'une fleur atteint-il le pistil d'une autre fleur ?'''  +,
- Verse 2 cuillères à café de sel dans le verre. - Ajoute 4 cuillères à soupe d'eau déminéralisée dans le verre. - Fais chauffer 5 secondes la solution au micro ondes  +, - Inseres l'entonoir dans le verre et poses les compresses de gase par dessus - Verses le contenu du bol dans l'entonnoir, tu peux presser les compresses afin de bien essorer le jus  +, - Ajoutes doucement l'alcool au mélange et recouvres d'un film étirable ton verre - Remues tout doucement ton verre - Patientes quelques minutes  +,
Les pêcheur·euses tirent au dé puis avancent leur chalutier tour à tour. Les poissons passés sous un bateau sont pêchés et récupérés en fin de tour. On note ses prises sur un papier.  +, Après les déplacements et les prises soit ... ...les navires rentrent au port (Tous les 2 tours). Après, l’« esprit de l’océan » fait grandir chaque poisson dans la mer en posant un poisson de taille supérieur dessus. ...les œufs des poissons éclosent (Tour 3, 6 et 9), pour chaque poisson de taille 2,3 ou 4 l’« esprit de l’océan » place sur une case voisine un bébé poisson (taille 1), un maximum à l’abri de la pêche. Pour s’y retrouver sur la fiche de déroulé de partie faire avancer le pion à chaque tour.  +, Le jeu se termine au bout des 20 tours (2 x 10 tours), il faut remplir le tableau des résultats et discuter de ceux-ci.  +,
Dans un premier temps, nous voulions imaginer le mécanisme de notre avion et de la rampe avant de commencer à créer un prototype. -Le mécanisme de l'avion est simple : le long du corps de ce dernier, il y a une rainure dans laquelle un élastique est attachée à un trombone de chaque côté. L'un est fixe, l'autre est relié à l'hélice. Lorsque nous faisons tourner l'hélice, le trombone tourne avec et entraîne à son tour l'élastique qui se tort sur lui-même. -Le mécanisme de la rampe est plus facile que celui de l'avion. Nous avons choisi de faire une sorte de lance pierre. C'est-à-dire de planter deux clous au bout de la rampe à chaque coin, puis d'y attacher un élastique. Ainsi notre avion est propulsé à la fois par son hélice et par la rampe.  +, Une fois les mécanismes imaginés, nous pouvions nous attaquer au design. Le principal enjeu du design que ce soit celui de l'avion ou de la rampe est qu'il doit tenir compte des contraintes liées aux mécanismes. -Pour l'avion, nous l'avons modélisé grâce aux logiciels Catia, Sketchup afin de pouvoir l'imprimer par la suite. Nous avons fait le choix de le faire ressembler à un planeur au niveau des ailes, il a donc de longues ailes situées plutôt à l'arrière du corps de l'avion. Pour le corps, nous étions contraint d'effectuer une rainure pour y insérer le mécanisme de propulsion. -En ce qui concerne la rampe, nous avons fait simple : une planche en bois pas trop étroite que nous avons découpée (avec une scie classique, ou une scie sauteuse peu importe) à la longueur souhaitée. Puis nous avons planté les clous sur la face avant. Enfin au milieu de la rampe, une rainure de 1cm a été faite. Pour réduire les frottements et permettre à l'avion de profiter au maximum de la rampe, nous avons aussi poncé la rampe avec du papier à poncer afin de réduire les impuretés du bois.  +, -Pour la rampe, nous avons choisi d'utilisé un élastique tendu, puissant et qui permettrait de renvoyer un maximum d'énergie à notre avion. Il s'agit d'un type d'élastique d'une longueur de 10m, utilisé pour les lances pierre et de la marque Schleuder. -Pour l'avion, une imprimante 3D était obligatoire pour l'imprimer. Le plastique utilisé était du PLA mais vous pouvez utiliser autre chose. Pour assembler les pièces (deux ailes, hélice, corps) nous avons utilisé de la colle (colle forte, colle chaude.. ). Enfin, pour le mécanisme de l'hélice, il peut fonctionner avec un élastique classique. Mais rien n'empêche d'en utiliser un de meilleure qualité. l'impression des pièces de l'avion a duré environ 11h, et la modélisation environ 5h.  +,
Il est possible d'"accorder" correctement ses verres. En effet, jusqu'à présent, la gamme obtenue n'était pas parfaite. Pour l'améliorer, utilise un accordeur qui vous permettra d'ajuster la hauteur d'eau dans chaque verre. Du verre de gauche vers le verre de droite : DO, RÉ, MI, FA, SOL, LA, SI, et DO. Tu peux à présent jouer tes morceaux préférés !  +, Si tu utilises des verres, tu peux mouiller ton doigt pour le frotter sur le haut du verre. Avec un peu d'entrainement, tu pourras produire un autre type de son. Si tu utilises des bouteilles en verre, essaye de souffler au-dessus du goulot en posant tes lèvres sur le bord. Avec un peu d'entrainement, tu pourras créer ta flûte de pan.  +, Il te faut : - Plusieurs verres (ou bouteilles) en verre, de même taille et forme si possible - De l'eau - Une cuillère ou un petit verre pour transvaser l'eau - 1 crayon ou autre objet pouvant faire office de baguette Si tu souhaites faire la gamme de notes complète, il faudra alors 8 verres ou bouteilles. Pour aller plus loin, tu peux avoir besoin de : - 1 accordeur de guitare (voir le site https://www.accordersaguitare.com/) ou une application Android comme Guitar Tuna (gratuite). OU - 1 diapason  +,
Si le rouge de phénol se présente sous forme solide, dilues-en un peu dans de l’eau du robinet (de préférence dans un flacon compte-gouttes) sinon dans un pot transparent (on doit obtenir un liquide orangé).  +, Remplis à moitié un pot de vinaigre, Verses-y quelques gouttes de rouge de phénol liquide. Que se passe-t-il ?  +, Remplis à moitié un pot avec de l’eau du robinet, verses-y une cuillerée de bicarbonate et mélange. Ajoute ensuite quelques gouttes de rouge de phénol liquide. Que remarques tu ?  +,
Rassembler le matériel : * 2 verres en verre * 1 gobelet en plastique * 1 assiette de même matière que le gobelet * de l’eau chaude * 2 thermomètres <br/>  +, - Placer un thermomètre dans l’assiette et un autre thermomètre dans le verre en plastique. - Verser la même quantité d’eau chaude dans les 2 verres. - Vider ensuite l’eau d’un des verres dans le gobelet, et l’eau du second dans l’assiette. - Mesurer régulièrement la température en lisant les graduations des 2 thermomètres. La température de l’eau varie-t-elle de la même manière ?  +
Pour créer un chaîne de caractère avec du texte et une variable, utilise le bloc Créer un texte avec.  +, Pour afficher ton texte, va dans la section DBLOCADATA -> Écran. Ensuite, choisis une des fonctions affiche texte.  +
Vous pouvez utiliser le fichier disponible dans la liste du matériel pour vous aider à dessiner des image en "Pixel Art" et en déduire le code à mettre dans le programme Arduino.  +, Nous allons utiliser la bibliothèque LedControl (pour l'installer cliquer "outil" puis "Gérer les bibliothèques" est dans la recherche vous tapez LedControl et suivez les instructions). Pour afficher un smiley, je mettrais le programme bientôt ici.  +, Le cinéma c'est c'est une succession d'images, nous allons faire pareil avec le code "'''MatriceLed8X8-battementCoeur.ino'''" (voir dans la liste du matériel, onglet "Fichiers"). Chargez le code sur l'arduino, puis passez à l'étape suivante : le branchement de la matrice de LED.  +,
* Télécharger et installer le logiciel Arduino.   +, * Placer l'afficheur 7 segments sur la plaque.   +, * Brancher les deux fils noirs dans la masse GND.   +,
Pour notre projet, nous aurons besoin d'ajouter les bibliothèques suivantes via l'interface Arduino : -> Mini Grafx (by Daniel Eichborn) -> ESP8266 (by Weather Station) -> Json Streaming Parser -> ThingPulse XPT2046 Touch [[Importer des bibliothèques dans l'interface Arduino]] Vous pouvez installer que les bibliothèques ci-dessus.  +, Bien entendu, il faut avoir installé Arduino [[Installer l'environnement Arduino sur votre système]] '''Importer de nouvelles cartes dans l'interface Arduino''' '''1-Ajout d'un catalogue de cartes dans l'interface de développement Arduino''' [[Importer de nouvelles cartes dans l'interface Arduino]] Dans le champ '''"URL de gestionnaire de cartes supplémentaires"'''copiez-collez l'URL suivante : http://arduino.esp8266.com/stable/package_esp8266com_index.json '''2-Ajout de la carte''' -> Outils -> Type de carte -> Gestionnaire de carte -> Rechercher et installer '''ESP8266 by ESP8266 community''' '''3-Installer les pilotes''' Pour Windows et Mac, il est nécéssaire d'installer des pilotes. /!\ la connexion d'un Wemos D1 mini sur mac cause un "Kernel Panic" et fait planter le mac. Il faut installer des pilotes dédiés qu'on trouve ici : *[https://docs.wemos.cc/en/latest/ch340_driver.html Téléchargez les pilotes CH340 USB to UART]. Plus de détails ici : [[Utiliser_le_D1_mini_avec_Arduino]]  +, Openweather est un service en ligne permettant d'avoir des prévisions météo accessibles seulement si vous avez une clé d'accès à l'API (une clé d'API) Tout d'abord, rendez-vous sur le site https://openweathermap.org/ pour vous créer un compte. Cliquez ensuite sur l'onglet API keys, donnez un nom à votre clé et généré là. Copiez cette clé et collez là dans le code de votre projet. (Voir étape 5 ci-dessous)  +,
- Plier la feuille en deux dans le sens de la longueur en laissant un demi centimètre de décalage entre les deux bords de la feuille.  +, - Aligner et coller les deux bords afin d'obtenir un dessous d'aile plat et un dessus bombé.  +, - Placer les pailles dans les trous. Elles serviront de guide.  +,
Remplis la bassine avec de l'eau (au moins l'équivalent de la hauteur du verre).  +, Mets, si tu en as, le colorant dans l'eau.  +, Place le mouchoir ou le morceau de papier au fond du gobelet.  +,
Verser lentement l'eau dans l'entonnoir et l'eau reste dans l'entonnoir !  +, Faire entrer l'air dans le bocal à l'aide d'une paille.  +, === '''La manipulation''' === * Maintenir l'entonnoir au milieu de l'ouverture de la bouteille et le bloquer à l'aide de la pâte à modeler.  +,
*Roule les feuilles en tubes de diamètre légèrement supérieur à celui des œufs. *Réalise un cône avec le morceau de papier. *Fixe un œuf sur le cône. *Place les tubes de papier chacun sur une assiette puis fais tomber les œufs dans les tubes (celui avec le cône et un autre sans).   +
Choisir son contenant  +, À l'aide d'un cutter, dégager une ouverture sur le côté plein.  +, Aplatir le [http://www.wikidebrouillard.org/index.php?title=Sac_plastique&action=edit&redlink=1 sac plastique], et renforcer la partie centrale en plaçant du [http://www.wikidebrouillard.org/index.php?title=Scotch scotch].  +,
Mets une goutte d'eau au milieu (avec une pipette si c'est possible) et observe les allumettes s'écarter les une des autres !  +, Rajoute quelques gouttes de colorant dans l'eau pour la colorer, tu pourras voir le bois des allumettes se colorer légèrement !  +, <br/> *Une assiette *5 allumettes *De l'eau *Une pipette (facultatif) <br/>  +,
* Percer deux trous dans le bouchon de la bouteille. * Faire passer les fils dans un trou. * Faire passer la valve de chambre à air dans l'autre trou (partie métallique à l'extérieur). * Étanchéifier les trous avec le mastic. * Fixer la laine d'acier entre les deux extrémités des fils (côté intérieur). * Verser le vinaigre dans la bouteille. * Ajouter le bicarbonate de soude. * Visser le bouchon, valve en position fermée. * Attendre quelques minutes et ouvrir la valve. * Une fois la réaction chimique achevée, fermer la valve. * Brancher les fils aux bornes de la pile.   +
Cet outil permet de faire une première approche avec les enfants, on dresse un bilan de leur mobilité pour se rendre à l'école. Ils doivent se situer parmis l'une des trois colonnes que l'on trace au tableau : à pied, en vélo, ou en trotinette. En transport en commun ou en covoiturage. En voiture ou en moto avec les parents.  +, On propose aux volontaire de venir dessiner l'effet de serre. A travers ce schéma, les enfants prennent conscience des conséquences liées à l'accroissement de l'activité humaine et par conséquent du réchauffement climatique.  +, Une histoire qui reprend les conséquences liées à l'activitée humaine. A la fin de la lecture, ont invite les enfants à dessiner individuellement leur passage préféré.  +,
Il te faut essentiellement un sachet de thé et de quoi y mettre le feu. Prépare le sachet de thé : * Découpe la partie supérieure du sachet de thé. * Vide le contenu du sachet. * Déplie le sachet de manière à obtenir un tube. Prépare ton feu.  +, *Dispose le tube verticalement sur un plan qui ne craint pas le feu. (Ici c'est un couvercle de bocal mais ça peut être autre chose). *Enflamme le haut du tube avec une allumette. *Attention au décollage ! Alors, ça a marché ?   +
Commencez par dessiner un plan de votre arbalète. Incluez des mesures précises pour la longueur, la largeur et la profondeur de l'arme.  +, Sélectionnez des matériaux de qualité tels que du bois dur, de l'acier et des cordes robustes que l'on peut éventuellement trouver dans des chantiers.  +, Utilisez du bois dur ou de l'acier pour construire l'arc de l'arbalète. Assurez-vous que l'arc est suffisamment résistant pour résister à la tension de la corde.  +,
Prend un morceau de filtre à café que tu dois découper. Puis colorie la base du filtre Insère ce feuillage dans le fagot de cure-dent <br/>  +, Plonge le tronc de ton mini-arbre dans un récipient d’eau, en faisant bien attention de ne pas mouiller le feuillage.  +, Rassemblez un fagot de cure dents à maintenir avec un élastique, cela formera le tronc de l’arbre.  +
* Placer la bassine dans un endroit où elle est exposée à la lumière (du soleil si possible, d'un spot si vous habitez à Brest). * Verser de l'eau dans la bassine. * Plonger le miroir à moitié dans l'eau. * Orienter le reflet de la lumière vers la feuille blanche.   +
* Bassine remplie à moitié avec de l'eau * Un miroir (tu vas mettre dans l'eau) * Feuille de papier blanche <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">...Cette expérience nécessite une grande source lumineuse: soit le soleil, soit une lampe très lumineuse.</div> </div><br/>   +, Plonge le miroir dans la bassine remplie à moitié d'eau. Place le miroir de biais afin qu'une partie soit dans l'eau. <br/>  +, Positionne la bassine de sorte que les rayons du soleil arrivent sur le miroir, en surtout sur la partie immergée (celle qui est dans l'eau). Maintenant, positionne la feuille blanche à de sorte à capter le reflet de la lumière: que peux-tu observer ? <br/>  +
''<u>'''Fabrique ton aspirateur à insectes :'''</u> '' *'''Perce le couvercle du bocal''' : sous la surveillance d'un adulte, à l'aide du marteau et du clou, perce 2 trous dans le couvercle. Il faut que les trous soient assez grands pour permettre d'y faire passer le tuyau, mais pas trop gros pour assurer l’étanchéité du dispositif *'''Coupe deux morceaux de tuyau''' avec les ciseaux : le premier d'environ 30 cm et le second d'environ 50 cm *'''Fixe un petit morceau de gaze''' avec l’élastique ou du ruban adhésif sur une extrémité du petit tuyau, pour éviter d'avaler un insecte *'''Enfile chaque tuyau dans un trou''', en positionnant l’extrémité avec la gaze à l’intérieur du pot. Ils doivent dépasser de quelques centimètres à l'intérieur du bocal. Si les tuyaux n’adhèrent pas complètement au couvercle, utilise de la pâte à modeler comme joint pour rendre le système hermétique. Cela permettra que ton aspiration soit assez puissante pour attraper des insectes. *'''Referme le pot avec le couvercle''' équipé des 2 tuyaux. <br/> *Imprime les '''annexes [https://www.wikidebrouillard.org/images/1/1c/Observer_la_faune_d_un_bloc_de_sol_TABLEAU_CAPTURE_V2.png « Tableau de capture »]''' et '''[https://www.wikidebrouillard.org/images/b/b5/Observer_la_faune_d_un_bloc_de_sol_Formulaire_JARDIBIODIV_ET_LES_PETITS_DEB_WIKI.pdf « Formulaire Jardibiodiv et les Petits deb »]'''. ''(facultatif)'' <br/>  +, *'''Délimite une zone où faire ta chasse à vue '''avec ton aspirateur à insectes. *'''Prends une photo du lieu choisi''', cette étape est importante si tu souhaites participer au programme de sciences participatives ''JardiBiodiv'' (cf. étape 5). *Envisage des temps de chasse à vue '''de 15 minutes''' sur une zone délimitée. *Sur cette zone, '''prends le temps d'observer les organismes du sol''' en soulevant des pierres, des briques, des morceaux de bois, un tas de feuilles, du compost, du paillage... Les organismes du sol aiment être pour la plupart à l'obscurité et dans un lieu assez humide. *'''Récolte les organismes '''identifiés : **''<u>si les organismes sont rapides et plus petits que le diamètre du tuyau , aspire-les ! </u>'' Pour cela : mets le plus petit tuyau dans ta bouche et plonge l’extrémité du plus grand tuyau au dessus de l’organisme observé. Aspire fort, de manière à ce qu’il soit piégé dans le pot de l’aspirateur à insectes ! **''<u>si les organismes sont lents, sont plus gros que le diamètre du tuyau ou entourés de mucus</u>'' comme les vers de terre et limaces, attrape-les à la main ou à l'aide d'une pince. *'''Ouvre le bouchon à vis avec précaution '''afin d’éviter que les animaux ne s’échappent. Dépose-les dans des récipients transparents (de préférence des boîtes loupe ou des boîtes de pétri). '''Combien de petits animaux du sol différents as tu pu observer pendant ta chasse à vue ?''' *'''Si tu le souhaites, tu peux refaire l’expérience plusieurs fois : cela te permettra de fournir des informations précieuses aux chercheur.se.s ! ''' *Si tu as réalisé plusieurs chasses à vue à différents endroits, tu pourras comparer les animaux récoltés : '''sont-ils les mêmes dans chaque bloc de sol ? En même quantité ?'''   +, '''Pour commencer, rassemble le matériel nécessaire à l'expérience :''' *un tuyau PVC souple, d’aquarium ou de robinetterie (diamètre interne < 10 mm) *un petit bocal de 100 à 180 ml (en plastique) à bouchon à vis (''plus le contenant est petit, plus il sera facile d’aspirer la quantité d’air pour aspirer assez fort pour récupérer les organismes)'' *de la gaze (compresse) *un élastique (ou du ruban adhésif) *de la pâte à modeler (ou pâte à fixer) *une paire de ciseaux (ou un cutter ou un couteau) *un clou et un marteau *une pince à épiler pour récupérer les animaux *plusieurs boîtes transparentes pour séparer les animaux et les observer *un appareil photo *une loupe *'''annexe [https://www.wikidebrouillard.org/images/e/e5/Pi_ger_la_faune_du_sol_Cl_s_d_identification_de_la_petite_faune_du_sol.pdf “Clés d’identification de la petite faune du sol”]''' *'''annexe [https://www.wikidebrouillard.org/images/1/1c/Observer_la_faune_d_un_bloc_de_sol_TABLEAU_CAPTURE_V2.png « Tableau de capture »]''' *'''annexe [https://www.wikidebrouillard.org/images/b/b5/Observer_la_faune_d_un_bloc_de_sol_Formulaire_JARDIBIODIV_ET_LES_PETITS_DEB_WIKI.pdf « Formulaire Jardibiodiv et les Petits deb »]''' *la connexion au [http://ephytia.inra.fr/fr/P/165/jardibiodiv site Jardibiodiv] ou l'application smartphone "Jardibiodiv" '''Si tu as, tu peux utiliser aussi :''' *une loupe binoculaire ou un microscope USB *une boîte loupe *une imprimante  +,
La carte mère est le système nerveux où tous les éléments sont regroupés.  +, Le processeur, c'est le cerveau du PC.  +, Le processeur monté sur la carte, puis le ventirad assemblé sur la carte mère.  +,
Remplir la bassine aux trois quarts et placer le glaçon pour observer le résultat : le glaçon flotte !  +, Vider la cartouche d'encre dans le verre en plastique (cette étape permet de mieux observer la suite). Remplissez après ça le verre d'eau à ras bord.  +, Placer le verre au congélateur (minimum 6h) pour obtenir un glaçon. Une fois l'eau transformée en glaçon vous pourrez découper le verre en plastique facilement d'où l'importance du gobelet en plastique.  +
Ajouter une grande quantité d’eau supplémentaire sous forme de pluie (arrosoir) ou crues. Observer ce qu’il se passe. Discuter sur la manière dont le débordement impacte la vie imaginée à l’étape précédente.  +, ''N.B. : Si le vocabulaire lié au bassin versant n'a pas été abordé lors d'une précédente activité, il est conseillé de réaliser cette étape.'' À l’aide des définitions suivantes, replacer chacun des mots en gras sur un point de la maquette : <br/> *Le '''lit du cours d’eau''' est l’espace occupé de manière permanente ou ponctuelle par l’écoulement de l’eau. On distingue le '''lit mineur''', ou lit naturel, où l’eau s’écoulera de façon permanente, du '''lit majeur''' qui est l’espace occupé par l’eau en période de crue ou d’inondation. *Lors de son cheminement, le cours d’eau crée parfois des '''méandres'''. Ces courbes très prononcées se produisent naturellement lorsque l’érosion naturelle des berges est détournée par la présence de matériaux plus solides. *'''Les berges''' délimitent le lit mineur. Elles sont maintenues par de la végétation composée d’arbres (par exemple d’aulnes, de saules, de frênes), d’arbustes et d’herbacées. L’ensemble des végétaux présents sur les berges et dans le lit majeur d’une rivière est appelé '''la ripisylve'''. *'''Les annexes hydrauliques''', telles que les bras morts ou les mares, sont reliées au cours d’eau en période de débordement du lit mineur sur le lit majeur. *Le cours d’eau s’écoule de '''l’amont''', où il prend sa source, souvent en montagne, vers '''l’aval''' en direction de la vallée, jusqu’à l’embouchure dans un autre cours d’eau plus grand, en lac ou en mer. <br/>  +, ''Précisions sur le matériel : Rassembler des figurines et personnages en lien avec les activités humaines et la biodiversité : tracteur, voiture, randonneur, pêcheur, bateau, maison, vache, loutre, cerf, arbre...'' ''L'arrosoir peut être remplacé par une bouteille d'eau dont on aura percé le bouchon avec plusieurs trous.'' Mettre une première quantité d’eau de façon à remplir la zone la plus creusée de la maquette. Disposer sur la maquette différentes figurines et discuter de l’organisation possible de la vie autour du cours d’eau : maisons, champs, promeneurs, agriculture, animaux, pêcheurs, bateaux.  +
* Allumer la plaque électrique : au maximum. * Poser un objet à environ 1 m de la plaque. * Aligner son regard au niveau de la surface de la plaque. * Regarder l'objet posé plus loin.   +
Pour réaliser cette activité il vous faudra une poubelle contenant des déchets "propres" en tout genre. Si ça n'est pas possible ont peux aussi très bien fonctionner avec des images sur lesquelles sont représentés les déchets. - des déchets '''organiques''' - des déchets en '''papiers''' - des déchets en '''cartons''' - des déchets en '''verre''' - des déchets '''métalliques''' - des déchets d'équipement électrique et électronique : '''DEEE''' - des déchets '''dangereux''' : inflammables, toxiques, dangereux pour l’environnement… - des ordures '''ménagères résiduelles''' - déchets '''verts''' Aussi, il vous faudra des bacs, des sacs ou des poubelles avec la couleur ou le logo associé à sa famille de tri. Si ça n'est pas possibles on peux matérialiser des zones sur une table ou au sol.  +, Les joueurs se placent devant les différents conteneurs de tri avec la poubelle d'ordures. On leur demande alors de placer les différents déchets dans les bons conteneurs. Il est possible de leur laisser à disposition la fiche explicative des logos de tri (dispo en fichiers). Une fois tous les objets placés, l'animateur.trice fait le bilan en corrigeant les erreurs avec les joueurs. <br/>  +
*Coupe dans le papier une bande de 1,5 cm x 9 cm, et une bande de 2 cm x 12 cm. *Forme deux anneaux avec les bandes. *Fixe-les aux extrémités de la paille à l'aide du ruban adhésif (la paille passe dans les anneaux). *Mets un trombone à l'extrémité de la paille du côté de l'anneau le plus petit.   +
La bobine de fil doit être percée en son centre. Vérifie qu'il n'y a pas de papier ou autre chose qui bouche le trou. A défaut d'une bobine, tu peux aussi utiliser un bouchon de liège que tu perceras de part et d'autre à l'aide d'une vrille assez grosse. Tu peux également utiliser une seringue suffisamment grosse pour que l'air passe avec un débit suffisant.  +, A l'aide d'une colle forte, ou d'un pistolet à colle chaude, colle la bobine ou le bouchon au centre du CD. ''Attention, les CD ont parfois un relief en leur centre, dans ce cas, colle sur la partie en relief pour que la partie la plus lisse soit en dessous de l'aéroglisseur.'' '''La jonction entre la bobine et le CD doit être parfaitement étanche.'''  +, Il est possible de procéder de deux manières différentes : - Place le ballon dégonflé sur la bobine, puis gonfle-le à l'aide d'une paille par en-dessous. - Ou bien gonfle d'abord le ballon et place-le ensuite sur la bobine. Dans ce cas, fais attention à ne pas perdre l'air du ballon.  +,
B
Souder des câbles Dupont à certain composants permet de les assembler plus facilement. C'est le cas notamment pour : * Le haut-parleur * L'interrupteur * Le bouton poussoir Sur le support de batterie, on soudera des câbles femelle ou des broches femelles pour éviter les contacts accidentels qui feraient des courts-circuits.  +, Avec le fichier joint (BOXSON_BOXSON_A_CUSTOMISER.pdf ou BOXSON_BOXSON_A_CUSTOMISER.svg), découpez les 6 pans de la boite carré avec une découpeuse laser (on peut aussi bricoler une boite en carton avec de la colle !)  +, Minutieusement, il s'agit de monter les différents composants sur la boite : *Bouton d'arcade, *Interrupteur, *Haut-parleur Puis de mettre le reste des composants dans la Boxson.  +,
Le matériel est tout simple : * 4 cables dupont * 1 breadboard * 1 D1 mini * 1 écran OLED * Sur la photo ne figure pas l'indispensable alimentation 5V  +, Le brochage se résume à 4 fils à brancher du D1 mini vers l'écran : * 5V vers VCC (fil rouge) * G vers GND (fil noir) * D6 vers SDA (Fil jaune) * D5 vers SCL (ou SCK (fil vert).  +, Point de vigilance : veiller à ce que les noms coïncident avec ceux du programme. Ne pas oublier la virgule finale.  +,
*Pose la balle de ping-pong sur un support horizontal. *Frotte le peigne sur le tissu. *Approche le peigne de la balle.   +
Verse de l’eau dans le [http://wikidebrouillard.org/index.php/Ballon_de_baudruche ballon de baudruche] jusqu’à ce qu'il atteigne la taille d'un œuf. Noue l'embouchure.  +, Dispose une petite quantité de coton sur le goulot de la [http://wikidebrouillard.org/index.php/Bouteille bouteille] et enflamme-le avec une [http://wikidebrouillard.org/index.php/Allumette allumette].  +, Pose rapidement le [http://wikidebrouillard.org/index.php/Ballon_de_baudruche ballon de baudruche]  sur le goulot de la [http://wikidebrouillard.org/index.php/Bouteille bouteille] (le plus verticalement possible).  +,
Pour réaliser l'expérience il te faut : - Un ballon de baudruche - Un feuille de papier - Une paire de ciseaux  +, * Découper avec les ciseaux des petits morceaux de papier. * Gonfler le ballon et nouer l'embouchure pour le fermer. * Frotter une partie du ballon sur des cheveux.   +, * Approcher le ballon des morceaux de papier. Que se passe-t-il ?   +
=== '''La manipulation''' === * Gonfler (pas trop !) et fermer le ballon de baudruche.  +, * Orienter le sèche-cheveux verticalement vers le haut.   +, Placer le ballon de baudruche dans le flux d'[http://www.wikidebrouillard.org/index.php?title=Air air].  +
Il te suffit de souffler dans ton ballon et de le gonfler... un peu mais pas trop! Il faut que ton ballon ne soit pas sous tension.  +, Il ne te reste plus qu'à percer ton ballon ! Trempe ton pic à brochette dans le liquide vaisselle (facultatif) pour plus de facilité et plante le à l'extrémité de ton ballon (là où le caoutchouc est plus foncé) et fais le ressortir par le petit noeud du dessus !  +
Préparation du matériel : - une paille - un ballon de baudruche - une pince à linge - 5 mètres de ficelle - du ruban adhésif  +, Gonfler le ballon, plus il sera gonflé plus il ira vite et loin. Fermer le ballon avec la pince à linge. Fixer la paille sur le ballon avec le ruban adhésif dans le sens de la longueur (de l'embout de gonflage à l'extérmité).  +, * Enfiler la ficelle dans la paille et tendre la ficelle entre deux points fixes, par exemple deux chaises, ou bien une chaise et une poignée de fenêtre. * Retirer la pince à linge et le bolide va être propulsé. Le ballon est même capable de monter si la ficelle est en pente.   +
Découper avec les ciseaux des petits morceaux de papier.  +, Gonfler le ballon et nouer l'embouchure pour le fermer.  +, Frotter une partie du ballon sur des cheveux  +,
Préparer : * Un bouchon de liège * 4 bouteilles d'eau * Un clou (ou une vrille) * 3 pailles * 4 pics à brochette * Du ruban adhésif * De l'eau  +, Coucher deux bouteilles l'une à côté de l'autre, en laissant entre elles un espace d'au moins la largueur d'une bouteille, pour constituer deux flotteurs (comme sur un catamaran)  +, Avec le ruban adhésif, fixer un « pont » reliant la partie avant des bouteilles avec deux pics à brochettes collés l'un contre l'autre. Utiliser les deux autres pics à brochettes pour attacher un deuxième « pont » sur la partie arrière des bouteilles.  +,
Cette étape a été assez courte. On s'est répartit les différents rôles dans le groupe et on a également établit un planning. On a donc eu en : Responsable matériel et fabrication : Rémi et Baptiste. Conception et conception 3d : Pierre et Martin. Documentation : Rémi et Roman Power Point : Baptiste et Pierre Budget : Quentin  +, Lors de cette phase on a créé des plans pour avoir différentes idées de ce qu'on pourrait fabriquer à l'atelier. On s'est notamment inspirer du bateau Mississipi pour créer nos plans. Et une vidéo sur youtube (cf lien ci dessous) qui présente une voiture à propulsion élastique nous a grandement aider pour trouver le moyen de faire avancer notre bateau. https://www.youtube.com/watch?v=ClIbBwREN7k&ab_channel=ProfesseurB  +, Lors de cette étape Pierre et Martin on modélisé sur catia V5 le bateau en 3d afin de pouvoir l'imprimer en 3d. Ils ont dû modéliser les pièces séparément afin de pouvoir les imprimer une à une et après assembler le bateau.  +,
Cette étape a été assez courte. On s'est répartit les différents rôles dans le groupe et on a également établit un planning. On a donc eu en  : Responsable matériel et fabrication : Rémi et Baptiste. Conception et conception 3d : Pierre et Martin. Documentation : Rémi et Roman Power Point : Baptiste et Pierre Budget : Quentin  +, Lors de cette phase on a créé des plans pour avoir différentes idées de ce qu'on pourrait fabriquer à l'atelier. On s'est notamment inspirer du bateau Mississipi pour créer nos plans. Et une vidéo sur youtube (cf lien ci dessous) qui présente une voiture à propulsion élastique nous a grandement aider pour trouver le moyen de faire avancer notre bateau. https://www.youtube.com/watch?v=ClIbBwREN7k&ab_channel=ProfesseurB  +, Après on a testé si l'élastique faisait bien tourner l'axe sur laquelle il y avait les pales. Et on a également testé s'il flotté. Lors de cette étape Pierre et Martin on modélisé sur catia V5 le bateau en 3d afin de pouvoir l'imprimer en 3d. Ils ont dû modéliser les pièces séparément afin de pouvoir les imprimer une à une et après assembler le bateau.  +,
Découper un petit bateau de la forme suivante en papier. Etaler une goutte de liquide vaisselle à l'arrière du bateau grâce au pic à brochette. Remplir la bassine d'eau. Poser le bateau sur l'eau bien à plat.  +
'''Pour commencer, rassemble le matériel nécessaire à l'expérience :''' *du papier aluminium *un ballon gonflé *tes cheveux '''Pour l’étape 4, tu peux aussi utiliser :''' *une feuille de papier *un crayon *une paire de ciseaux *du ruban adhésif *un ballon gonflé *[https://www.wikidebrouillard.org/images/6/66/Billes_sauteuses_ANNEXE_Ailes_insecte.pdf annexe “Ailes d’insectes”] *imprimante (facultatif)  +, Roule des petites billes de papier d'aluminium. Étale une grande feuille d'aluminium sur la table puis dépose les billes d'aluminium dessus. C'est prêt !  +, Frotte le ballon gonflé sur tes cheveux puis approche-le des billes d'aluminium posées au dessus de la feuille d'aluminium, sans les toucher.''' Que remarques-tu ? Que s’est-il passé ? '''  +,
<div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Attention, ne jamais manipuler le billet à la main !</div> </div><br/>  +, Le billet doit vraiment être entièrement mouillé, un bout resté sec brûlera.    +, Tenir toujours le billet avec la pince et le placer au dessus de l'assiette.    +,
Pour commencer, rassemble le matériel nécessaire à l'expérience : *des feuilles A4 *des crayons de couleurs/feutres jaune, vert, bleu *des ciseaux *annexe “[https://www.wikidebrouillard.org/images/6/61/Biodiversit_-_Diversit_des_esp_ces_et_des_milieux_Vignettes_esp_ces.pdf Vignettes espèces]” *annexe “[https://www.wikidebrouillard.org/images/9/9c/Biodiversit_-_Diversit_des_esp_ces_et_des_milieux_Poster_des_milieux.pdf Poster des milieux]” *annexe “[https://www.wikidebrouillard.org/images/b/b8/Biodiversit_-_Diversit_des_esp_ces_et_des_milieux_R_ponse_-_milieux_et_esp_ces.pdf Réponse - milieux et espèces]” *annexe “[https://www.wikidebrouillard.org/images/8/84/Biodiversit_-_Diversit_des_esp_ces_et_des_milieux_Carte_du_monde.pdf Poster carte du monde]” Si tu as, tu peux utiliser aussi : 1 imprimante couleur (facultatif)  +, * Réunis des crayons de couleurs et/ou des feutres jaune, vert et bleu. *Prends 4 feuilles et trace le contour de chaque feuille avec une couleur attitrée : jaune, vert, bleu et blanc. *Si tu as une imprimante couleur, imprime l'annexe "[https://www.wikidebrouillard.org/images/6/61/Biodiversit_-_Diversit_des_esp_ces_et_des_milieux_Vignettes_esp_ces.pdf Vignettes espèces]” et découpe les vignettes. *Si tu n’as pas d’imprimante couleur, découpe 21 rectangles de papier (tu peux plier deux feuilles A4 en 4 pour avoir 32 rectangles). *Ouvre l’annexe “[https://www.wikidebrouillard.org/images/6/61/Biodiversit_-_Diversit_des_esp_ces_et_des_milieux_Vignettes_esp_ces.pdf Vignettes espèces]” et note sur chaque rectangle le nom d’une espèce présente sur l’annexe.   +, *Les 4 feuilles, de 4 couleurs différentes, représentent chacune '''UN milieu naturel.''' *A quoi la feuille jaune te fait-elle penser ? Dessine ou écris ce à quoi tu penses sur la feuille. *Répète cette même action avec les trois autres couleurs. *Ouvre ensuite l'annexe "[https://www.wikidebrouillard.org/images/9/9c/Biodiversit_-_Diversit_des_esp_ces_et_des_milieux_Poster_des_milieux.pdf Poster des milieux]" et associe à chacune de tes feuilles le milieu naturel correspondant. *Ouvre maintenant l'annexe "[https://www.wikidebrouillard.org/images/8/84/Biodiversit_-_Diversit_des_esp_ces_et_des_milieux_Carte_du_monde.pdf Carte du monde]" et associe à chacune de tes feuilles le lieu où se trouve le milieu naturel. *'''Selon toi, quelles espèces peux-tu rencontrer dans chacun de ces milieux ?'''   +,
Pour commencer, rassemble le matériel nécessaire à l'expérience : *des crayons *une feuille de papier *annexe "[https://www.wikidebrouillard.org/images/2/20/Biodiversit_-_Diversit_des_individus_Questionnaire_qu_est-ce_qui_te_rend_unique.pdf Questionnaire : qu'est-ce qui te rend unique]" <u>Si tu as, tu peux utiliser aussi</u> : *1 imprimante (facultatif)  +, Ouvre l’annexe “[https://www.wikidebrouillard.org/images/2/20/Biodiversit_-_Diversit_des_individus_Questionnaire_qu_est-ce_qui_te_rend_unique.pdf Questionnaire : qu’est-ce qui te rend unique]”. *Imprime le questionnaire. *Si tu n’as pas d’imprimante, prends une feuille de papier.  +, *Remplis ou réponds sur une feuille au questionnaire "[https://www.wikidebrouillard.org/images/2/20/Biodiversit_-_Diversit_des_individus_Questionnaire_qu_est-ce_qui_te_rend_unique.pdf Qu’est-ce qui te rend unique]” *'''Choisis plusieurs personnes de ta famille ou des ami·e·s, puis, recherche les ressemblances et les différences entre vous.''' Pour faciliter les comparaisons, tu peux faire remplir le questionnaire également à ces personnes. *En ce qui concerne les caractères physiques décrits dans le questionnaire (couleur des cheveux, des yeux… ): '''qu'avez-vous en commun ? Mais sont-ils tous identiques ?''' *'''Selon toi, qu’est-ce qui rend chaque individu unique ?'''   +
mettre 2 cuillères à soupe de maïzena dans le sachet plastique  +, ajouter 2 cuillères à soupe d'eau et malaxer le sac  +, ajouter 6 gouttes d'huile et malaxer le sac  +,
Montage du circuit  +, Transfert du programme sur la carte WeMos  +, Fabrication des boites "gare" et "wagon"  +,
Voici le diagramme complété.  +, Sous forme de discussion, commencer par : *Associer les quatre définitions à leurs titres. Pour cela, faire le lien avec les autres expériences réalisées précédemment ; *Positionner le titre et sa définition sur le diagramme « Schéma représentant les quatre catégories de critères permettant de définir et d’évaluer l’état des cours d’eau ».  +, Utiliser la page une du document « Schéma décrivant la façon dont la classe de qualité est déterminée pour les cours d’eau » afin de comprendre de quelle façon fonctionne la note donnée aux écosystèmes. - Commencer par repérer qu’il suffit d’une note dégradée à un sous-critère pour que la note globale soit dégradée ; - Sur la page 2, déterminer la classe globale du cours d’eau ; - Sur la page 3, déterminer les sous-classes puis la classe globale du cours d’eau.  +,
Liste du matériel nécessaire: * 2 joysticks * 17 boutons (prévoir quelques boutons supplémentaires pour le remplacement) * 1 raspberry Pi * une carte SD * 2 Cartes hotkey * 1 adaptateur usb vga (en fonction de l’écran utilisé) * 1 écran * 2 câble USB 2 mâle/ USB 3 mâle * 1 paire d'enceintes * 1 clavier  +, Lien vers le modele 3D de la borne d'arcade: https://app.sketchup.com/share/tc/europe/LZH66Sw_kL0?stoken=sEU88ql9XvYLjVbO9LgSDM5VoZ7JtOarPwgxAJBlWttVOtI2Th00lahoVX8qJ5F5&source=web //!\\ Pour le montage, prévoir des cales/tasseau pour faciliter l'assemblage et permettre de déposer la planche avec les contrôles sans devoir visser. Cela permettra le remplacement du matériel et le mapping.  +, Munissez vous de votre carte SD, téléchargez recallbox (cf le lien en dessous) puis installez le sur la carte SD. https://www.recalbox.com/fr/download/stable/rpi/ //!\\ Point de vigilance: Sélectionnez le bon type de recallbox. Celui-ci dépend de votre type de raspberry  +,
Placer la bougie au centre du bocal puis allumer là. La bougie ne doit pas dépasser du bocal.  +, Verse un fond de vinaigre dans le bocal (la mèche de la bougie ne doit pas entrer en contact avec le vinaigre).  +, Met le bicarbonate dans le bocal avec la cuillère en évitant d'en verser sur la flamme de la bougie. Que se passe-t-il ?  +,
* Déchirer un morceau de papier pour en faire une boulette qui puisse entrer dans le goulot de la bouteille. * Coucher la bouteille sur une surface plane. * Placer la boulette dans le goulot de la bouteille. * Essayer de faire entrer la boulette dans la bouteille. Attention, pas le droit de toucher la [http://ancien.wikidebrouillard.org/index.php?title=Bouteille bouteille], ni la [http://ancien.wikidebrouillard.org/index.php?title=Boulette&action=edit&redlink=1 boulette] !   +
* Coupe une rondelle de bouchon de liège * Verse de l’eau dans la bassine * Déplie le trombone et coupes-en un bout. * Frotte une des extrémités du trombone avec l’aimant (si on a une épingle ou une aiguille, il suffit de la frotter avec l'aimant de la même manière) <br/>   +, Prépare : *Un aimant puissant *Un bouchon de liège *Un trombone (ou une épingle/aiguille) *Un cutter *Une bassine remplie d'eau *Une pince coupante (facultatif) <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">...Attention avec le cutter ou la pince coupante !</div> </div><br/>  +, Dépose le bouchon sur l'eau, pose le trombone ou l'aiguille sur le bouchon et observe ce qu'il se passe !  +
Pour l'alimentation, vous pouvez faire fonctionner la boite en 5V c'est donc assez souple : * Avec un chargeur de téléphone * Une batterie "power bank" pour téléphone * des piles en série (3 piles 1,5 V font parfaitement l'affaire) * ... Pour le haut-parleur, j'ai trouvé le mien dans un vieil ordinateur. Sur la photo, il manque du carton pour fabriquer la boite ainsi que les outils.  +, Pour faciliter les branchement, nous allons souder des embouts femelles de câbles dupont. Pour cela, on coupe des câbles et on dénude.  +, En ajoutant des embouts femelles de la même façon. La gaine thermo-retractable consolide les soudure et protège des contacts involontaires.  +,
Prendre une brosse en plastique souple à dent et couper la tête. A l'aide d'une pince, arrachez les poils du centre sur 4 rangées  +
* Découper la boîte de pellicule photo à la moitié de sa hauteur. Déposer la bille dans le fond de la boîte et la remplir d'huile. * Poser la boîte dans le verre et verser autour de celle-ci de l'alcool à brûler jusqu'à recouvrir la boîte. * Verser ensuite de l'eau tout doucement le long de la paroi du verre.   +
C
Réaliser l'axe avec d'un côté l'endroit où poser la balle, et d'un autre la où va venir taper le verre. L'axe fixe mesure 15cm, et celui qui sert à jeter la balle en mesure 30. Fixer avec une vis un simple bouchon de bouteille au bout de celui de 30cm afin de pouvoir y poser la balle (ou l'objet que vous souhaitez lancer).  +, Fixer l'axe aux armatures à l'aide des vis qui vont être vissées dans le bois, mais '''libres dans l'armature''' afin que l'axe puisse tourner (la rotation n'est pas possible si l'armature est vissée avec, donc <u>on y fait juste passer les vis</u>). Fixer la catapulte au support avec des vis (ici, le support est une planche de bois issue de recup) .  +, On fixe trois tasseaux verticaux de 50cm pour cadrer la chute du verre et le faire bien tomber sur la catapulte.  +,
Observe les différentes photos Quelles différences observes-tu? Quelles ressemblances oberves-tu?  +, Sur ces photos, nous remarquons que les coupes ont globalement une forme circulaire, avec des traits concentriques. Les espacements entre les traits sont réguliers ou irréguliers selon les arbres. On peut également bien observer l’écorce sur la photo 1 et 4. Chaque année, l’arbre possède une nouvelle cerne (cercle)  annuelle permettant de découvrir son passé et sa manière dont il a grandi. <br/>  +, Chaque cercle du tronc d’un arbre correspond à une année de croissance. Quel âge à l’arbre sur ce dessin? Puis sur la photo? Les couleurs de la photo ne sont pas naturelles, c'est pour te faciliter à compter les cernes! <br/>  +,
Essayer de faire tenir la canette sur son arête inférieure. Que se passe-t-il ?  +, Prends une canette et remplis-la d'eau, environ au tiers de son volume. Tu peux aussi le faire avec de la semoule, du sable ou de la farine, il faut juste que le matériau soit liquide ou composé de très petits grains.  +, Tu peux essayer avec différents niveaux dans la canette ou essayer de la remplir avec d'autres matériaux pour voir ce qui peut changer.  +,
Les trous rebouchés avant n'étant pas assez gros, il est nécessaire d'en créer à nouveau car le débit d'air qui circulera se doit d'être important. Pour cela, la perceuse, la scie sauteuse et la lime, nous ont été d'une grande aide. (Pour le grande tube en métal il est possible de prendre un tube de pvc, qui sera donc plus simple à percer. Cependant, il faudra une méthode différente pour le fixer au contenant à air.)  +, Il faut ensuite assembler les pièces entre elles, visser la tuyauterie à l'extincteur et au tube de propulsion.  +, Après avoir bien fini d'assembler chaque partie du canon, il est l'heure d'effectuer les premiers tests! A première vue, la puissance n'était pas très élevée, cela à cause des fuites d'air dans la tuyauterie. De plus, il nous semblait plus pratique de réduire la taille du tube de propulsion.  +,
'''<u>Pour commencer, rassemble le matériel nécessaire à l'expérience :</u>''' - un verre - une planche à découper - un couteau - de l’eau - du colorant alimentaire de couleur vive (rouge, bleu ou vert) ou de l’encre rouge ou bleu foncé - une branche de céleri avec des feuilles - 2 sacs en plastique transparents - 2 élastiques '''<u>Si tu as, tu peux utiliser aussi :</u>''' - 2 verres - de l’argile en poudre - du sel - du papier essuie-tout  +, - Ajoute du colorant alimentaire ou de l’encre dans un verre d’eau. - Fais tremper la branche de céleri dans l’eau colorée. - Avec un sac plastique, enferme hermétiquement une feuille attachée à la branche de céleri à l’aide d’un élastique. - Enferme juste de l’air avec un autre sac et ferme-le hermétiquement, de la même façon. - Observe régulièrement le céleri et les sacs plastiques. - Attends le lendemain pour réaliser la suite de l’expérience.  +, <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Demande à un adulte de t'aider</div> </div>- Sur la planche à découper, coupe une petite lamelle du bas du céleri à l'horizontale puis une autre lamelle à la verticale. '''Que remarques-tu ?''' - Observe les feuilles du céleri : '''que vois-tu ?''' - Observe  également les deux sacs plastiques. '''Que se passe-t-il sur leurs parois ? Voit-on la même chose sur les parois des deux sacs ? Pourquoi ? À quoi sert le sac vide ?''' Tu peux compléter cette expérience en la reproduisant avec des fleurs blanches. Après les avoir trempées quelques jours dans l’encre ou le colorant alimentaire, tu pourras voir les pétales se colorer !  +,
Téléchargez le fichier [https://cloud.debrouillonet.org/s/TQR2Ad43267ZFcK Captobox.m5b] et téléversez le sur le site (CUSTOM (Beta)>open *m5b file) puis sélectionnez le fichier précedement téléchargé  +, Glissez déposez un "label" un zone de texte sur l'écran du M5StickC, puis recopiez le code suivant  +, Appuyez sur le bouton Lecture en haut à droite et si votre M5Stick est bien sur le même réseau et bien configuré, vous devriez voir apparaître la concentration en milligramme par metre cube d'air(μg/m3) de particules PM1.0 Attention, sur la photo c'est pas des ppm mais μg/m3  +,
Réaliser le montage suivant : C'est à dire : SDA a A4, SCL a A5, GND a GND et VIN a 5V  +, * Télécharger la librairie du capteur et placer la dans /Arduino/librairies (on dézippe et on crée un nouveau dossier). Lien pour le téléchargement : https://github.com/adafruit/Adafruit-BMP085-Library/archive/master.zip   +, <nowiki>Copier-coller ce code dans le programme arduino puis le téléverser dans la carte : #include "Wire.h" <br />#include "Adafruit_BMP085.h" // librairie spéciale pour cette famille de capteurs<br />Adafruit_BMP085 mySensor; // on crée un objet du type souhaite<br />float tempC; // variable qui contiendra la température <br />float pression; //variable pour la pression<br /> //A noter : la pression est renvoyé en Pa (Pascal), la météo donne la pression en hectoPascal, suffit d'enlever les 2 derniers chiffres tout simplement...<br />void setup() {<br /> Serial.begin(9600); //Pour changer, on lance la transmission PC - arduino<br /> mySensor.begin(); //Et la communication capteur-arduino<br />}<br />void loop() {<br /> tempC = mySensor.readTemperature(); //On lit la temperature <br /> pression=mySensor.readPressure(); //et on lit la pression<br />Serial.print("Temperature : "); <br />Serial.print(tempC);<br />Serial.println("C");<br />Serial.print("Pression: ");<br />Serial.print(pression);<br />Serial.println(" Pa");<br />Serial.println("");<br />delay(1000); <br />}</nowiki>  +,
1. Effectuer le câblage ci-dessous.  +, 1. Effectuer le câblage ci-dessous. (suite)  +, Télécharger le logiciel ARDUINO sur http://arduino.cc/en/main/software  +,
Cette étape, relativement simple, a consisté en réaliser des mesures et scier les premières pièces dans le bois afin de créer la base rectangulaire de notre catapulte.  +, Après avoir obtenu une structure, nous avons entamé la partie perçage afin de rajouter à cette structure de quoi soutenir notre mécanisme de projection (à l'aide de tourillons).  +, Réalisation de pièces nécessitant une certaine précision (engrenage, cuillère de projection).  +,
• Taille des encoches dans un socle de polystyrène, puis y enfonce les deux carrés face à face (les surfaces couvertes d'aluminium doivent être face à face). • Recouvre la boule de papier aluminium en mettant une des extrémités du fil sous celui-ci, avec un peu de colle, pour pouvoir ensuite la suspendre à une paille dans laquelle a été taillée une encoche. Plante ensuite la paille dans le socle restant. • Dispose la boule suspendue entre les deux plaques, sans qu'elle ne les touche. <br/>  +, • Prépare une boule en aluminium ainsi que deux socles en polystyrène expansé. • Découpe ensuite deux carrés de papier cartonné. Leur dimension doit être d'environ deux fois le diamètre de la boule, ni trop petit, ni trop grand. • Sur une face de chacun des carrés, colle une feuille d'aluminium. Attention ! Un seul des côtés doit être recouvert d'aluminium. <br/>  +, • Frotte un objet en plastique, ici une paille, tu peux le faire aussi avec une règle, avec un vêtement et approche-le d'un des carrés, puis éloigne-le.  +
Télécharger les fichiers et les imprimer sur des feuilles transparentes.  +, Choisissez les couches que vous voulez et essayez de trouver des liens entre elles, ou des anomalies. Y-a-t-il des usages qui ne sont pas compatibles avec le territoire ?  +, On y retrouve la terre et la mer. Qu'est-ce qui n'est pas représenté ? *Le relief ; *Les cours d'eau ; *Les habitations. On obtient alors une carte similaire à ce que l'on pourrait observer depuis le ciel. Mais ce type d'outil permet également de représenter des informations qui ne sont pas directement visibles.  +,
Nous avions le choix entre le trébuchet et la catapulte. Nous avons opter pour la catapulte car c'est le projet qui nous a paru le plus intéressant, elle permet plus de précision et lance les projectiles avec une vitesse plus réduite, ce qui dans un cadre scolaire nous parait plus judicieux.  +, En choisissant la catapulte, nous avons opté plutôt pour la précision que la puissance. Donc pour compenser ce manque de puissance qui aurait pu nous poser problème, nous avons testé et analysé plusieurs idées de conception en fonction de l'orientation de l'élastique pour voir la position dans laquelle l'élastique est le mieux placé pour obtenir un résultat satisfaisant.  +, Nous avons récupéré les matériaux utilisés pour la conception de la catapulte dans un chantier proche de l'école, ce qui nous a permis d'avoir le bois adapté. Par le biais de l'école, nous avons commandé un élastique robuste ainsi que des équerres de maintient et des vis. Nous avions déjà une cible et des fléchettes ce qui nous a permis de réduire les coûts considérablement.  +,
Pas de photo désolé Il suffit juste de planter une vis dans un bout de bois rectangulaire et suffisamment allongé Il faut ensuite faire un trou à l'aide d'une perceuse sur le côté de ce dernier  +, Pas de photo encore Il suffit de creuse 2 trous dans le bâtis à égale distance dans le bâtis, puis y rajouter une tige métallique faisant office d'axe. Il ne reste plus qu'à ajouter le levier précédemment fabriqué.  +
Avant de foncer tête baissée dans la construction de notre catapulte, il faut réfléchir un peu à quoi elle va ressembler. Il faut '''imaginer chaque pièce''' et savoir comment les modéliser avec le logiciel '''CATIA'''. Il faut également choisir des '''dimensions''' qui nous conviendraient afin que l’assemblage puisse se dérouler comme on le souhaite.  +, A présent, nous devons nous lancer dans la '''modélisation''' de chacune des pièces. Il faut faire attention aux '''dimensions''' et prendre en compte le fait que '''l’imprimante''' '''3D''' n’est pas hyper précise donc il ne faut pas faire de pièces trop fines par exemple. Et il faut laisser un peu de jeu entre les pièces qui doivent pivoter entre elles pour que tout se passe bien.  +, Une fois les pièces imprimées, il faut utiliser une pince pour '''enlever les supports''' qui sont collés aux pièces et il faut limer certaines pièces pour plus de précision.  +,
Commencez à créer le caisson de base. Nous avons juste à assembler les pièces en bois ainsi que la base que nous avons déjà découpé ! On assemble alors les planches, les 4 triangles, et le fond. Nous avons utilisé ici de la colle à bois, mais si on utilise des planches plus épaisses alors on pourra utiliser des vis.  +, Le moulinet servira à tirer le bras de lancer pendant la tension de l'élastique. On assemble les cubes troués avec les roulements à billes de handspinner. Nous avons utilisé un ancien stylo à bille dont on a retiré le fond et l'encre du stylo, en son centre on perce un petit trou pour faire passer le fil. Enfin on fixe les bouts du stylo dans les roulements à billes. Puis on colle au pistolet à colle chaude les cubes en bois à une extrémité du cercle servant de plateau tournant.  +, Commencer par découper la base de votre plateau. Nous l'avons fait avec un classeur de récupération. Un cercle de diamètre 20 cm, avec un fin trou au centre. Puis avec la deuxième face du classeur on découpe un carré plein de 25 cm de coté, avec un trou au centre. Le fond de la cagette en carré de 25 cm de coté.  +,
Comme tout projet qui se respecte, nous avons commencé par faire un croquis afin de se rendre compte des pièces à façonner et des dimensions de celles-ci.  +, Certaines pièces vont être créées par nous même! Pour ce faire, nous allons aller au "Jlab" de notre école afin façonner les pièces de nos rêves.  +, Nous avions un objectif de créer cette catapulte en réduisant au maximum nos dépenses… Objectif réussi puisque le seul achat que nous avons eu a effectuer est de la colle de bois, une catapulte aussi incroyable pour 1,47 euros, vous êtes bouche bée non?!  +,
- Sur la planche de 80 cm fixer le bol en plastique à l'opposé du coté qui possède le trou. - Placer la planche de 80 cm afin que tous les trous des différentes pièces soit alignés.  +, - Découper 1 plaque de contreplaqué de 45x40 en diagonale pour avoir 2 triangle égaux. - Découper 2 planches de 90 cm. - Découper 1 planche de 80 cm. - Découper 4 planches de 40 cm. - Découper 1 planche de 45 cm. - Découper 2 bâtons ronds de 40 cm. - Faire 1 trou sur chaque planche de 90 cm à 15 cm d'une extrémité, et 1 trou sur chaque plaque de contreplaqué au même niveau que celui de la planche quand vous placez le côté adjacent de la plaque le long de la planche. - Faire un trou dans l'épaisseur de la planche de 80 cm à 6 cm d'une extrémité.  +, 1) <u>Coté 1 de la structure :</u> - Prendre une planche de 90 cm et une planche de 40 cm. - A 40 cm du bout de la planche de 90 cm, visser la planche de 40 cm perpendiculairement à la planche de 90 cm, puis, ajouter 1 équerre d'assemblage pour un meilleur maintien. - Visser la plaque de contreplaqué à la construction en faisant correspondre l'angle droit du triangle à celui de la structure et en veillant à ce que les bords du triangle longent bien le bord de la planche perpendiculaire et celui de l'autre planche au niveau du sol, et en faisant apparaitre le trou réalisé à l'étape 1. 2) <u>Côté 2 de la structure :</u> - Recommencer la même opération que pour le côté 1. 3) <u>Assemblage des 2 côtés :</u> - Relier les deux côtés en vissant à chaque extrémité des planches de 90 cm une planche de 40 cm. Cela forme un rectangle de 90x40 pour la base de la catapulte. - Visser une planche de 45 cm sur les 2 planches perpendiculaires, en haut et sur la partie opposée de l'assemblage des planches et des triangles, pour les relier.  +,
Nous avons besoin d'une planche en bois, d'un élastique, de quelques clous ou de la colle pour assembler la catapulte.  +, Avant de commencer à construire, il est important de dessiner un plan de notre catapulte. Cela nous aidera à déterminer la taille, la forme et l'emplacement des différentes parties de la catapulte.  +, On commence par construire la base de la catapulte en utilisant du bois. On utilise une planche de bois pour créer la base. La base doit être suffisamment solide pour supporter la tension de l'élastique.  +,
A l'aide de colle, il faudra coller le raccord tube/vanne au bout de votre tube. Maintenant coupez votre tube pour qu'il fasse un longueur d'environ 30-35cm et collez le "Raccord tube" sur le bout du tube. Votre tube est prêt !  +, A l'aide d'une lime, enlevez le pas de vis du goulot de la bouteille ( attention de ne pas trop limer, enlevez uniquement le pas de vis ). Ensuite, trouez le fond de votre bouteille du diamètre de votre valve ( de même, attention de ne pas faire un trop gros trou ) et insérez votre valve dedans avec un peu de colle. A l'aide de colle, il faudra coller la vanne au goulot de votre bouteille. Mettez une bonne dose de colle, c'est grâce à cette opération que la bouteille va devenir hermétique. La bouteille est prête ! Vous pouvez assembler la bouteille et le tube.  +, Coupez un planche de 30x30cm puis découpez deux supports de la hauteur que vous souhaitez. Vissez le tout comme sur la photo.  +,
Pour la première étape, vous allez vous rendre sur Internet pour étudier le sujet de votre futur travail. Vous regarderez différents modèles de catapultes, grand ou petits, en bois ou en plastique, etc... afin de pouvoir y réfléchir seul ou en groupe et décider comment sera votre construction.  +, Rendez vous sur un site de modélisation tel que SolidWorks, Catia, Sketchup que vous pourrez trouver gratuitement sur Internet. Ces logiciels sont plus ou moins faciles à prendre en main mais certains tutos Youtube suffiront à maîtriser les bases pour une structure simple tel qu'une catapulte. Avant de modéliser, il est essentiel de savoir comment imprimer en 3d sa catapulte. Il ne fait pas créer de parois volantes ou non imprimables physiquement parlant. Vous pouvez donc penser à imprimer chaque pièce une à une puis les assembler lors du montage ou encore mettre votre catapulte sous forme de patron comme nous verrons ensuite.  +, Notre catapulte est sous forme de patron comme ci-joint. A gauche de l'écran se retrouve les normes de l'objet créé et sont donc ajustables en fonction de nos critères mais aussi de la capacité de l'imprimante à imprimer jusqu'à une dimension finie. On peut donc effectuer des retouches visuelles et de design pour perfectionner notre travail .  +,
ketchup agar-agar eau huile végétal casserole verre écumoire saladier entonnoir  +, Une fois le ketchup chaud ajouter un sachet de agar-agar, puis remettre le mélange dans le flacon du ketchup avec l’entonnoir  +, Remplir un verre d’huile végétal  +,
<br/> * une ou plusieurs bougies ( bougies chauffe plat par exemple) * une assiette * une boîte d'allumettes ou un briquet * un ou plusieurs bocaux en verre * De l'eau  +, Verse un peu d'eau au fond de l'assiette (on peut mettre du colorant dans l'eau pour que l'expérience soit plus visible). <br/>  +, Mets la bougie au milieu de l'assiette. Puis allume là !<div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">...Attention en allumant de ne pas te brûler, ou de ne pas enflammer ce qui pourrait y avoir aux alentours.</div> </div> Couvre la bougie avec le verre puis observe ce qu'il se passe !  +
* Réaliser le montage en suivant la vidéo/le schéma.   +, * Lancer le logiciel Arduino.   +, * Brancher l'Arduino sur un port USB de l'ordinateur.   +,
Les sites d’informations en ligne, sur des réseaux sociaux, les sites collaboratifs peuvent fourmiller de fausses informations. Alors comment discerner le vrai du faux ? Voici quelques pistes. <br/> * Vérifier la source de l’information Il est très important de chercher la source de l’information. Vient-elle d’un spécialiste sur le sujet ou de Gérard, notre voisin bavard et intempérant ? Si cette information est rapportée par quelqu’un, qui est à l’origine de cette information ? Dans le cas où cette information vient d’un spécialiste, est-elle validée par ses pairs (ex. communauté des médecins dans le cas d’une fake news liée à une découverte d’un remède miracle) ? <br/> * Vérifier la confiance d’un site web Certains site internet sont plus sujets à être vecteurs de fake news que d’autres. Certains sites sont parfois volontairement satyriques (ils créent des articles humoristiques, parfois confondus comme de véritables informations ; l[http://www.legorafi.fr/ e Gorafi], [https://www.theonion.com/ The Onion], [https://parentsprofslemag.fr/ ParentsProfs], etc.) d’autres ne vérifient pas scrupuleusement leurs sources avant de rapporter une information. Voici un outil qui peut être utile pour tester la confiance envers un site internet : le [https://www.lemonde.fr/verification/ Décodex] créé par le magasine d’information Le Monde. <br/> * Visionner des médias spécialisés dans le « fact checking » Il est aussi possible de vérifier une information en la recherchant sur des sites spécialisés dans la discrimination d’informations. - Les Décodeurs du Monde : https://www.lemonde.fr/verification/ - Le vrai du faux de France info : https://www.francetvinfo.fr/vrai-ou-fake/ ou en version émission de radio https://www.francetvinfo.fr/replay-radio/le-vrai-du-faux/ - La désintox de Libération : https://www.liberation.fr/desintox,99721 - Factuel de l’AFP : https://factuel.afp.com/ - Hoaxbuster : https://www.hoaxbuster.com/ - La rubrique « fact check » de The Conversation : https://theconversation.com/fr/search?utf8=%E2%9C%93&q=fact+check - La chaîne Youtube WTFake de Aude Favre : https://www.youtube.com/channel/UC8Ux-LOyEXeioYQ4LFzpBXw - Moins fourni, mais non moins intéressant, les articles publiés sur Latribune (site d’information québécois) : https://www.latribune.ca/actualites/verification-faite  , Une vidéo peut elle aussi être une source de désinformation. S’agit-il plutôt d’une vidéo de « divertissement » ou plutôt de style « documentaire » ? En fonction du format, il peut y avoir plusieurs moyens pour falsifier une vidéo. Cela peut-être par exemple : - un montage vidéo ou/et une bande sonore trompeurs - un trucage vidéo (équivalent pour la vidéo de la « retouche » photographique) - etc. Pour appuyer tout cela, je vous invite à consulter le formidable travail réalisé par cette classe de 2nd : https://vimeo.com/166931978 et ce reportage réalisé avec une classe de CM2, qui démontre parfaitement à quel point 2 montages différents peuvent conduire à des informations opposées : https://www.reseau-canope.fr/notice/sens-critique.html <br/> * Mais alors comment s’en prémunir ? → Chercher d’éventuelles zones floues (car comme pour les retouches photo, les retouches vidéo laissent des traces). Se méfier généralement des vidéos de mauvaise qualité qui sont beaucoup plus simples à truquer. → Chercher d’éventuels mauvais raccords. → S’extraire de la musique d’ambiance s’il y en a une pour éviter d’avoir notre esprit critique trompé. Exemple d’une vidéo truquée et largement diffusée lors de l’incident de l’usine Lubrizol à Rouen : https://www.20minutes.fr/faits_divers/2613663-20190926-incendie-usine-lubrizol-rouen-attention-video-montre-incendie-site-seveso  +, Il est temps de faire appel à un spécialiste. Il faut alors regrouper toutes les questions que l’on se pose par écrit et trouver quelqu’un qui pourrait nous aider à y répondre. Une vidéo étonnante d’un aigle qui capture un jeune enfant ? Pourquoi ne pas essayer de contacter un ornithologue (scientifique qui étudie les oiseaux) ou une association d’ornithologie qui aurait des contacts à nous transmettre. Un article stupéfiant sur le Covid-19 ? S’il a quelques minutes à nous accorder, nous pourrions poser nos questions à un médecin, qui se tient au courant des recherches scientifiques dans le domaine.  +,
Tenir verticalement les deux feuilles, face-à-face, à environ 10 centimètres l'une de l'autre. * Souffler entre les feuilles.  +
Ecrasez ces feuilles sur un filtre à café à 2cm au-dessus du bas du filtre. Faire comme une ligne de couleur verte horizontal.  +, Plongez alors la base du filtre à café dans un récipient avec dans le fond de l'alcool à brûler. Dans cette étape, ce liquide est appelé éluant. Il permet de séparer la couleur étudiée.  +, Au bout de quelques minutes qu’observez-vous ?  +
* Découpe le filtre à café ''Le but du découpage est d'avoir une large et haute bande de papier filtre. Nous proposons un exemple ici mais tu peux découper à ta façon.'' <br/> * Coupe en deux parties égales le filtre à café, dans le sens de la hauteur. * Prends une des deux parties, et découpe les parties collées du filtre. * Ouvre ensuite le pliage en deux et coupe au milieu sur le pli * Dessine 3 gros points de couleurs différentes. <br/>   +, Trempe doucement le bout du filtre dans le verre d’eau. '''Attention: l'eau ne doit pas arriver au niveau des points, elle doit juste mouiller le bas du papier filtre.''' Qu'observes-tu ?  +, *3 feutres de couleur différentes (par exemple : bleu, jaune, vert) *1 filtre à café *1 paire de ciseaux *Un verre avec un fond d'eau   +
''Le but est d'avoir les 2 LED qui se suivent : elles sont branchées en série''. *Avec les fils électriques, relie la borne + de la pile à l'anode de la première LED (la patte la plus longue, la borne positive) *Relie la cathode (la petite patte, la borne négative) à l'anode de la seconde LED *Relie la cathode de la seconde LED à la borne - de la pile, comme sur ce schéma. *Observe. *Refais le même branchement avec tous les composants branchés en série dans le même circuit, et observe.  +, ''Le but est d'avoir les 2 LED branchées aux mêmes endroits : elles sont en parallèle''. *Avec les fils électriques, relie la borne + aux 2 anodes : les pattes les plus longues des LED doivent être reliées au même fil. *de même pour les cathodes : elles doivent être reliées par le même fil à la borne - , comme sur ce schéma. *Observe. *Refais le même branchement avec tous les composants branchés en parallèle dans le même circuit, et observer.  +, Mesure les différences de tension électrique selon le montage. Pour cela, relie : *la borne rouge (c'est à dire + ou V) du multimètre/voltmètre à l'endroit du circuit d'où arrive le courant ; *la borne noire (COM) du multimètre/voltmètre à l'endroit où part le courant. Par exemple, pour vérifier une pile, on branche la borne V à la borne + de la pile et COM au -. Pour une LED, on reliera l'anode à la borne V et la cathode à la COM  +,
Prendre une feuille A3, y dessiner un grand rectangle. Quel nom donner à cette boite pour que tous les jouets ou vignettes puissent y entrer ? Réponse: Vivant  +, Est ce que toutes les vignettes se ressemblent ? Normalement le tri se fait facilement entre animal et végétal. Ici, le champignon peut être ignoré. On trace alors deux boites. La première qu'on nomme végétal et l'autre qu'on nomme animal. On y glisse ensuite les vignettes correspondantes. Se pose alors la question du champignon dans quelle boite rentre t-il ? Il rentre dans vivant mais ne peut pas rentrer dans végétal ni dans animal. Ici on a donc deux solutions, soit on trace une troisième boite qu'on nomme champignons soit on laisse la vignette dans la boite vivant. <br/>  +, En suivant la même méthodologie, on peut se focaliser sur la taille de l'organisme. On forme une nouvelle boite "arbres".  +,
Tu dois trouver un moyen d'agencer tes 12 clous pour les faire tenir en équilibre sur ton support, sans outil ni matériel supplémentaire. <br/>  +, Tu peux commencer par manipuler les clous et le support. C'est une façon de "réflechir" avec les mains. Tu peux également essayer de réflechir à des choses que tu connais déjà et qui font tenir plusieurs objets en équilibre. Tu peux aller voir ces vidéos, elles pourraient te donner des idées. http://phymain.unisciel.fr/acrobaties-autour-du-centre-de-gravite/ http://phymain.unisciel.fr/un-manege-avec-une-assiette/ [https://www.wikidebrouillard.org/w/Equilibre_d'une_r%C3%A8gle_et_d'un_marteau Equilibre d'une règle et d'un marteau] [[L'équilibriste]] <br/>  +, Pour voir une solution (il en existe certainement d'autres) tu dois cliquer sur les images dont tu peux voir les icônes sur la gauche.  +,
<nowiki>Cette première étape permet à un Wemos D1 mini (ou autre carte compatible Arduino avec puce Wi-Fi) de se connecter au Wi-Fi dans un environnement connu, et qui ne change pas ; C'est-à-dire que l'on à accès à une borne Wi-Fi, on connait son mot de passe - aka "clé de sécurité réseau", et a priori la carte va rester dans cet environnement.<br /><br /><br />Ces bibliothèques sont pré-chargées dans l'environnement Arduino, il n'est pas nécessaire d'aller les chercher dans le gestionnaire de bibliothèques.<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">Connexion Wi-Fi de base<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include <ESP8266WiFi.h> // Pour le Wemos D1 Mini, ou ...<br />#include <WiFi.h> // ... Pour l'ESP32<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création de l’objet<br /></td><td valign="middle" align="left"><br /></td></tr><tr><br /><td rowspan="3" valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Démarrage de la connexion<br /></td><td valign="middle" align="left">WiFi.begin(SSID, SecKey) ; // Où SSID est le nom du point d'accès Wi-Fi, et SecKey son mot de passe<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Test de la connexion<br /></td><td valign="middle" align="left">if (WiFi.Status() == WL_CONNECTED) { (...) }<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Récupération de l'adresse IP<br /></td><td>WiFi.localIP() ;<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td>Le test de la connexion, et la récupération de l'adresse IP peuvent aussi être utilisés dans le loop().<br /></td></tr></table><br /><br /><br />Pour connaître toutes les autres possibilités de ces bibliothèques, voir leurs références, respectivement [https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi ici] (D1 Mini) et [https://github.com/espressif/arduino-esp32/tree/master/libraries/WiFi ici] (ESP32).<br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cm">/* =========================================================================================================</span><br /><span class="lineno"> 2 </span><span class="cm"> * </span><br /><span class="lineno"> 3 </span><span class="cm"> * CODE MINIMAL RESEAU - ETAPE 1 : connexion basique au Wi-Fi</span><br /><span class="lineno"> 4 </span><span class="cm"> * </span><br /><span class="lineno"> 5 </span><span class="cm"> * ---------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 6 </span><span class="cm"> * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno"> 7 </span><span class="cm"> * ========================================================================================================= */</span><br /><span class="lineno"> 8 </span><br /><span class="lineno"> 9 </span><span class="c1">// Bibliothèques WiFi : UNE SEULE EST NECESSAIRE, choisir celle correspondant à votre matériel. </span><br /><span class="lineno">10 </span><span class="c1">// ATTENTION AUX MAJUSCULES & MINUSCULES ! Sinon d'autres bibliothèques, plus ou moins valides, seraient utilisées.</span><br /><span class="lineno">11 </span><br /><span class="lineno">12 </span><span class="cp">#include</span> <span class="cpf"><ESP8266WiFi.h> // A utiliser pour le D1 Mini </span><span class="cp"></span><br /><span class="lineno">13 </span><span class="c1">//#include <WiFi.h> // A utiliser pour l'ESP32</span><br /><span class="lineno">14 </span><br /><span class="lineno">15 </span><span class="c1">// Définition du point d'accès Wi-Fi et de son mot de passe ("clé de sécurité")</span><br /><span class="lineno">16 </span><span class="c1">// A REMPLACER PAR LES VERITABLES VALEURS CORRESPONDANT A VOTRE EMPLACEMENT</span><br /><span class="lineno">17 </span> <br /><span class="lineno">18 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySSID</span> <span class="o">=</span> <span class="s">"MA_BOX_INTERNET"</span><span class="p">;</span><br /><span class="lineno">19 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySecKey</span> <span class="o">=</span> <span class="s">"MA_CLE_DE_SECURITE"</span><span class="p">;</span><br /><span class="lineno">20 </span><br /><span class="lineno">21 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">22 </span><span class="cm"> * SETUP : Initialisation</span><br /><span class="lineno">23 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">24 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">25 </span><br /><span class="lineno">26 </span> <span class="c1">// Initialisation de la liaison série, affichage 1er message</span><br /><span class="lineno">27 </span><br /><span class="lineno">28 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span><br /><span class="lineno">29 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">30 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <br /><span class="lineno">31 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">32 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Exemple de connexion Wi-Fi basique"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">33 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">34 </span><br /><span class="lineno">35 </span> <span class="c1">// Démarrage de la tentative de connexion, avec le nom du point d'accès Wi-Fi et son mot de passe</span><br /><span class="lineno">36 </span><br /><span class="lineno">37 </span> <span class="nf">WiFi</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="n">mySSID</span><span class="p">,</span> <span class="n">mySecKey</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">38 </span><br /><span class="lineno">39 </span> <span class="c1">// Attente de la connexion pendant 10 secondes (20 x 500 ms)</span><br /><span class="lineno">40 </span><br /><span class="lineno">41 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Connexion à "</span><span class="p">);</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="n">mySSID</span><span class="p">)</span> <span class="p">;</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">" "</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">42 </span> <span class="kr">int</span> <span class="n">tryNumber</span> <span class="o">=</span> <span class="mi">1</span> <span class="p">;</span><br /><span class="lineno">43 </span> <span class="k">while</span> <span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">status</span><span class="p">()</span> <span class="o">!=</span> <span class="n">WL_CONNECTED</span><span class="p">)</span><br /><span class="lineno">44 </span> <span class="p">{</span><br /><span class="lineno">45 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">500</span><span class="p">);</span><br /><span class="lineno">46 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"."</span><span class="p">);</span><br /><span class="lineno">47 </span> <span class="k">if</span> <span class="p">(</span><span class="o">++</span><span class="n">tryNumber</span> <span class="o">></span> <span class="mi">20</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">48 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">()</span> <span class="p">;</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Pas de connexion, abandon"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">49 </span> <span class="k">return</span> <span class="p">;</span><br /><span class="lineno">50 </span> <span class="p">}</span><br /><span class="lineno">51 </span> <span class="p">}</span> <br /><span class="lineno">52 </span><br /><span class="lineno">53 </span> <span class="c1">// La connexion a réussi ! On affiche l'adresse IP obtenue.</span><br /><span class="lineno">54 </span> <br /><span class="lineno">55 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Connecté ! Adresse IP : "</span><span class="p">);</span><br /><span class="lineno">56 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="nf">localIP</span><span class="p">());</span><br /><span class="lineno">57 </span> <br /><span class="lineno">58 </span><span class="p">}</span><br /><span class="lineno">59 </span><br /><span class="lineno">60 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">61 </span><span class="cm"> * LOOP : fonction appelée régulièrement par le système</span><br /><span class="lineno">62 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">63 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span> <br /><span class="lineno">64 </span> <span class="cm">/* On ne fait rien de particulier sur cet exemple */</span><br /><span class="lineno">65 </span><span class="p">}</span><br /></pre></div></nowiki>  , <nowiki>Dans l'étape précédente on supposait que le Wi-Fi était permanent (cas où les cartes ne quittent pas notre labo, par exemple). Mais si on souhaite faire voyager nos cartes (démos dans des écoles, etc ...), on a trois possibilités : <br /><br />*On vient avec son environnement de développement Arduino, on met à jour le code Arduino avec les nouvelles informations Wi-Fi, et on téléverse le code sur toutes nos cartes ... un peu laborieux, n'est-il pas ?<br />*ou bien, on dispose en permanence d'un téléphone mobile avec forfait données (4G ou +), et on utilise systématiquement celui-ci en mode "Point d'accès mobile". C'est donc ce téléphone qui sera vu en permanence comme le point d'accès Wi-Fi préféré de votre carte (D1 mini ou ESP32), quelque soit l'endroit où vous vous trouvez. Pas toujours possible ...<br />*et sinon, on utilise la bibliothèque "WiFiManager", qui nous simplifie grandement la tâche !<br /><br />En effet, cette bibliothèque permet d'enregistrer de façon pérenne (même si on débranche la carte) le dernier Point d'Accès Wi-Fi sur lequel la carte a réussi à se connecter. La bibliothèque va d'abord chercher à se connecter sur ce Point d'Accès "connu". Et si ça ne fonctionne pas (on a changé de lieu, par exemple), alors elle va se positionner elle-même en mode "Point d'Accès", et va proposer sur l'adresse 192.168.4.1 une interface web permettant d'afficher les Points d'Accès Wi-Fi environnants, et d'en sélectionner un. Le nouveau Point d'Accès choisi sera sauvegardé pour les fois suivantes. <br /><br /><br /><u>Interface web du WiFi Manager :</u><br /><br />#Avec un téléphone ou ordinateur, connectez-vous au point d'accès "AP_PetitDeb" et tapez le mot de passe associé. Il y aura probablement un message indiquant qu'Internet n'est pas disponible, c'est normal, ne pas en tenir compte ;<br />#Sur votre navigateur préféré, tapez "192.168.4.1", ce qui fera apparaître l'interface web générée par la bibliothèque WiFiManager. Cliquez sur "Configure WiFi", vous arrivez sur le choix du point d'accès.<br />#Choisissez alors votre point d'accès Wi-Fi préféré, son nom sera reporté dans la case "SSID", complétez avec le mot de passe dans la case "Password", et cliquez sur Save<br /><br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Code minimal des fonctions r seau WiKi WiFiManager S.png" data-sourceimage="https://www.wikidebrouillard.org/images/f/f8/Code_minimal_des_fonctions_r_seau_WiKi_WiFiManager_S.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Code_minimal_des_fonctions_r_seau_WiKi_WiFiManager_S.png" class="image" title="Utilisation du WiFiManager"><img alt="Image permettant de comprendre l'utilisation de la bibliothèque WiFiManager" src="/images/thumb/f/f8/Code_minimal_des_fonctions_r_seau_WiKi_WiFiManager_S.png/800px-Code_minimal_des_fonctions_r_seau_WiKi_WiFiManager_S.png" width="800" height="574" data-file-width="1200" data-file-height="861" /></a></div></div></span></div><br /><br /><br />'''Bibliothèque'''<br /><br /><br><br />La bibliothèque doit être rajoutée à l'environnement Arduino dans le gestionnaire de Bibliothèques (voir [https://www.wikidebrouillard.org/wiki/Importer_des_biblioth%C3%A8ques_dans_l%27interface_Arduino ici] pour le mode d'emploi) :<br /><br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Code minimal des fonctions reseau Image.png" data-sourceimage="https://www.wikidebrouillard.org/images/5/53/Code_minimal_des_fonctions_reseau_Image.png"><span ><div class="floatleft"><a href="/wiki/Fichier:Code_minimal_des_fonctions_reseau_Image.png" class="image" title="Bibliothèque WiFiManager"><img alt="Image de la Bibliothèque WiFiManager dans le Gestionnaire de Bibliothèques Arduino" src="/images/5/53/Code_minimal_des_fonctions_reseau_Image.png" width="756" height="110" data-file-width="756" data-file-height="110" /></a></div></span></div><br /><br /><br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">Bibliothèque Wifi Manager<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include <WiFiManager.h><br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création de l’objet<br /></td><td valign="middle" align="left">WiFiManager myWiFiManager;<br /></td></tr><tr><br /><td rowspan="3" valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Déclaration du mode bloquant<br /></td><td valign="middle" align="left">myWiFiManager.setConfigPortalBlocking(true); // ... ou rien (mode par défaut)<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Déclaration du mode non bloquant<br /></td><td>myWiFiManager.setConfigPortalBlocking(false);<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Tentative de connexion à un PA Wi-Fi<br /></td><td>if (myWiFiManager.autoConnect(Nom_AP, MotDePasse_AP)) { (... connexion OK !) }<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Activation régulière pour le mode non bloquant<br /></td><td valign="middle" align="left">myWiFiManager.process() ; // Obligatoire en mode non bloquant<br /></td></tr></table><br /><br />Pour connaître toutes les autres possibilités de cette bibliothèque, voir sa référence, [https://jp112sdl.github.io/WiFiManager/ ici].<br /><br /><br /><br />'''Code minimal : mode bloquant (par défaut)'''<br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cm">/* =========================================================================================================</span><br /><span class="lineno"> 2 </span><span class="cm"> * </span><br /><span class="lineno"> 3 </span><span class="cm"> * CODE MINIMAL RESEAU - ETAPE 2 : Connexion à un point d'accès choisi par l'utilisateur</span><br /><span class="lineno"> 4 </span><span class="cm"> * </span><br /><span class="lineno"> 5 </span><span class="cm"> * CAS A : MODE BLOQUANT - On attend tant que l'utilisateur n'a pas choisi son Point d'Accès Wi-Fi</span><br /><span class="lineno"> 6 </span><span class="cm"> * </span><br /><span class="lineno"> 7 </span><span class="cm"> * ---------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 8 </span><span class="cm"> * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno"> 9 </span><span class="cm"> * ========================================================================================================= */</span><br /><span class="lineno">10 </span><br /><span class="lineno">11 </span><span class="c1">// Bibliothèque WiFiManager. Un seule bibibliothèque suffit ici, quelque soit la carte (ESP32 ou Wemos D1 Mini)</span><br /><span class="lineno">12 </span><br /><span class="lineno">13 </span><span class="cp">#include</span> <span class="cpf"><WiFiManager.h> // Gestion de la connexion Wi-Fi (recherche de points d'accès) </span><span class="cp"></span><br /><span class="lineno">14 </span><span class="n">WiFiManager</span> <span class="n">myWiFiManager</span><span class="p">;</span> <span class="c1">// Création de mon instance de WiFiManager.</span><br /><span class="lineno">15 </span><br /><span class="lineno">16 </span><span class="c1">// Définition de la carte lorsqu'elle se positionne en mode "Point d'Accès".</span><br /><span class="lineno">17 </span> <br /><span class="lineno">18 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySSID</span> <span class="o">=</span> <span class="s">"AP_PetitDeb"</span> <span class="p">;</span> <span class="c1">// Nom du point d'accès</span><br /><span class="lineno">19 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySecKey</span> <span class="o">=</span> <span class="s">"PSWD1234"</span> <span class="p">;</span> <span class="c1">// Mot de passe, 8 caractères au minimum</span><br /><span class="lineno">20 </span><br /><span class="lineno">21 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">22 </span><span class="cm"> * SETUP : Initialisation</span><br /><span class="lineno">23 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">24 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">25 </span><br /><span class="lineno">26 </span> <span class="c1">// Initialisation de la liaison série, affichage 1er message</span><br /><span class="lineno">27 </span><br /><span class="lineno">28 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span><br /><span class="lineno">29 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">30 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <br /><span class="lineno">31 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">32 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Exemple de connexion Wi-Fi évoluée"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">33 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">34 </span><br /><span class="lineno">35 </span> <span class="c1">// Tentative de connexion au Wi-Fi. Si la carte n'a pas réussi se connecter au dernier Point d'Accès connu,</span><br /><span class="lineno">36 </span> <span class="c1">// alors elle va se positionner en mode Point d'Accès, demandera sur l'adresse 192.168.4.1 quel nouveau</span><br /><span class="lineno">37 </span> <span class="c1">// Point d'Accès choisir. Par défaut, on restera bloqué tant que l'utilisateur n'aura pas fait de choix.</span><br /><span class="lineno">38 </span> <br /><span class="lineno">39 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Connexion au Wi-Fi ..."</span><span class="p">);</span><br /><span class="lineno">40 </span> <span class="k">if</span> <span class="p">(</span><span class="n">myWiFiManager</span><span class="p">.</span><span class="n">autoConnect</span><span class="p">(</span><span class="n">mySSID</span><span class="p">,</span> <span class="n">mySecKey</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno">41 </span> <br /><span class="lineno">42 </span> <span class="c1">// Wi-Fi en mode standard ok --> On affiche l'adresse IP obtenue.</span><br /><span class="lineno">43 </span><br /><span class="lineno">44 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Connecté ! Adresse IP : "</span><span class="p">);</span><br /><span class="lineno">45 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="nf">localIP</span><span class="p">());</span><br /><span class="lineno">46 </span> <br /><span class="lineno">47 </span> <span class="p">}</span><br /><span class="lineno">48 </span> <span class="k">else</span> <span class="p">{</span><br /><span class="lineno">49 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Connexion Wi-Fi KO :-("</span><span class="p">);</span> <br /><span class="lineno">50 </span> <span class="p">}</span><br /><span class="lineno">51 </span> <br /><span class="lineno">52 </span><span class="p">}</span><br /><span class="lineno">53 </span><br /><span class="lineno">54 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">55 </span><span class="cm"> * LOOP : fonction appelée régulièrement par le système</span><br /><span class="lineno">56 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">57 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span> <br /><span class="lineno">58 </span> <span class="cm">/* On ne fait rien de particulier sur cet exemple */</span><br /><span class="lineno">59 </span><span class="p">}</span><br /></pre></div><br /><br /><br /><br />'''Code minimal : mode non bloquant'''<br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cm">/* =========================================================================================================</span><br /><span class="lineno"> 2 </span><span class="cm"> * </span><br /><span class="lineno"> 3 </span><span class="cm"> * CODE MINIMAL RESEAU - ETAPE 2 : Connexion à un point d'accès choisi par l'utilisateur</span><br /><span class="lineno"> 4 </span><span class="cm"> * </span><br /><span class="lineno"> 5 </span><span class="cm"> * CAS B : MODE NON BLOQUANT - On peut faire autre chose en attendant que l'utilisateur ait choisi</span><br /><span class="lineno"> 6 </span><span class="cm"> * son Point d'Accès Wi-Fi</span><br /><span class="lineno"> 7 </span><span class="cm"> * </span><br /><span class="lineno"> 8 </span><span class="cm"> * ---------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 9 </span><span class="cm"> * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno">10 </span><span class="cm"> * ========================================================================================================= */</span><br /><span class="lineno">11 </span><br /><span class="lineno">12 </span><span class="c1">// Bibliothèque WiFiManager. Un seule bibibliothèque suffit ici, quelque soit la carte (ESP32 ou Wemos D1 Mini)</span><br /><span class="lineno">13 </span><br /><span class="lineno">14 </span><span class="cp">#include</span> <span class="cpf"><WiFiManager.h> // Gestion de la connexion Wi-Fi (recherche de points d'accès) </span><span class="cp"></span><br /><span class="lineno">15 </span><span class="n">WiFiManager</span> <span class="n">myWiFiManager</span><span class="p">;</span> <span class="c1">// Création de mon instance de WiFiManager.</span><br /><span class="lineno">16 </span><br /><span class="lineno">17 </span><span class="c1">// Définition de la carte lorsqu'elle se positionne en mode "Point d'Accès".</span><br /><span class="lineno">18 </span> <br /><span class="lineno">19 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySSID</span> <span class="o">=</span> <span class="s">"AP_PetitDeb"</span> <span class="p">;</span> <span class="c1">// Nom du point d'accès</span><br /><span class="lineno">20 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySecKey</span> <span class="o">=</span> <span class="s">"PSWD1234"</span> <span class="p">;</span> <span class="c1">// Mot de passe, 8 caractères au minimum</span><br /><span class="lineno">21 </span><br /><span class="lineno">22 </span><span class="c1">// Pour les besoins de l'exemple (traces)</span><br /><span class="lineno">23 </span><br /><span class="lineno">24 </span><span class="kr">bool</span> <span class="n">IAmNotConnected</span> <span class="o">=</span> <span class="kr">true</span> <span class="p">;</span><br /><span class="lineno">25 </span><br /><span class="lineno">26 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">27 </span><span class="cm"> * SETUP : Initialisation</span><br /><span class="lineno">28 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">29 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">30 </span><br /><span class="lineno">31 </span> <span class="c1">// Initialisation de la liaison série, affichage 1er message</span><br /><span class="lineno">32 </span><br /><span class="lineno">33 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span><br /><span class="lineno">34 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">35 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <br /><span class="lineno">36 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">37 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Exemple de connexion Wi-Fi évoluée"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">38 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">39 </span><br /><span class="lineno">40 </span> <span class="c1">// Déclaration du mode "non bloquant".</span><br /><span class="lineno">41 </span> <span class="c1">// Bonus : suppression des traces fournies par le WiFiManager (il est très bavard)</span><br /><span class="lineno">42 </span> <br /><span class="lineno">43 </span> <span class="n">myWiFiManager</span><span class="p">.</span><span class="n">setConfigPortalBlocking</span><span class="p">(</span><span class="kr">false</span><span class="p">);</span> <br /><span class="lineno">44 </span> <span class="n">myWiFiManager</span><span class="p">.</span><span class="n">setDebugOutput</span><span class="p">(</span><span class="kr">false</span><span class="p">);</span> <br /><span class="lineno">45 </span><br /><span class="lineno">46 </span> <span class="c1">// Tentative de connexion au Wi-Fi. Si la carte n'a pas réussi se connecter au dernier Point d'Accès connu,</span><br /><span class="lineno">47 </span> <span class="c1">// alors elle va se positionner en mode Point d'Accès, demandera sur l'adresse 192.168.4.1 quel nouveau</span><br /><span class="lineno">48 </span> <span class="c1">// Point d'Accès choisir. On ne reste pas bloqué, la suite du setup() va se dérouler, et le WiFiManager</span><br /><span class="lineno">49 </span> <span class="c1">// traitera les demandes ultérieurement, dans la fonction loop().</span><br /><span class="lineno">50 </span> <br /><span class="lineno">51 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Connexion au Wi-Fi ..."</span><span class="p">);</span><br /><span class="lineno">52 </span> <span class="k">if</span> <span class="p">(</span><span class="n">myWiFiManager</span><span class="p">.</span><span class="n">autoConnect</span><span class="p">(</span><span class="n">mySSID</span><span class="p">,</span> <span class="n">mySecKey</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno">53 </span> <br /><span class="lineno">54 </span> <span class="c1">// Wi-Fi en mode standard ok --> On affiche l'adresse IP obtenue.</span><br /><span class="lineno">55 </span><br /><span class="lineno">56 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Connecté ! Adresse IP : "</span><span class="p">);</span><br /><span class="lineno">57 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="nf">localIP</span><span class="p">());</span><br /><span class="lineno">58 </span> <br /><span class="lineno">59 </span> <span class="p">}</span><br /><span class="lineno">60 </span> <span class="k">else</span> <span class="p">{</span><br /><span class="lineno">61 </span><br /><span class="lineno">62 </span> <span class="c1">// Wi-Fi standard KO, on est passé en mode AP, qui sera traité dans le loop().</span><br /><span class="lineno">63 </span> <br /><span class="lineno">64 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Pas de point Wi-Fi connu, passage en mode AP (identifiant </span><span class="se">\"</span><span class="s">"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">mySSID</span><span class="p">)</span> <span class="o">+</span> <span class="s">"</span><span class="se">\"</span><span class="s">)"</span><span class="p">);</span> <br /><span class="lineno">65 </span> <span class="p">}</span><br /><span class="lineno">66 </span> <br /><span class="lineno">67 </span><span class="p">}</span><br /><span class="lineno">68 </span><br /><span class="lineno">69 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">70 </span><span class="cm"> * LOOP : fonction appelée régulièrement par le système</span><br /><span class="lineno">71 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">72 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span> <br /><span class="lineno">73 </span> <br /><span class="lineno">74 </span> <span class="c1">// Obligatoire en mode non bloquant, pour que le WiFiManager continue sa tâche.</span><br /><span class="lineno">75 </span><br /><span class="lineno">76 </span> <span class="n">myWiFiManager</span><span class="p">.</span><span class="nf">process</span><span class="p">()</span> <span class="p">;</span><br /><span class="lineno">77 </span><br /><span class="lineno">78 </span> <span class="c1">// Test pour savoir si on est enfin connecté - on ne l'affiche qu'une fois pour limiter les traces</span><br /><span class="lineno">79 </span><br /><span class="lineno">80 </span> <span class="k">if</span> <span class="p">(</span><span class="n">IAmNotConnected</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">81 </span> <span class="k">if</span> <span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">status</span><span class="p">()</span> <span class="o">==</span> <span class="n">WL_CONNECTED</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">82 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Connecté au point d'accès "</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="nf">SSID</span><span class="p">())</span> <span class="o">+</span> <span class="s">", Adresse IP : "</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">83 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="nf">localIP</span><span class="p">());</span><br /><span class="lineno">84 </span> <span class="n">IAmNotConnected</span> <span class="o">=</span> <span class="kr">false</span> <span class="p">;</span><br /><span class="lineno">85 </span> <span class="p">}</span><br /><span class="lineno">86 </span> <span class="p">}</span><br /><span class="lineno">87 </span> <br /><span class="lineno">88 </span><span class="p">}</span><br /></pre></div><br/></nowiki>  , <nowiki>Il existe des cas particuliers où une application n'a en fait pas besoin du Wi-Fi pour aller envoyer ou recevoir des données d'Internet, mais souhaite être juste être considérée comme un Point d'Accès Wi-Fi. Ce mode est suffisant si l'on souhaite commander notre carte depuis un système proche. Par exemple pour commander un système domotique en mode web depuis notre mobile ... petit "spoiler" de l'épisode 2 :-) <br /><br /><br />Pour utiliser le mode "Point d'Accès", on garde les librairies de base, vues à l'étape 1, en utilisant d'autres fonctions. <br/><br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">Mode Point d'Accès<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include <ESP8266WiFi.h> // Pour le Wemos D1 Mini, ou ...<br />#include <WiFi.h> // ... Pour l'ESP32<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création de l’objet<br /></td><td valign="middle" align="left"><br /></td></tr><tr><br /><td rowspan="3" valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Lancement du mode AP<br />avec mot de passe<br /></td><td valign="middle" align="left">if (WiFi.softAP(SSID, SecKey)) { (... succès ... } ; // Où SSID est le nom du point d'accès Wi-Fi, et SecKey son mot de passe<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Lancement du mode AP<br />sans mot de passe<br/><br /></td><td valign="middle" align="left">if (WiFi.softAP(SSID)) { (... succès ... } ; // Où SSID est le nom du point d'accès Wi-Fi<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Récupération de l'adresse IP de base<br /></td><td>WiFi.softAPIP() ;<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td>La récupération de l'adresse IP peut aussi être utilisée dans le loop().<br /></td></tr></table><br /><br /><br />Pour connaître toutes les autres possibilités de ces bibliothèques, voir leurs références, respectivement [https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi ici] (D1 Mini) et [https://github.com/espressif/arduino-esp32/tree/master/libraries/WiFi ici] (ESP32).<br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cm">/* =========================================================================================================</span><br /><span class="lineno"> 2 </span><span class="cm"> * </span><br /><span class="lineno"> 3 </span><span class="cm"> * CODE MINIMAL RESEAU - ETAPE 3 : Configuration en mode Point d'Accès</span><br /><span class="lineno"> 4 </span><span class="cm"> * </span><br /><span class="lineno"> 5 </span><span class="cm"> * ---------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 6 </span><span class="cm"> * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno"> 7 </span><span class="cm"> * ========================================================================================================= */</span><br /><span class="lineno"> 8 </span><br /><span class="lineno"> 9 </span><span class="c1">// Bibliothèques WiFi : UNE SEULE EST NECESSAIRE, choisir celle correspondant à votre matériel. </span><br /><span class="lineno">10 </span><span class="c1">// ATTENTION AUX MAJUSCULES & MINUSCULES ! Sinon d'autres bibliothèques, plus ou moins valides, seraient utilisées.</span><br /><span class="lineno">11 </span><br /><span class="lineno">12 </span><span class="cp">#include</span> <span class="cpf"><ESP8266WiFi.h> // A utiliser pour le D1 Mini </span><span class="cp"></span><br /><span class="lineno">13 </span><span class="c1">//#include <WiFi.h> // A utiliser pour l'ESP32</span><br /><span class="lineno">14 </span><br /><span class="lineno">15 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySSID</span> <span class="o">=</span> <span class="s">"AP_PetitDeb"</span> <span class="p">;</span><br /><span class="lineno">16 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySecKey</span> <span class="o">=</span> <span class="s">"PSWD1234"</span> <span class="p">;</span><br /><span class="lineno">17 </span><br /><span class="lineno">18 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">19 </span><span class="cm"> * SETUP : Initialisation</span><br /><span class="lineno">20 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">21 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">22 </span><br /><span class="lineno">23 </span> <span class="c1">// Initialisation de la liaison série, affichage 1er message</span><br /><span class="lineno">24 </span><br /><span class="lineno">25 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span><br /><span class="lineno">26 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">27 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <br /><span class="lineno">28 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"-----------------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">29 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Exemple en mode Point d'Accès"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">30 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"-----------------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">31 </span><br /><span class="lineno">32 </span> <span class="c1">// Déclaration du mode "Point d'Accès"</span><br /><span class="lineno">33 </span><br /><span class="lineno">34 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Déclaration Mode AP, SSID </span><span class="se">\"</span><span class="s">"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">mySSID</span><span class="p">)</span> <span class="o">+</span> <span class="s">"</span><span class="se">\"</span><span class="s">"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">35 </span><br /><span class="lineno">36 </span> <span class="k">if</span> <span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">softAP</span><span class="p">(</span><span class="n">mySSID</span><span class="p">,</span><span class="n">mySecKey</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno">37 </span><br /><span class="lineno">38 </span> <span class="c1">// Voilà, nous somme en mode "Point d'Accès", notre carte sera visible des systèmes Wi-Fi environnants,</span><br /><span class="lineno">39 </span> <span class="c1">// au même titre que les autres box Wi-Fi du voisinage. Par contre, ça s'arrête là, et si une fois</span><br /><span class="lineno">40 </span> <span class="c1">// connecté sur ce Point d'Accès "AP_PetitDeb" on cherche à joindre notre carte sur l'adresse IP obtenue</span><br /><span class="lineno">41 </span> <span class="c1">// ci-dessous par WiFi.softAPIP(), on aura droit à un beau "ERR_CONNECTION_REFUSED". Normal, on n'a pas</span><br /><span class="lineno">42 </span> <span class="c1">// précisé dans l'application ce qu'il faut faire : voir exemple suivant Code_Minimal_Etape4.</span><br /><span class="lineno">43 </span> <br /><span class="lineno">44 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Mode AP OK, IP Address : "</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">45 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">softAPIP</span><span class="p">())</span> <span class="p">;</span><br /><span class="lineno">46 </span> <span class="p">}</span><br /><span class="lineno">47 </span> <span class="k">else</span> <span class="p">{</span><br /><span class="lineno">48 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Mode AP KO ... :-("</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">49 </span> <span class="p">}</span><br /><span class="lineno">50 </span> <br /><span class="lineno">51 </span><span class="p">}</span><br /><span class="lineno">52 </span><br /><span class="lineno">53 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">54 </span><span class="cm"> * LOOP : fonction appelée régulièrement par le système</span><br /><span class="lineno">55 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">56 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span> <br /><span class="lineno">57 </span> <br /><span class="lineno">58 </span> <span class="c1">// Rien de spécial dans cet exemple</span><br /><span class="lineno">59 </span> <br /><span class="lineno">60 </span><span class="p">}</span><br /></pre></div></nowiki>  ,
<nowiki>Une première possibilité d'utilisation du Wi-Fi sur nos cartes, est d'y définir un mini-serveur web , qui nous permettra d'afficher voire de modifier, depuis n'importe quel navigateur, des données gérées par la carte - et par conséquent de récupérer la valeur de capteurs (température, ...) ou gérer des actionneurs (moteurs, leds, ...).<br /><br /><br />On peut trouver quelques exemples d'applications de ce type, réalisée par des Petits Débrouillards, en particulier le [https://github.com/julienrat/petitbot Petit Bot], petit robot commandable, ou encore [https://www.wikidebrouillard.org/wiki/Commander_un_D1_mini_avec_une_interface_web Commander un D1 mini avec une interface web], permettant d'animer des leds, de gérer un moteur, et de récupérer des données du D1 mini sur une interface web.<br /><br /><br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">Site web<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include <ESP8266WebServer.h> // Pour le D1 Mini, ou ...<br /><br />#include <WebServer.h> // ... pour l'ESP32<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création du serveur web (sur le port 80)<br /></td><td valign="middle" align="left">ESP8266WebServer myWeb(80); // Pour le D1 Mini , ou ...<br /><br />// WebServer myWeb(80) ; // ... pour l'ESP32<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Déclaration de la fonction qui s'occupera<br />de la génération de la page web<br /></td><td valign="middle" align="left">myWeb.on ( "/", runPage01 );<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Démarrage du serveur web<br /></td><td>myWeb.begin();<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Traitement des requêtes web<br /></td><td valign="middle" align="left">myWeb.handleClient();<br /></td></tr></table><br/>'''Code Minimal 4a : affichage d'un paramètre de la carte.'''<br /><br /><br />La page web hébergée sur notre carte doit être codée en HTML. La page peut être assez évoluée, intégrer du code javascript, être formatée en mode CSS, etc ... Dans l'exemple "minimal" ci-dessous, on se contente d'une page HTML basique.<br /><br />''Une fois le code téléversé sur votre carte, pour voir le résultat, connectez-vous (avec un ordinateur ou un mobile) sur le point d'accès "AP_PetitDeb" (mot de passe "PSWD1234"), puis lancez votre navigateur préféré et tapez 192.168.4.1.''<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Code minimal des fonctions reseau Ecran-Etape-4.png" data-sourceimage="https://www.wikidebrouillard.org/images/9/98/Code_minimal_des_fonctions_reseau_Ecran-Etape-4.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Code_minimal_des_fonctions_reseau_Ecran-Etape-4.png" class="image" title="Ecran-Etape-4A"><img alt="Ecran-Etape-4A" src="/images/9/98/Code_minimal_des_fonctions_reseau_Ecran-Etape-4.png" width="785" height="336" data-file-width="785" data-file-height="336" /></a></div></div></span></div><br /><br /><br /><br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cm">/* =========================================================================================================</span><br /><span class="lineno"> 2 </span><span class="cm"> * </span><br /><span class="lineno"> 3 </span><span class="cm"> * CODE MINIMAL RESEAU - ETAPE 4 : site WEB</span><br /><span class="lineno"> 4 </span><span class="cm"> * </span><br /><span class="lineno"> 5 </span><span class="cm"> * CAS A : Page HTML Basique, consultation d'une variable de la carte</span><br /><span class="lineno"> 6 </span><span class="cm"> * </span><br /><span class="lineno"> 7 </span><span class="cm"> * ---------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 8 </span><span class="cm"> * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno"> 9 </span><span class="cm"> * ========================================================================================================= */</span><br /><span class="lineno"> 10 </span><br /><span class="lineno"> 11 </span><span class="c1">// Bibliothèques WiFi et WebServer: ATTENTION, choisir celles correspondant à votre matériel. </span><br /><span class="lineno"> 12 </span><span class="c1">// ATTENTION AUX MAJUSCULES & MINUSCULES ! Sinon d'autres bibliothèques, plus ou moins valides, seraient utilisées.</span><br /><span class="lineno"> 13 </span><br /><span class="lineno"> 14 </span><span class="cp">#include</span> <span class="cpf"><ESP8266WiFi.h> // A utiliser pour le D1 Mini </span><span class="cp"></span><br /><span class="lineno"> 15 </span><span class="cp">#include</span> <span class="cpf"><ESP8266WebServer.h> // A utiliser pour le D1 Mini</span><span class="cp"></span><br /><span class="lineno"> 16 </span><span class="c1">//#include <WiFi.h> // A utiliser pour l'ESP32</span><br /><span class="lineno"> 17 </span><span class="c1">//#include <WebServer.h> // A utiliser pour l'ESP32</span><br /><span class="lineno"> 18 </span><br /><span class="lineno"> 19 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySSID</span> <span class="o">=</span> <span class="s">"AP_PetitDeb"</span> <span class="p">;</span> <span class="c1">// On va utiliser le mode "Access Point" pour cet exemple</span><br /><span class="lineno"> 20 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySecKey</span> <span class="o">=</span> <span class="s">"PSWD1234"</span> <span class="p">;</span><br /><span class="lineno"> 21 </span><br /><span class="lineno"> 22 </span><span class="c1">// Déclaration de notre serveur web interne. </span><br /><span class="lineno"> 23 </span><br /><span class="lineno"> 24 </span><span class="n">ESP8266WebServer</span> <span class="nf">myWeb</span><span class="p">(</span><span class="mi">80</span><span class="p">);</span> <span class="c1">// A utiliser pour le D1 Mini </span><br /><span class="lineno"> 25 </span><span class="c1">// WebServer myWeb(80) ; // A utiliser pour l'ESP32</span><br /><span class="lineno"> 26 </span><br /><span class="lineno"> 27 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 28 </span><span class="cm"> * webPage01 : formattage HTML de la page web. </span><br /><span class="lineno"> 29 </span><span class="cm"> * - En fait cette fonction doit rendre une chaîne (String) contenant l'intégralité du code HTML qui sera</span><br /><span class="lineno"> 30 </span><span class="cm"> * envoyé au navigateur de l'utilisateur.</span><br /><span class="lineno"> 31 </span><span class="cm"> * - On peut y insérer des informations de la carte, comme ici par exemple, le nom du Point d'accès (mySSID). </span><br /><span class="lineno"> 32 </span><span class="cm"> * Dans une véritable application, ça pourrait être la valeur d'un capteur de température.</span><br /><span class="lineno"> 33 </span><span class="cm"> * - Pour pouvoir débugger facilement le code HTML/Javascript sur un browser (par exemple Firefox / Outils </span><br /><span class="lineno"> 34 </span><span class="cm"> * supplémentaires / Outils de développement Web), il est préférable d'indenter le code à l'intérieur de la chaîne</span><br /><span class="lineno"> 35 </span><span class="cm"> * de caractère, et de mettre des sauts de ligne ("\n") à la fin de chaque ligne de code HTML. </span><br /><span class="lineno"> 36 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno"> 37 </span><span class="kr">String</span> <span class="nf">webPage01</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 38 </span> <br /><span class="lineno"> 39 </span> <span class="kr">String</span> <span class="n">p</span><span class="p">;</span><br /><span class="lineno"> 40 </span> <span class="n">p</span> <span class="o">=</span> <span class="s">"<html lang=fr-FR><head><title>ETAPE 4 (Mini-Web)</title></head></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 41 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"<body></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 42 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" <br><br><br><center><font size=</span><span class="se">\"</span><span class="s">12</span><span class="se">\"</span><span class="s">></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 43 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" Bonjour, je suis "</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">mySSID</span><span class="p">)</span> <span class="o">+</span> <span class="s">"...</span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span> <span class="c1">// C'est ici qu'on place l'information SSID.</span><br /><span class="lineno"> 44 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" <br>... très heureux de te rencontrer !</span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 45 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" </center></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 46 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"</body></html></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 47 </span> <span class="k">return</span> <span class="n">p</span><span class="p">;</span><br /><span class="lineno"> 48 </span> <br /><span class="lineno"> 49 </span><span class="p">}</span><br /><span class="lineno"> 50 </span><br /><span class="lineno"> 51 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 52 </span><span class="cm"> * runPage01 : gestion de la page web</span><br /><span class="lineno"> 53 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno"> 54 </span><span class="kr">void</span> <span class="nf">runPage01</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 55 </span><br /><span class="lineno"> 56 </span> <span class="c1">// Affichage de la page Web.</span><br /><span class="lineno"> 57 </span> <span class="n">myWeb</span><span class="p">.</span><span class="n">send</span> <span class="p">(</span> <span class="mi">200</span><span class="p">,</span> <span class="s">"text/html"</span><span class="p">,</span> <span class="n">webPage01</span><span class="p">()</span> <span class="p">);</span> <br /><span class="lineno"> 58 </span><span class="p">}</span><br /><span class="lineno"> 59 </span><br /><span class="lineno"> 60 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 61 </span><span class="cm"> * SETUP : Initialisation</span><br /><span class="lineno"> 62 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno"> 63 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 64 </span><br /><span class="lineno"> 65 </span> <span class="c1">// Initialisation de la liaison série, affichage 1er message</span><br /><span class="lineno"> 66 </span><br /><span class="lineno"> 67 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span><br /><span class="lineno"> 68 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 69 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <br /><span class="lineno"> 70 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 71 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Exemple de serveur WEB"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 72 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 73 </span><br /><span class="lineno"> 74 </span> <span class="c1">// Déclaration du mode "Point d'Accès". On s'arrête là si échec.</span><br /><span class="lineno"> 75 </span><br /><span class="lineno"> 76 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Déclaration Mode AP, SSID </span><span class="se">\"</span><span class="s">"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">mySSID</span><span class="p">)</span> <span class="o">+</span> <span class="s">"</span><span class="se">\"</span><span class="s">"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 77 </span> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">softAP</span><span class="p">(</span><span class="n">mySSID</span><span class="p">,</span><span class="n">mySecKey</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno"> 78 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Mode AP KO ... :-("</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 79 </span> <span class="k">return</span> <span class="p">;</span><br /><span class="lineno"> 80 </span> <span class="p">}</span><br /><span class="lineno"> 81 </span><br /><span class="lineno"> 82 </span> <span class="c1">// Affichage de l'adresse IP principale du Point d'Accès.</span><br /><span class="lineno"> 83 </span><br /><span class="lineno"> 84 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Mode AP OK, IP Address : "</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 85 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">softAPIP</span><span class="p">())</span> <span class="p">;</span><br /><span class="lineno"> 86 </span><br /><span class="lineno"> 87 </span> <span class="c1">// Définition des points d'entrée du serveur Web (un seul ici), et démarrage du serveur.</span><br /><span class="lineno"> 88 </span> <br /><span class="lineno"> 89 </span> <span class="n">myWeb</span><span class="p">.</span><span class="n">on</span> <span class="p">(</span> <span class="s">"/"</span><span class="p">,</span> <span class="n">runPage01</span> <span class="p">);</span><br /><span class="lineno"> 90 </span> <span class="n">myWeb</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><br /><span class="lineno"> 91 </span> <br /><span class="lineno"> 92 </span><span class="p">}</span><br /><span class="lineno"> 93 </span><br /><span class="lineno"> 94 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 95 </span><span class="cm"> * LOOP : fonction appelée régulièrement par le système</span><br /><span class="lineno"> 96 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno"> 97 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span> <br /><span class="lineno"> 98 </span> <br /><span class="lineno"> 99 </span> <span class="c1">// Traitement des requêtes web.</span><br /><span class="lineno">100 </span> <span class="n">myWeb</span><span class="p">.</span><span class="n">handleClient</span><span class="p">();</span> <br /><span class="lineno">101 </span> <br /><span class="lineno">102 </span><span class="p">}</span><br /></pre></div><br/></nowiki>  , <nowiki><br/>'''Code Minimal 4b : actionner la carte via l'interface web'''<br /><br /><br />Dans l'exemple précédent, on se contente de récupérer un paramètre de la carte. Mais il est également possible de modifier un paramètre (par exemple l'état d'une des sorties de la carte, et donc d'agir sur un de ses périphériques : led, moteur, ...).<br /><br /><br />Le code ci-dessous présente donc un code "moins minimal", permettant d'afficher et de modifier une variable du programme Arduino. Dans une application réelle, il suffira alors d'utiliser cette variable pour afficher et agir sur sur l'état d'une des entrées/sorties de la carte.<br /><br />La partie HTML est un peu plus complexe, car on va y définir une fonction javascript, qui permettra de faire passer des informations du navigateur au serveur web hébergé. Voir les explications complémentaires dans le code lui-même. <br /><br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Code minimal des fonctions reseau Ecran-Etape4B.png" data-sourceimage="https://www.wikidebrouillard.org/images/2/27/Code_minimal_des_fonctions_reseau_Ecran-Etape4B.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Code_minimal_des_fonctions_reseau_Ecran-Etape4B.png" class="image" title="Ecran-Etape4B"><img alt="Ecran-Etape4B" src="/images/2/27/Code_minimal_des_fonctions_reseau_Ecran-Etape4B.png" width="790" height="336" data-file-width="790" data-file-height="336" /></a></div></div></span></div> <br /><br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cm">/* =========================================================================================================</span><br /><span class="lineno"> 2 </span><span class="cm"> * </span><br /><span class="lineno"> 3 </span><span class="cm"> * CODE MINIMAL RESEAU - ETAPE 4 : site WEB</span><br /><span class="lineno"> 4 </span><span class="cm"> * </span><br /><span class="lineno"> 5 </span><span class="cm"> * CAS B : Page HTML plus évoluéee, et modification d'une variable de la carte</span><br /><span class="lineno"> 6 </span><span class="cm"> * </span><br /><span class="lineno"> 7 </span><span class="cm"> * ---------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 8 </span><span class="cm"> * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno"> 9 </span><span class="cm"> * ========================================================================================================= */</span><br /><span class="lineno"> 10 </span><br /><span class="lineno"> 11 </span><span class="c1">// Bibliothèques WiFi et WebServer: ATTENTION, choisir celles correspondant à votre matériel. </span><br /><span class="lineno"> 12 </span><span class="c1">// ATTENTION AUX MAJUSCULES & MINUSCULES ! Sinon d'autres bibliothèques, plus ou moins valides, seraient utilisées.</span><br /><span class="lineno"> 13 </span><br /><span class="lineno"> 14 </span><span class="cp">#include</span> <span class="cpf"><ESP8266WiFi.h> // A utiliser pour le D1 Mini </span><span class="cp"></span><br /><span class="lineno"> 15 </span><span class="cp">#include</span> <span class="cpf"><ESP8266WebServer.h> // A utiliser pour le D1 Mini</span><span class="cp"></span><br /><span class="lineno"> 16 </span><span class="c1">//#include <WiFi.h> // A utiliser pour l'ESP32</span><br /><span class="lineno"> 17 </span><span class="c1">//#include <WebServer.h> // A utiliser pour l'ESP32</span><br /><span class="lineno"> 18 </span><br /><span class="lineno"> 19 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySSID</span> <span class="o">=</span> <span class="s">"AP_PetitDeb"</span> <span class="p">;</span> <span class="c1">// On va utiliser le mode "Access Point" pour cet exemple</span><br /><span class="lineno"> 20 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySecKey</span> <span class="o">=</span> <span class="s">"PSWD1234"</span> <span class="p">;</span><br /><span class="lineno"> 21 </span><br /><span class="lineno"> 22 </span><span class="c1">// Déclaration de notre serveur web interne, qui écoutera sur le port 80.</span><br /><span class="lineno"> 23 </span><br /><span class="lineno"> 24 </span><span class="n">ESP8266WebServer</span> <span class="nf">myWeb</span><span class="p">(</span><span class="mi">80</span><span class="p">);</span> <span class="c1">// A utiliser pour le D1 Mini </span><br /><span class="lineno"> 25 </span><span class="c1">// WebServer myWeb(80) ; // A utiliser pour l'ESP32</span><br /><span class="lineno"> 26 </span><br /><span class="lineno"> 27 </span><span class="c1">// Variable qui sera affichée et modifiée depuis notre interface web.</span><br /><span class="lineno"> 28 </span><br /><span class="lineno"> 29 </span><span class="kr">int</span> <span class="n">myValue</span> <span class="o">=</span> <span class="mi">0</span> <span class="p">;</span><br /><span class="lineno"> 30 </span><br /><span class="lineno"> 31 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 32 </span><span class="cm"> * webPage01 : formattage HTML de la page web. </span><br /><span class="lineno"> 33 </span><span class="cm"> * - En fait cette fonction doit rendre une chaîne (String) contenant l'intégralité du code HTML qui sera</span><br /><span class="lineno"> 34 </span><span class="cm"> * envoyé au navigateur de l'utilisateur.</span><br /><span class="lineno"> 35 </span><span class="cm"> * - Comme dans l'exemple précédent (Exemple_4A), on insère dans cette chaîne une information de la carte,</span><br /><span class="lineno"> 36 </span><span class="cm"> * ici la valeur de notre variable 'my value'. Mais on va aussi ajouter des boutons permettant de modifier</span><br /><span class="lineno"> 37 </span><span class="cm"> * cette valeur sur la carte. </span><br /><span class="lineno"> 38 </span><span class="cm"> * - Idem Exemple_4A : pour pouvoir débugger facilement le code HTML/Javascript sur un browser (par exemple </span><br /><span class="lineno"> 39 </span><span class="cm"> * Firefox / Outils supplémentaires / Outils de développement Web), il est préférable d'indenter le code à</span><br /><span class="lineno"> 40 </span><span class="cm"> * l'intérieur de la chaîne de caractère, et de mettre des sauts de ligne ("\n") à la fin de chaque ligne </span><br /><span class="lineno"> 41 </span><span class="cm"> * de code HTML. </span><br /><span class="lineno"> 42 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno"> 43 </span><span class="kr">String</span> <span class="nf">webPage01</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 44 </span><br /><span class="lineno"> 45 </span> <span class="kr">String</span> <span class="n">p</span><span class="p">;</span> <br /><span class="lineno"> 46 </span><br /><span class="lineno"> 47 </span> <span class="c1">// Début de construction de la page web (entête, titre, paramètres)</span><br /><span class="lineno"> 48 </span> <br /><span class="lineno"> 49 </span> <span class="n">p</span> <span class="o">=</span> <span class="s">"<html lang=fr-FR><head></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span> <br /><span class="lineno"> 50 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"<title>ETAPE 4B</title></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span> <span class="c1">// Titre de la page</span><br /><span class="lineno"> 51 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" <meta charset='UTF-8'></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span> <span class="c1">// Codage des caractères, UTF-8 est fortement recommandé</span><br /><span class="lineno"> 52 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"</head></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 53 </span><br /><span class="lineno"> 54 </span> <span class="c1">// Définitions CSS (), qui permettent de décrire le format des objets sur la page web. </span><br /><span class="lineno"> 55 </span> <span class="c1">// Si vous voulez tout savoir sur CSS, on peut trouver une bonne introduction ici : https://developer.mozilla.org/fr/docs/Learn/CSS</span><br /><span class="lineno"> 56 </span> <span class="c1">// et une référence complète ici : https://developer.mozilla.org/fr/docs/Web/CSS/Reference</span><br /><span class="lineno"> 57 </span> <br /><span class="lineno"> 58 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"<style></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 59 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" body { background-color: #000088; color: white; font-size: 25px; }</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> <span class="c1">// couleur fond écran (bleu foncé) et textes (blanc).</span><br /><span class="lineno"> 60 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" input { width:25%; margin:10px; font-size:20px; border-radius: 5px; }</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> <span class="c1">// format des boutons (taille, coins arrondis, ...).</span><br /><span class="lineno"> 61 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"</style></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 62 </span><br /><span class="lineno"> 63 </span> <span class="c1">// Début du code javascript. Javascript est le langage utilisé au niveau des navigateurs web (Firefox, Microsoft Edge, Google Chrome, ...)</span><br /><span class="lineno"> 64 </span> <span class="c1">// pour introduire un peu de dynamisme et d'intelligence dans les pages web. Cela peut permettre, par exemple, de réaliser une action </span><br /><span class="lineno"> 65 </span> <span class="c1">// locale et immediate, telle que l'agrandissement d'une image, le changement d'un texte, etc ... sans avoir à réinterroger le serveur web.</span><br /><span class="lineno"> 66 </span> <span class="c1">// </span><br /><span class="lineno"> 67 </span> <span class="c1">// Dans notre cas, la fonction 'addition(val)' ci-dessous va ajouter le paramètres 'val' à l'adresse du serveur web, et va ensuite appeler</span><br /><span class="lineno"> 68 </span> <span class="c1">// la page web de notre carte, avec ce paramètre. Par exemple, si l'adresse du site web de notre carte est 192.168.4.1, l'appel à la fonction</span><br /><span class="lineno"> 69 </span> <span class="c1">// addition(-1) va demander la page '192.168.4.1?add=-1'. Le paramètre 'add' de valeur '-1' sera alors exploité par la carte dans la </span><br /><span class="lineno"> 70 </span> <span class="c1">// fonction runPage01() définie plus bas. </span><br /><span class="lineno"> 71 </span> <span class="c1">//</span><br /><span class="lineno"> 72 </span> <span class="c1">// Dans un exemple réel on pourrait bien sûr définir plusieurs paramètres, du style '192.168.4.1?voyant=vert&servo1=90&servo2=0'</span><br /><span class="lineno"> 73 </span><br /><span class="lineno"> 74 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"<script></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 75 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"function addition(val) {</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> <br /><span class="lineno"> 76 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" window.location = window.location.pathname + '?add=' + val ;</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> <br /><span class="lineno"> 77 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"}</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span><br /><span class="lineno"> 78 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"</script></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 79 </span><br /><span class="lineno"> 80 </span> <span class="c1">// Corps de la page web : affichage de la valeur récupérée sur la carte, et de deux boutons 'ajouter 1' et 'enlever 1'.</span><br /><span class="lineno"> 81 </span> <span class="c1">// La fonction addition() définie dans le code javascript ci-dessus, sera appelée lorsqu'on appuie sur ces boutons.</span><br /><span class="lineno"> 82 </span> <br /><span class="lineno"> 83 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"<body><center></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 84 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" </br></br>Valeur actuelle : "</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">myValue</span><span class="p">)</span> <span class="o">+</span> <span class="s">"</br></br></span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> <br /><span class="lineno"> 85 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" <form></span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> <br /><span class="lineno"> 86 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" <input type='submit' value='ajouter 1' formaction='javascript:addition(1);' formmethod=post></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 87 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" <input type='submit' value='enlever 1' formaction='javascript:addition(-1);' formmethod=post></span><span class="se">\n</span><span class="s">"</span> <span class="p">;</span><br /><span class="lineno"> 88 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">" </form></span><span class="se">\n</span><span class="s">"</span><span class="p">;</span><br /><span class="lineno"> 89 </span> <span class="n">p</span> <span class="o">+=</span> <span class="s">"</center></body></html>"</span> <span class="p">;</span><br /><span class="lineno"> 90 </span><br /><span class="lineno"> 91 </span> <span class="c1">// ça y est, la page web est complètement constituée !</span><br /><span class="lineno"> 92 </span><br /><span class="lineno"> 93 </span> <span class="k">return</span> <span class="n">p</span><span class="p">;</span><br /><span class="lineno"> 94 </span> <br /><span class="lineno"> 95 </span><span class="p">}</span><br /><span class="lineno"> 96 </span><br /><span class="lineno"> 97 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 98 </span><span class="cm"> * runPage01 : gestion de la page web</span><br /><span class="lineno"> 99 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">100 </span><span class="kr">void</span> <span class="nf">runPage01</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">101 </span><br /><span class="lineno">102 </span> <span class="c1">// Si la page a un paramètre 'add', alors on récupère sa valeur, et on l'ajoute à notre variable 'myValue'.</span><br /><span class="lineno">103 </span> <br /><span class="lineno">104 </span> <span class="k">if</span> <span class="p">(</span> <span class="n">myWeb</span><span class="p">.</span><span class="n">hasArg</span><span class="p">(</span><span class="s">"add"</span><span class="p">)</span> <span class="p">)</span> <span class="p">{</span> <br /><span class="lineno">105 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Traitement pge web, arg = '"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">myWeb</span><span class="p">.</span><span class="n">arg</span><span class="p">(</span><span class="s">"add"</span><span class="p">))</span> <span class="o">+</span> <span class="s">"'"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">106 </span> <span class="kr">int</span> <span class="n">myArg</span> <span class="o">=</span> <span class="n">myWeb</span><span class="p">.</span><span class="n">arg</span><span class="p">(</span><span class="s">"add"</span><span class="p">).</span><span class="n">toInt</span><span class="p">()</span> <span class="p">;</span> <br /><span class="lineno">107 </span> <span class="n">myValue</span> <span class="o">=</span> <span class="n">myValue</span> <span class="o">+</span> <span class="n">myArg</span> <span class="p">;</span><br /><span class="lineno">108 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Traitement page web, arg = '"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">myWeb</span><span class="p">.</span><span class="n">arg</span><span class="p">(</span><span class="s">"add"</span><span class="p">))</span> <span class="o">+</span> <span class="s">"' --> Nouvelle valeur : "</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">myValue</span><span class="p">))</span> <span class="p">;</span><br /><span class="lineno">109 </span> <span class="p">}</span><br /><span class="lineno">110 </span><br /><span class="lineno">111 </span> <span class="c1">// On renvoie la page Web.</span><br /><span class="lineno">112 </span> <span class="n">myWeb</span><span class="p">.</span><span class="n">send</span> <span class="p">(</span> <span class="mi">200</span><span class="p">,</span> <span class="s">"text/html"</span><span class="p">,</span> <span class="n">webPage01</span><span class="p">()</span> <span class="p">);</span> <br /><span class="lineno">113 </span><span class="p">}</span><br /><span class="lineno">114 </span><br /><span class="lineno">115 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">116 </span><span class="cm"> * SETUP : Initialisation</span><br /><span class="lineno">117 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">118 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">119 </span><br /><span class="lineno">120 </span> <span class="c1">// Initialisation de la liaison série, affichage 1er message</span><br /><span class="lineno">121 </span><br /><span class="lineno">122 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span><br /><span class="lineno">123 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">124 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <br /><span class="lineno">125 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">126 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Exemple de serveur WEB"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">127 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"----------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">128 </span><br /><span class="lineno">129 </span> <span class="c1">// Déclaration du mode "Point d'Accès". On s'arrête là si échec.</span><br /><span class="lineno">130 </span><br /><span class="lineno">131 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Déclaration Mode AP, SSID </span><span class="se">\"</span><span class="s">"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">mySSID</span><span class="p">)</span> <span class="o">+</span> <span class="s">"</span><span class="se">\"</span><span class="s">"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">132 </span> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">softAP</span><span class="p">(</span><span class="n">mySSID</span><span class="p">,</span><span class="n">mySecKey</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno">133 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Mode AP KO ... :-("</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">134 </span> <span class="k">return</span> <span class="p">;</span><br /><span class="lineno">135 </span> <span class="p">}</span><br /><span class="lineno">136 </span><br /><span class="lineno">137 </span> <span class="c1">// Affichage de l'adresse IP principale du Point d'Accès.</span><br /><span class="lineno">138 </span><br /><span class="lineno">139 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Mode AP OK, IP Address : "</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">140 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">softAPIP</span><span class="p">())</span> <span class="p">;</span><br /><span class="lineno">141 </span><br /><span class="lineno">142 </span> <span class="c1">// Définition des points d'entrée du serveur Web (un seul ici), </span><br /><span class="lineno">143 </span> <span class="c1">// et démarrage du serveur.</span><br /><span class="lineno">144 </span> <br /><span class="lineno">145 </span> <span class="n">myWeb</span><span class="p">.</span><span class="n">on</span> <span class="p">(</span> <span class="s">"/"</span><span class="p">,</span> <span class="n">runPage01</span> <span class="p">);</span><br /><span class="lineno">146 </span> <span class="n">myWeb</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><br /><span class="lineno">147 </span> <br /><span class="lineno">148 </span><span class="p">}</span><br /><span class="lineno">149 </span><br /><span class="lineno">150 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">151 </span><span class="cm"> * LOOP : fonction appelée régulièrement par le système</span><br /><span class="lineno">152 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">153 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span> <br /><span class="lineno">154 </span> <br /><span class="lineno">155 </span> <span class="c1">// Traitement des requêtes web.</span><br /><span class="lineno">156 </span> <span class="n">myWeb</span><span class="p">.</span><span class="n">handleClient</span><span class="p">();</span> <br /><span class="lineno">157 </span> <br /><span class="lineno">158 </span><span class="p">}</span><br /></pre></div></nowiki>  , *'''Episode 3 :''' [https://www.wikidebrouillard.org/wiki/Code_Minimal_R%C3%A9seau_-_(3)_Mon_D1_Mini_r%C3%A9cup%C3%A8re_des_donn%C3%A9es_sur_Internet_(Json) Mon Wemos D1 mini récupère des donnée sur Internet  (Json)]. *'''Episode 4 :''' [https://www.wikidebrouillard.org/wiki/Code_Minimal_R%C3%A9seau_-_(4)_Mes_Wemos_D1_Mini_discutent_sur_Internet_avec_MQTT Mon Wemos D1 mini discute sur Internet avec MQTT]. ''Ces épisodes sont indépendants les uns des autres''.   +
*'''Episode 4 :''' [https://www.wikidebrouillard.org/wiki/Code_Minimal_R%C3%A9seau_-_(4)_Mes_Wemos_D1_Mini_discutent_sur_Internet_avec_MQTT Mon Wemos D1 mini discute sur Internet avec MQTT.]   +, <nowiki>Nous allons maintenant nous intéresser à la récupération de données sur Internet (informations sur la météo, sur la pollution, sur les derniers recensements, ...). De nombreux serveurs de données, et en particulier les serveurs "Open Data" (offrant des données libres de droit), sont accessibles en mode web. C'est-à-dire qu'une simple requête dans la barre d'adresse de votre navigateur, permet de récupérer les informations souhaitées.<br /><br /><br /><br />Et, encore mieux, dans la plupart des cas, la réponse revient sous une forme standardisée de type '''JSON''' (JavaScript Objet Notation), que les navigateurs récents sont capables de décoder. A titre d'exemple, ouvrez un nouvel onglet dans votre navigateur, et recopiez dans la barre d'adresse ce qui suit ...<br /><br /><br/><br /> https://data.rennesmetropole.fr/api/records/1.0/search/?dataset=etat-du-trafic-en-temps-reel&q=rocade<br />... et vous devriez avoir en retour un texte de ce type : <br /> <br /> {"nhits": 63, "parameters": {"dataset": "etat-du-trafic-en-temps-reel", "q": "rocade", "rows": 10, "start": 0, "format": "json", "timezone": "UTC"}, "records": [{"datasetid": "etat-du-trafic-en-temps-reel", "recordid": "c8cd4fc9d2a9f1840170322c834f827fc100cc75", "fields": {"traveltimereliability": 100, "traveltime": 55, "predefinedlocationreference": "30023", "averagevehiclespeed": 91, "datetime": "2022-11-29T15:11:00+01:00", "gml_id": "v_rva_troncon_fcd.fid-722fb9f8_184c264cda5_453f", "trafficstatus": "freeFlow", "func_class": 666, "geo_point_2d": [48.14130932076887, -1.6781068587055177], '''(...)'''<br /><br />... mais que votre navigateur va quasi-immédiatement immédiatement reconnaître comme un format JSON, et afficher sous une forme plus structurée :<br /><br /><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Code minimal des fonctions reseau Code JSON.png" data-sourceimage="https://www.wikidebrouillard.org/images/d/d7/Code_minimal_des_fonctions_reseau_Code_JSON.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Code_minimal_des_fonctions_reseau_Code_JSON.png" class="image" title="Exemple de réponse JSON"><img alt="Exemple de réponse JSON" src="/images/d/d7/Code_minimal_des_fonctions_reseau_Code_JSON.png" width="564" height="472" data-file-width="564" data-file-height="472" /></a></div></div></span></div><br /><br />Nous avons fait ici appel au serveur Open Data de la ville de Rennes, et avons fait une requête demandant l'état du trafic sur la rocade principale. Ce même serveur propose un tas d'autres données libres, et on peut trouver sur Internet une multitude d'autres serveurs "Open Data" en mode JSON.</nowiki>  , <nowiki>... bon, ok, mais mon D1 mini n'a pas de navigateur ?<br /><br /><br />C'est là où deux bibliothèques vont nous être utiles : <br /><br />*la première pour permettre à notre carte se connecter au serveur de données en mode sécurisé (car la plupart des sites web ont une adresse ''''https'''://www...') : '''WiFiClientSecure'''. Celle-ci est intégrée de base dans l'environnement de développement Arduino.<br />*la seconde pour décoder le format JSON et extraire facilement les éléments de réponse qui nous intéressent : '''ArduinoJson'''. Celle-ci doit être récupérée dans le gestionnaire de bibliothèques :<br/> <div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Code minimal des fonctions reseau Biblio ArduinoJSON.png" data-sourceimage="https://www.wikidebrouillard.org/images/9/92/Code_minimal_des_fonctions_reseau_Biblio_ArduinoJSON.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Code_minimal_des_fonctions_reseau_Biblio_ArduinoJSON.png" class="image" title="Bibliothèque ArduinoJSON"><img alt="Bibliothèque ArduinoJSON" src="/images/9/92/Code_minimal_des_fonctions_reseau_Biblio_ArduinoJSON.png" width="752" height="107" data-file-width="752" data-file-height="107" /></a></div></div></span></div><br /><br />Les possibilités sont multiples, et l'exploitation des données JSON par les cartes D1 mini ou ESP32, peut prendre des formes très sympathiques : voir par exemple les réalisations "[https://www.wiki.lesfabriquesduponant.net/index.php?title=POCL_:_VOIR_DEMAIN Voir Demain]" et "[https://www.wiki.lesfabriquesduponant.net/index.php?title=POCL_:_Hawaiiiii Hawaiiiii]" issues d'un hackathon organisé en décembre 2021 par Les Petits Débrouillards Grand Ouest et L'Edulab de l'Université de Rennes 2.<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Code minimal des fonctions reseau Copie tableau mode img cause bug si tableau wiki.png" data-sourceimage="https://www.wikidebrouillard.org/images/9/94/Code_minimal_des_fonctions_reseau_Copie_tableau_mode_img_cause_bug_si_tableau_wiki.png"><span ><a href="/wiki/Fichier:Code_minimal_des_fonctions_reseau_Copie_tableau_mode_img_cause_bug_si_tableau_wiki.png" class="image" title="Fonctions JSON"><img alt="Fonctions JSON" src="/images/thumb/9/94/Code_minimal_des_fonctions_reseau_Copie_tableau_mode_img_cause_bug_si_tableau_wiki.png/800px-Code_minimal_des_fonctions_reseau_Copie_tableau_mode_img_cause_bug_si_tableau_wiki.png" width="800" height="191" data-file-width="1293" data-file-height="309" /></a></span></div><br /><br /><br />Pour connaître toutes les autres possibilités de cette bibliothèque, voir sa référence, [https://github.com/256dpi/arduino-mqtt ici].<br /><br /><br />'''Code minimal :'''<br /><br /><br />Bon, en fait, pas tout à fait "minimal" : <br /><br />*pour des raisons de clarté, nous avons défini deux fonctions : '''serverRequest''' pour générer la requête auprès du serveur et récupérer la réponse, et '''showJSONAnswer''' pour analyser la réponse (décodage des informations JSON).<br />*pour faciliter la réutilisation de ce code, plutôt que de tout traiter dans le setup(), nous activerons ces fonctions régulièrement, depuis la boucle loop(), ce qui est le mode de fonctionnement habituel.<br /><br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cm">/* =========================================================================================================</span><br /><span class="lineno"> 2 </span><span class="cm"> * </span><br /><span class="lineno"> 3 </span><span class="cm"> * CODE MINIMAL RESEAU - ETAPE 5 : Données JSON</span><br /><span class="lineno"> 4 </span><span class="cm"> * </span><br /><span class="lineno"> 5 </span><span class="cm"> * ---------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 6 </span><span class="cm"> * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno"> 7 </span><span class="cm"> * ========================================================================================================= */</span><br /><span class="lineno"> 8 </span><br /><span class="lineno"> 9 </span><span class="c1">// Bibliothèques requises</span><br /><span class="lineno"> 10 </span><span class="c1">// ATTENTION AUX MAJUSCULES & MINUSCULES ! Sinon d'autres bibliothèques, plus ou moins valides, seraient utilisées.</span><br /><span class="lineno"> 11 </span><br /><span class="lineno"> 12 </span><span class="cp">#include</span> <span class="cpf"><WiFiManager.h> // Gestion de la connexion Wi-Fi (recherche de points d'accès) </span><span class="cp"></span><br /><span class="lineno"> 13 </span><span class="cp">#include</span> <span class="cpf"><WiFiClientSecure.h> // Gestion de la connexion (HTTP) à un serveur de données</span><span class="cp"></span><br /><span class="lineno"> 14 </span><span class="cp">#include</span> <span class="cpf"><ArduinoJson.h> // Fonctions de décodage JSON des réponses du serveur. </span><span class="cp"></span><br /><span class="lineno"> 15 </span><br /><span class="lineno"> 16 </span><br /><span class="lineno"> 17 </span><br /><span class="lineno"> 18 </span><span class="c1">// Variables globales</span><br /><span class="lineno"> 19 </span><br /><span class="lineno"> 20 </span><span class="n">WiFiManager</span> <span class="n">myWiFiManager</span><span class="p">;</span> <span class="c1">// Création de mon instance de WiFiManager.</span><br /><span class="lineno"> 21 </span><span class="n">WiFiClientSecure</span> <span class="n">myWiFiClient</span><span class="p">;</span> <span class="c1">// Création de mon instance de client WiFi.</span><br /><span class="lineno"> 22 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySSID</span> <span class="o">=</span> <span class="s">"AP_PetitDeb"</span> <span class="p">;</span> <span class="c1">// Nom de la carte en mode Point d'Accès.</span><br /><span class="lineno"> 23 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySecKey</span> <span class="o">=</span> <span class="s">"PSWD1234"</span> <span class="p">;</span> <span class="c1">// Mot de passe associé, 8 caractères au minimum.</span><br /><span class="lineno"> 24 </span><br /><span class="lineno"> 25 </span><span class="kr">char</span><span class="o">*</span> <span class="n">Data_HOST</span> <span class="o">=</span> <span class="s">"data.rennesmetropole.fr"</span><span class="p">;</span> <span class="c1">// Serveur web hébergeant les données qui nous intéressent</span><br /><span class="lineno"> 26 </span><span class="kr">int</span> <span class="n">Data_PORT</span> <span class="o">=</span> <span class="mi">443</span><span class="p">;</span> <span class="c1">// Port sur lequel envoyer la requête</span><br /><span class="lineno"> 27 </span><span class="kr">char</span><span class="o">*</span> <span class="n">Data_REQUEST</span> <span class="o">=</span> <span class="c1">// Requête (sur cet exemple : demande de l'état du trafic au point</span><br /><span class="lineno"> 28 </span> <span class="c1">// 31553, correspondant à la porte de Saint-Malo de la rocade de Rennes </span><br /><span class="lineno"> 29 </span> <span class="s">"/api/records/1.0/search/?dataset=etat-du-trafic-en-temps-reel&q=31553"</span><span class="p">;</span> <br /><span class="lineno"> 30 </span><br /><span class="lineno"> 31 </span><br /><span class="lineno"> 32 </span><span class="kr">const</span> <span class="kr">int</span> <span class="n">MAX_RESPONSE_SIZE</span> <span class="o">=</span> <span class="mi">6000</span> <span class="p">;</span> <span class="c1">// Taille max de la réponse attendue d'un serveur. A modifier en fonction du besoin.</span><br /><span class="lineno"> 33 </span><span class="kr">char</span> <span class="n">Data_Response</span><span class="p">[</span><span class="n">MAX_RESPONSE_SIZE</span><span class="p">]</span> <span class="p">;</span> <span class="c1">// Buffer qui contiendra la réponse du serveur.</span><br /><span class="lineno"> 34 </span> <br /><span class="lineno"> 35 </span><span class="cp">#define TEN_SECONDS 10000 </span><span class="c1">// On appelera le serveur de données toutes les 10000 ms = 10 secondes.</span><br /><span class="lineno"> 36 </span><span class="kr">unsigned</span> <span class="kr">long</span> <span class="n">myWakeUp</span> <span class="p">;</span> <span class="c1">// Timer mis en place pour limiter le nombre d'appels au serveur de données.</span><br /><span class="lineno"> 37 </span><br /><span class="lineno"> 38 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 39 </span><span class="cm"> * serverRequest() : Envoi requête HTTP au serveur et récupération de la réponse</span><br /><span class="lineno"> 40 </span><span class="cm"> * paramètres : </span><br /><span class="lineno"> 41 </span><span class="cm"> * - pHost : nom du serveur ; </span><br /><span class="lineno"> 42 </span><span class="cm"> * - pPort : port sur lequel est appelé le serveur ; </span><br /><span class="lineno"> 43 </span><span class="cm"> * - pRequest : requête au serveur.</span><br /><span class="lineno"> 44 </span><span class="cm"> * - pResponse : endroit où stocker la réponse</span><br /><span class="lineno"> 45 </span><span class="cm"> * - pRespMax : nombre max de caractères autorisés pour la réponse</span><br /><span class="lineno"> 46 </span><span class="cm"> * valeur de retour : </span><br /><span class="lineno"> 47 </span><span class="cm"> * -2 = réponse tronquée (trop de caractères) ;</span><br /><span class="lineno"> 48 </span><span class="cm"> * -1 = pas de réponse ;</span><br /><span class="lineno"> 49 </span><span class="cm"> * 0 = pas de connexion au serveur ;</span><br /><span class="lineno"> 50 </span><span class="cm"> * 1 = ok.</span><br /><span class="lineno"> 51 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno"> 52 </span><span class="kr">int</span> <span class="nf">serverRequest</span><span class="p">(</span><span class="kr">char</span><span class="o">*</span> <span class="n">pHost</span><span class="p">,</span> <span class="kr">int</span> <span class="n">pPort</span><span class="p">,</span> <span class="kr">char</span><span class="o">*</span> <span class="n">pRequest</span><span class="p">,</span> <span class="kr">char</span> <span class="o">*</span><span class="n">pResponse</span><span class="p">,</span> <span class="kr">int</span> <span class="n">pRespMax</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno"> 53 </span> <br /><span class="lineno"> 54 </span> <span class="kr">const</span> <span class="kr">int</span> <span class="n">API_TIMEOUT</span> <span class="o">=</span> <span class="mi">15000</span><span class="p">;</span> <span class="c1">// Pour être sûr de recevoir l'en-tête de la réponse client.</span><br /><span class="lineno"> 55 </span><br /><span class="lineno"> 56 </span> <span class="c1">// Comme la connexion est sécurisée (protocole HTTPS), il faudrait indiquer le certificat du site web.</span><br /><span class="lineno"> 57 </span> <span class="c1">// Pour simplifier, on va utiliser l'option magique ".setInsecure()", ce qui n'est pas important dans </span><br /><span class="lineno"> 58 </span> <span class="c1">// notre exemple, où les données échangées ne sont pas confidentielles.</span><br /><span class="lineno"> 59 </span><br /><span class="lineno"> 60 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="n">setInsecure</span><span class="p">();</span><br /><span class="lineno"> 61 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">setTimeout</span><span class="p">(</span><span class="n">API_TIMEOUT</span><span class="p">);</span><br /><span class="lineno"> 62 </span><br /><span class="lineno"> 63 </span> <span class="c1">// Connexion au serveur (on essaie 5 fois, avec un intervalle d'une seconde)</span><br /><span class="lineno"> 64 </span><br /><span class="lineno"> 65 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"--- Connexion au serveur ["</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">pHost</span><span class="p">)</span> <span class="o">+</span> <span class="s">"] "</span><span class="p">);</span> <br /><span class="lineno"> 66 </span> <span class="kr">int</span> <span class="n">nbTries</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span><br /><span class="lineno"> 67 </span> <span class="k">while</span><span class="p">(</span><span class="o">!</span><span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">connect</span><span class="p">(</span><span class="n">pHost</span><span class="p">,</span> <span class="n">pPort</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno"> 68 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"."</span><span class="p">);</span><br /><span class="lineno"> 69 </span> <span class="k">if</span> <span class="p">(</span><span class="o">++</span><span class="n">nbTries</span> <span class="o">></span> <span class="mi">5</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno"> 70 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Connexion impossible :-("</span><span class="p">);</span><br /><span class="lineno"> 71 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">stop</span><span class="p">();</span><br /><span class="lineno"> 72 </span> <span class="k">return</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span><br /><span class="lineno"> 73 </span> <span class="p">}</span><br /><span class="lineno"> 74 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">1000</span><span class="p">);</span><br /><span class="lineno"> 75 </span> <span class="p">}</span> <br /><span class="lineno"> 76 </span><br /><span class="lineno"> 77 </span> <span class="c1">// Connecté à notre serveur ! --> Envoi de la requête URL. Il faut envoyer en fait une suite de lignes : </span><br /><span class="lineno"> 78 </span> <span class="c1">// "GET <notre requête> HTTP/1.1"</span><br /><span class="lineno"> 79 </span> <span class="c1">// "Host: <nom du serveur>"</span><br /><span class="lineno"> 80 </span> <span class="c1">// "Connection: close"</span><br /><span class="lineno"> 81 </span> <span class="c1">// <ligne vide></span><br /><span class="lineno"> 82 </span> <span class="c1">// Cet envoi se fait simplement grâce à la fonction println du client WiFi, similaire à celle que </span><br /><span class="lineno"> 83 </span> <span class="c1">// l'on utilise pour envoyer des données au moniteur série pour nos traces.</span><br /><span class="lineno"> 84 </span><br /><span class="lineno"> 85 </span> <span class="kr">String</span> <span class="n">myURL</span> <span class="o">=</span> <span class="kr">String</span><span class="p">(</span><span class="n">pRequest</span><span class="p">);</span><br /><span class="lineno"> 86 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">()</span> <span class="p">;</span> <br /><span class="lineno"> 87 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Connexion OK ! --> Envoi requête URL - "</span> <span class="o">+</span> <span class="n">myURL</span><span class="p">);</span><br /><span class="lineno"> 88 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"GET "</span> <span class="o">+</span> <span class="n">myURL</span> <span class="o">+</span> <span class="s">" HTTP/1.1"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 89 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Host: "</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">pHost</span><span class="p">))</span> <span class="p">;</span><br /><span class="lineno"> 90 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Connection: close"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 91 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">println</span><span class="p">()</span> <span class="p">;</span><br /><span class="lineno"> 92 </span> <br /><span class="lineno"> 93 </span> <span class="c1">// Attente de la réponse ....(on essaie 50 fois, avec un intervalle de 100ms, donc 5 secondes en tout)</span><br /><span class="lineno"> 94 </span> <br /><span class="lineno"> 95 </span> <span class="n">nbTries</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span><br /><span class="lineno"> 96 </span> <span class="k">while</span><span class="p">(</span><span class="o">!</span><span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">available</span><span class="p">()){</span><br /><span class="lineno"> 97 </span> <span class="k">if</span> <span class="p">(</span><span class="o">++</span><span class="n">nbTries</span> <span class="o">></span> <span class="mi">50</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno"> 98 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Pas de réponse :-("</span><span class="p">);</span><br /><span class="lineno"> 99 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">stop</span><span class="p">();</span><br /><span class="lineno">100 </span> <span class="k">return</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">);</span><br /><span class="lineno">101 </span> <span class="p">}</span><br /><span class="lineno">102 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span><br /><span class="lineno">103 </span> <span class="p">}</span><br /><span class="lineno">104 </span><br /><span class="lineno">105 </span> <span class="c1">// Récupération de l'en-tête de la réponse (dont on ne fera rien)</span><br /><span class="lineno">106 </span> <span class="c1">// Cette entête est une suite de caractères, composant un certain nombre de lignes (ie se terminant par '\n'), </span><br /><span class="lineno">107 </span> <span class="c1">// la dernière ligne de l'entête n'est composée que du caractère "\r" (suivie du '\n') ;</span><br /><span class="lineno">108 </span> <br /><span class="lineno">109 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Réponse OK --> Récupération de l'en-tête ..."</span><span class="p">);</span><br /><span class="lineno">110 </span> <span class="kr">String</span> <span class="n">myLine</span> <span class="p">;</span><br /><span class="lineno">111 </span> <span class="k">while</span> <span class="p">(</span><span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">available</span><span class="p">())</span> <span class="p">{</span><br /><span class="lineno">112 </span> <span class="n">myLine</span> <span class="o">=</span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">readStringUntil</span><span class="p">(</span><span class="sc">'\n'</span><span class="p">);</span><br /><span class="lineno">113 </span> <span class="k">if</span> <span class="p">(</span><span class="n">myLine</span> <span class="o">==</span> <span class="s">"</span><span class="se">\r</span><span class="s">"</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">114 </span> <span class="k">break</span><span class="p">;</span><br /><span class="lineno">115 </span> <span class="p">}</span><br /><span class="lineno">116 </span> <span class="p">}</span><br /><span class="lineno">117 </span><br /><span class="lineno">118 </span> <span class="c1">// Entête reçue ! On va alors recopier dans pResponse tous les caractères qui suivent </span><br /><span class="lineno">119 </span> <span class="c1">// en faisant attention à ne pas dépasser la taille du buffer.</span><br /><span class="lineno">120 </span><br /><span class="lineno">121 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Entête ok --> Récupération des données ..."</span><span class="p">);</span><br /><span class="lineno">122 </span> <span class="kr">int</span> <span class="n">myIndex</span> <span class="o">=</span> <span class="mi">0</span> <span class="p">;</span><br /><span class="lineno">123 </span> <span class="k">while</span> <span class="p">(</span><span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">available</span><span class="p">())</span> <span class="p">{</span><br /><span class="lineno">124 </span><br /><span class="lineno">125 </span> <span class="kr">char</span> <span class="n">myResp</span> <span class="o">=</span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">read</span><span class="p">();</span><br /><span class="lineno">126 </span> <span class="cm">/* Debug supprimé ... Serial.println(myResp) ; */</span><br /><span class="lineno">127 </span> <span class="n">pResponse</span><span class="p">[</span><span class="n">myIndex</span><span class="p">]</span> <span class="o">=</span> <span class="n">myResp</span><span class="p">;</span> <br /><span class="lineno">128 </span> <span class="k">if</span> <span class="p">(</span><span class="n">myIndex</span><span class="o">++</span> <span class="o">>=</span> <span class="n">pRespMax</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">129 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"*** Réponse trop longue : "</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">pRespMax</span><span class="p">)</span> <span class="o">+</span> <span class="s">"caractères, et ne peut pas être traitée"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">130 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">stop</span><span class="p">();</span><br /><span class="lineno">131 </span> <span class="k">return</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">);</span><br /><span class="lineno">132 </span> <span class="p">}</span><br /><span class="lineno">133 </span> <span class="n">pResponse</span><span class="p">[</span><span class="n">myIndex</span><span class="p">]</span> <span class="o">=</span> <span class="sc">'\0'</span><span class="p">;</span> <span class="c1">// Vu sur forums : conseillé d'ajouté 'fin de chaîne' systématiquement</span><br /><span class="lineno">134 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="p">;</span> <span class="c1">// Et également d'ajouter ce tout petit délai pour éviter des plantages.</span><br /><span class="lineno">135 </span> <br /><span class="lineno">136 </span> <span class="p">}</span><br /><span class="lineno">137 </span><br /><span class="lineno">138 </span> <span class="c1">// Tout s'est bien passé ! On arrête notre client WiFi</span><br /><span class="lineno">139 </span><br /><span class="lineno">140 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Récupération des données ok ("</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">myIndex</span><span class="p">)</span> <span class="o">+</span> <span class="s">" caractères)."</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">141 </span> <span class="n">myWiFiClient</span><span class="p">.</span><span class="nf">stop</span><span class="p">();</span><br /><span class="lineno">142 </span> <span class="k">return</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">143 </span><br /><span class="lineno">144 </span><span class="p">}</span><br /><span class="lineno">145 </span><br /><span class="lineno">146 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">147 </span><span class="cm"> * showJSONAnswer : Décodage de la structure de données JSON</span><br /><span class="lineno">148 </span><span class="cm"> * Paramètres :</span><br /><span class="lineno">149 </span><span class="cm"> * - pResponse : endroit se trouve la réponse (au format JSON) du serveur</span><br /><span class="lineno">150 </span><span class="cm"> * - pRespMax : nombre max de caractères autorisés pour la réponse</span><br /><span class="lineno">151 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">152 </span><span class="kr">void</span> <span class="nf">showJSONAnswer</span><span class="p">(</span><span class="kr">char</span> <span class="o">*</span><span class="n">pResponse</span><span class="p">,</span> <span class="kr">int</span> <span class="n">pRespMax</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">153 </span><br /><span class="lineno">154 </span> <span class="c1">// Création de notre structure JSON</span><br /><span class="lineno">155 </span> <span class="c1">// Le besoin en mémoire (capacity) doit être vérifié sur l'assistant https://arduinojson.org/v6/assistant/</span><br /><span class="lineno">156 </span> <span class="c1">// 1) dans la première page de l'assistant, sélectionnez le processeur (par exemple "ESP8266"), le mode</span><br /><span class="lineno">157 </span> <span class="c1">// "Deserialize", et le type d'entrée "char*", puis cliquez sur le bouton "Netx:JSON"</span><br /><span class="lineno">158 </span> <span class="c1">// 2) Lancez votre requête depuis un navigateur. Dans notre exemple, tapez dans la barre d'adresse :</span><br /><span class="lineno">159 </span> <span class="c1">// "https://data.rennesmetropole.fr/api/records/1.0/search/?dataset=etat-du-trafic-en-temps-reel&q=31553"</span><br /><span class="lineno">160 </span> <span class="c1">// 3) Recopiez la réponse obtenue - sous sa forme "Données Brutes" du navigateur vers l'assistant</span><br /><span class="lineno">161 </span> <span class="c1">// 4) L'assistant va alors préconiser le bon objet à créer (StaticJsonDocument ou DynamicJsonDocument),</span><br /><span class="lineno">162 </span> <span class="c1">// ainsi que la taille à réserver. L'assistant va même proposer un exemple de programme exploitant toutes </span><br /><span class="lineno">163 </span> <span class="c1">// les informations de la structure JSON. </span><br /><span class="lineno">164 </span> <span class="c1">// Pour notre exemple, l'assistant a proposé la définition qui suit.</span><br /><span class="lineno">165 </span> <br /><span class="lineno">166 </span> <span class="n">StaticJsonDocument</span><span class="o"><</span><span class="mi">1024</span><span class="o">></span> <span class="n">doc</span><span class="p">;</span><br /><span class="lineno">167 </span><br /><span class="lineno">168 </span> <span class="c1">// Décodage de la réponse JSON.</span><br /><span class="lineno">169 </span> <span class="c1">// La fonction deserializeJson va transformer la réponse "texte" du serveur, en une structure de données recopiée</span><br /><span class="lineno">170 </span> <span class="c1">// dans la variable 'doc', où il sera ensuite facile d'aller chercher les informations souhaitées.</span><br /><span class="lineno">171 </span> <br /><span class="lineno">172 </span> <span class="n">DeserializationError</span> <span class="n">error</span> <span class="o">=</span> <span class="n">deserializeJson</span><span class="p">(</span><span class="n">doc</span><span class="p">,</span> <span class="n">pResponse</span><span class="p">,</span> <span class="n">pRespMax</span><span class="p">);</span><br /><span class="lineno">173 </span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">174 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Décodage réponse JSON KO, code "</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">error</span><span class="p">.</span><span class="n">f_str</span><span class="p">()))</span> <span class="p">;</span><br /><span class="lineno">175 </span> <span class="k">return</span><span class="p">;</span><br /><span class="lineno">176 </span> <span class="p">}</span><br /><span class="lineno">177 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Décodage réponse JSON OK !"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">178 </span><br /><span class="lineno">179 </span> <span class="c1">// Nous pouvons maintenant extraire facilement les informations qui nous intéressent,</span><br /><span class="lineno">180 </span> <span class="c1">// en n'oubliant pas le niveau de profondeur de la donnée au sein de la structure JSON. </span><br /><span class="lineno">181 </span> <span class="c1">// Ce niveau de profondeur est incrémenté par le nombre de '{' ou '[' rencontrés, et </span><br /><span class="lineno">182 </span> <span class="c1">// décrémenté lors de la rencontre des ']' et {}'. Sur notre exemple 'rocade de Rennes',</span><br /><span class="lineno">183 </span> <span class="c1">// cela donne ceci :</span><br /><span class="lineno">184 </span> <span class="c1">// +-----------------------------------------------------------------+</span><br /><span class="lineno">185 </span> <span class="c1">// | { | ... Entrée niveau 1</span><br /><span class="lineno">186 </span> <span class="c1">// | "nhits": 1, |</span><br /><span class="lineno">187 </span> <span class="c1">// | "parameters": { | ... Entrée niveau 2</span><br /><span class="lineno">188 </span> <span class="c1">// | "dataset": "etat-du-trafic-en-temps-reel", |</span><br /><span class="lineno">189 </span> <span class="c1">// | (...) |</span><br /><span class="lineno">190 </span> <span class="c1">// | }, | ... Retour niveau 1</span><br /><span class="lineno">191 </span> <span class="c1">// | "records": [ | ... Début d'un tableau : niveau 2</span><br /><span class="lineno">192 </span> <span class="c1">// | { | ... Entrée niveau 3</span><br /><span class="lineno">193 </span> <span class="c1">// | (...) | |</span><br /><span class="lineno">194 </span> <span class="c1">// | "fields": { | ... Entrée niveau 4</span><br /><span class="lineno">195 </span> <span class="c1">// | (...) |</span><br /><span class="lineno">196 </span> <span class="c1">// | "averagevehiclespeed": 88, |</span><br /><span class="lineno">197 </span> <span class="c1">// | (...) |</span><br /><span class="lineno">198 </span> <span class="c1">// | "datetime": "2022-11-30T11:57:00+01:00", |</span><br /><span class="lineno">199 </span> <span class="c1">// +-----------------------------------------------------------------+</span><br /><span class="lineno">200 </span> <span class="c1">// ... et donc :</span><br /><span class="lineno">201 </span> <span class="c1">// - (1er niveau) --------- doc["nhits"] donnera la valeur 1,</span><br /><span class="lineno">202 </span> <span class="c1">// - (2ème niveau) -------- doc["parameters"]["dataset"] donnera la valeur "etat-du-trafic-en-temps-reel"</span><br /><span class="lineno">203 </span> <span class="c1">// - (4ème niveau) -------- doc["records"][0]["fields"]["averagevehiclespeed"] donnera la valeur 87</span><br /><span class="lineno">204 </span><br /><span class="lineno">205 </span> <span class="c1">// Extraction et affichage sur le port série de trois valeurs</span><br /><span class="lineno">206 </span><br /><span class="lineno">207 </span> <span class="kr">String</span> <span class="n">myLocRef</span> <span class="o">=</span> <span class="kr">String</span><span class="p">(</span><span class="n">doc</span><span class="p">[</span><span class="s">"records"</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s">"fields"</span><span class="p">][</span><span class="s">"predefinedlocationreference"</span><span class="p">])</span> <span class="p">;</span><br /><span class="lineno">208 </span> <span class="kr">String</span> <span class="n">myTime</span> <span class="o">=</span> <span class="kr">String</span><span class="p">(</span><span class="n">doc</span><span class="p">[</span><span class="s">"records"</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s">"fields"</span><span class="p">][</span><span class="s">"datetime"</span><span class="p">])</span> <span class="p">;</span><br /><span class="lineno">209 </span> <span class="kr">int</span> <span class="n">mySpeed</span> <span class="o">=</span> <span class="n">doc</span><span class="p">[</span><span class="s">"records"</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s">"fields"</span><span class="p">][</span><span class="s">"averagevehiclespeed"</span><span class="p">]</span> <span class="p">;</span><br /><span class="lineno">210 </span> <br /><span class="lineno">211 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Vitesse au point "</span> <span class="o">+</span> <span class="n">myLocRef</span> <span class="o">+</span> <span class="s">" "</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">212 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"le "</span> <span class="o">+</span> <span class="n">myTime</span><span class="p">.</span><span class="n">substring</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span> <span class="o">+</span> <span class="s">"/"</span> <span class="o">+</span> <span class="n">myTime</span><span class="p">.</span><span class="n">substring</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">7</span><span class="p">)</span> <span class="o">+</span> <span class="s">"/"</span> <span class="o">+</span> <span class="n">myTime</span><span class="p">.</span><span class="n">substring</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="s">" "</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">213 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"à "</span> <span class="o">+</span> <span class="n">myTime</span><span class="p">.</span><span class="n">substring</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="mi">13</span><span class="p">)</span> <span class="o">+</span> <span class="s">"h"</span> <span class="o">+</span> <span class="n">myTime</span><span class="p">.</span><span class="n">substring</span><span class="p">(</span><span class="mi">14</span><span class="p">,</span><span class="mi">16</span><span class="p">)</span> <span class="o">+</span> <span class="s">" "</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">214 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">" : "</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">mySpeed</span><span class="p">)</span> <span class="o">+</span> <span class="s">" km/h."</span><span class="p">)</span> <span class="p">;</span> <br /><span class="lineno">215 </span><br /><span class="lineno">216 </span><span class="p">}</span><br /><span class="lineno">217 </span><br /><span class="lineno">218 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">219 </span><span class="cm"> * SETUP : Initialisation</span><br /><span class="lineno">220 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">221 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">222 </span><br /><span class="lineno">223 </span> <span class="c1">// Initialisation de la liaison série, affichage 1er message</span><br /><span class="lineno">224 </span><br /><span class="lineno">225 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span><br /><span class="lineno">226 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">227 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <br /><span class="lineno">228 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"-----------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">229 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Exemple extraction JSON"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">230 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"-----------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">231 </span><br /><span class="lineno">232 </span> <span class="c1">// Tentative de connexion au Wi-Fi. Si la carte n'a pas réussi se connecter au dernier Point d'Accès connu,</span><br /><span class="lineno">233 </span> <span class="c1">// alors elle va se positionner en mode Point d'Accès, demandera sur l'adresse 192.168.4.1 quel nouveau</span><br /><span class="lineno">234 </span> <span class="c1">// Point d'Accès choisir. Par défaut, on restera bloqué tant que l'utilisateur n'aura pas fait de choix.</span><br /><span class="lineno">235 </span> <br /><span class="lineno">236 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Connexion au Wi-Fi ..."</span><span class="p">);</span><br /><span class="lineno">237 </span> <span class="k">if</span> <span class="p">(</span><span class="n">myWiFiManager</span><span class="p">.</span><span class="n">autoConnect</span><span class="p">(</span><span class="n">mySSID</span><span class="p">,</span> <span class="n">mySecKey</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno">238 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Connecté ! Adresse IP : "</span><span class="p">);</span><br /><span class="lineno">239 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="nf">localIP</span><span class="p">());</span><br /><span class="lineno">240 </span> <span class="p">}</span><br /><span class="lineno">241 </span> <span class="k">else</span> <span class="p">{</span><br /><span class="lineno">242 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Connexion Wi-Fi KO :-("</span><span class="p">);</span> <br /><span class="lineno">243 </span> <span class="p">}</span><br /><span class="lineno">244 </span><br /><span class="lineno">245 </span> <span class="c1">// Initialisation du timer qui sera testé dans loop() - pour faire appel au serveur seulement toutes les 10 secondes </span><br /><span class="lineno">246 </span> <span class="c1">// millis() est une fonction système donnant le nombre de ms depuis le lancement ou la réinitialisation de la carte.</span><br /><span class="lineno">247 </span><br /><span class="lineno">248 </span> <span class="kr">unsigned</span> <span class="kr">long</span> <span class="n">myWakeUp</span> <span class="o">=</span> <span class="nf">millis</span><span class="p">()</span> <span class="o">+</span> <span class="n">TEN_SECONDS</span> <span class="p">;</span><br /><span class="lineno">249 </span><br /><span class="lineno">250 </span><span class="p">}</span><br /><span class="lineno">251 </span><br /><span class="lineno">252 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">253 </span><span class="cm"> * LOOP : fonction appelée régulièrement par le système</span><br /><span class="lineno">254 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">255 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span> <br /><span class="lineno">256 </span><br /><span class="lineno">257 </span> <span class="kr">unsigned</span> <span class="kr">long</span> <span class="n">myNow</span> <span class="o">=</span> <span class="nf">millis</span><span class="p">()</span> <span class="p">;</span><br /><span class="lineno">258 </span> <span class="k">if</span> <span class="p">(</span><span class="n">myNow</span> <span class="o">>=</span> <span class="n">myWakeUp</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">259 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Wake Up ! Nouvelle demande au serveur ..."</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">260 </span> <span class="k">if</span> <span class="p">(</span><span class="n">serverRequest</span><span class="p">(</span><span class="n">Data_HOST</span><span class="p">,</span> <span class="n">Data_PORT</span><span class="p">,</span> <span class="n">Data_REQUEST</span><span class="p">,</span> <span class="n">Data_Response</span><span class="p">,</span> <span class="n">MAX_RESPONSE_SIZE</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">261 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Réponse reçue du serveur, lancement analyse JSON ..."</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">262 </span> <span class="n">showJSONAnswer</span><span class="p">(</span><span class="n">Data_Response</span><span class="p">,</span> <span class="n">MAX_RESPONSE_SIZE</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">263 </span> <span class="p">}</span><br /><span class="lineno">264 </span> <span class="n">myWakeUp</span> <span class="o">=</span> <span class="n">myNow</span> <span class="o">+</span> <span class="n">TEN_SECONDS</span> <span class="p">;</span> <br /><span class="lineno">265 </span> <span class="p">}</span><br /><span class="lineno">266 </span><br /><span class="lineno">267 </span><span class="p">}</span><br /></pre></div><br /><br /><br/></nowiki>  
MQTT (Message Queuing Telemetry Transport) permet l'envoi et la réception de messages de petite taille. MQTT s'appuie sur un "broker MQTT", serveur externe, qui va recevoir les données d'un système, et les redistribuer à d'autres systèmes. MQTT est souvent utilisé pour collecter des données en provenance de petits capteurs (par exemple, capteurs de température dans un système domotique, capteurs de pollution au niveau d'une région voire d'un pays), car il a aussi comme avantage d'être peu consommateur de ressources. MQTT est basé sur un principe d'abonnement : le système émetteur doit préciser à quel sujet ("topic") se rattache son message, et tous les systèmes qui s'étaient préalablement abonnés à ce "topic" recevront alors le message. Principe proche de Twitter ou Instagram et leurs "hashtags", donc. On peut implémenter son propre broker MQTT (le code est libre d'usage), ou s'appuyer sur des brokers gérés par des associations ou des entreprises. Dans l'exemple ci-après, on utilise le broker des Petits Débrouillards, à utiliser avec modération. Mais ce n'est pas l'objet du tutoriel, nous nous intéressons ici uniquement à la partie "client", c'est à dire ce qu'il faut mettre en œuvre sur nos cartes D1 mini ou ESP.  +, <nowiki>Il existe plusieurs bibliothèques Arduino permettent de gérer des messages MQTT. Pour notre part, on utilise celle-ci (à aller chercher dans le gestionnaire de bibliothèque) :<br /><br/><div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Code minimal des fonctions reseau Biblio MQTT.png" data-sourceimage="https://www.wikidebrouillard.org/images/d/d7/Code_minimal_des_fonctions_reseau_Biblio_MQTT.png"><span ><a href="/wiki/Fichier:Code_minimal_des_fonctions_reseau_Biblio_MQTT.png" class="image" title="Bibliothèque MQTT"><img alt="Bibliothèque MQTT" src="/images/d/d7/Code_minimal_des_fonctions_reseau_Biblio_MQTT.png" width="945" height="118" data-file-width="945" data-file-height="118" /></a></span></div><br /><br /><br /><br /><br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">Gestion du MQTT<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left">#include <MQTT.h><br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création de l’objet<br /></td><td valign="middle" align="left">MQTTClient myMQTTClient;<br /></td></tr><tr><br /><td rowspan="5" valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup (ou le loop)<br /></td><td valign="middle" bgcolor="#999999" align="center">Initialisation<br /></td><td valign="middle" align="left">myMQTTClient.begin(@IP Broker, Port Broker, Client Wifi) ;<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Se préparer à la réception de messages<br /></td><td valign="middle" align="left">myMQTTClient.onMessage(référence de la fonction à appeler sur réception d'un message) ;<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Connexion au broker MQTT<br /></td><td>myMQTTClient.connect(ID unique)<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Souscrire à un "topic" particulier<br /></td><td>myMQTTClient.subscribe(topic) ;<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Publier un message<br /></td><td>myMQTTClient.publish(topic, message) ;<br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Activation régulière<br /></td><td>obligatoire : myMQTTClient.loop() ;<br /></td></tr></table><br /><br />Pour connaître toutes les autres possibilités de cette bibliothèque, voir sa référence, [https://github.com/256dpi/arduino-mqtt ici].<br /><br />'''Code minimal :'''<br /><br /><br /><br />Dans cet exemple, notre carte est à la fois émettrice (elle va envoyer des "Pings") et réceptrice sur le topic "PING_PONG". Elle va aussi répondre "Pong" sur réception d'un "Ping". En règle générale, dans les vraies applications, une carte est souvent émettrice (envoi de données d'un capteur de pollution, par exemple), et il peut y avoir une seule autre carte chargée d'exploiter les données remontées par plusieurs capteurs.<br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="cm">/* =========================================================================================================</span><br /><span class="lineno"> 2 </span><span class="cm"> * </span><br /><span class="lineno"> 3 </span><span class="cm"> * CODE MINIMAL RESEAU - ETAPE 6 : Messages MQTT</span><br /><span class="lineno"> 4 </span><span class="cm"> * </span><br /><span class="lineno"> 5 </span><span class="cm"> * ---------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 6 </span><span class="cm"> * Les petits Débrouillards - décembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno"> 7 </span><span class="cm"> * ========================================================================================================= */</span><br /><span class="lineno"> 8 </span><br /><span class="lineno"> 9 </span><span class="c1">// Bibliothèques requises</span><br /><span class="lineno"> 10 </span><span class="c1">// ATTENTION AUX MAJUSCULES & MINUSCULES ! Sinon d'autres bibliothèques, plus ou moins valides, seraient utilisées.</span><br /><span class="lineno"> 11 </span><br /><span class="lineno"> 12 </span><span class="cp">#include</span> <span class="cpf"><WiFiManager.h> // Gestion de la connexion Wi-Fi (recherche de points d'accès) </span><span class="cp"></span><br /><span class="lineno"> 13 </span><span class="cp">#include</span> <span class="cpf"><WiFiClientSecure.h> // Gestion de la connexion à un serveur de données</span><span class="cp"></span><br /><span class="lineno"> 14 </span><span class="cp">#include</span> <span class="cpf"><MQTT.h> // Gestion des requêtes MQTT</span><span class="cp"></span><br /><span class="lineno"> 15 </span><br /><span class="lineno"> 16 </span><br /><span class="lineno"> 17 </span><span class="c1">// Variables globales</span><br /><span class="lineno"> 18 </span><br /><span class="lineno"> 19 </span><span class="n">WiFiManager</span> <span class="n">myWiFiManager</span><span class="p">;</span> <span class="c1">// Manager Wi-Fi</span><br /><span class="lineno"> 20 </span><span class="nf">WiFiClient</span> <span class="n">myWiFiClient</span> <span class="p">;</span> <span class="c1">// Client WiFi</span><br /><span class="lineno"> 21 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySSID</span> <span class="o">=</span> <span class="s">"AP_PetitDeb"</span> <span class="p">;</span> <span class="c1">// Nom de la carte en mode Point d'Accès.</span><br /><span class="lineno"> 22 </span><span class="kr">const</span> <span class="kr">char</span><span class="o">*</span> <span class="n">mySecKey</span> <span class="o">=</span> <span class="s">"PSWD1234"</span> <span class="p">;</span> <span class="c1">// Mot de passe associé, 8 caractères au minimum.</span><br /><span class="lineno"> 23 </span><br /><span class="lineno"> 24 </span><br /><span class="lineno"> 25 </span><span class="cp">#define MQTT_BROKER_IP "debrouillards.ddns.net" </span><span class="c1">// Serveur sur lequel est installé le Broker MQTT.</span><br /><span class="lineno"> 26 </span><span class="cp">#define MQTT_BROKER_PORT 1883 </span><span class="c1">// Port sur lequel écoute le broker MQTT</span><br /><span class="lineno"> 27 </span><br /><span class="lineno"> 28 </span><span class="kr">char</span> <span class="n">MY_MQTT_ID</span><span class="p">[</span><span class="mi">20</span><span class="p">]</span> <span class="p">;</span> <span class="c1">// Id unique de notre objet, basé sur ESP.getChipId()</span><br /><span class="lineno"> 29 </span><span class="kr">const</span> <span class="kr">char</span> <span class="n">MY_MQTT_TOPIC</span><span class="p">[]</span> <span class="o">=</span> <span class="s">"PING_PONG"</span> <span class="p">;</span> <span class="c1">// Nom de notre topic (sujet) MQTT</span><br /><span class="lineno"> 30 </span><br /><span class="lineno"> 31 </span><span class="n">MQTTClient</span> <span class="n">myMQTTClient</span><span class="p">;</span> <span class="c1">// Client MQTT</span><br /><span class="lineno"> 32 </span><br /><span class="lineno"> 33 </span><span class="kr">bool</span> <span class="n">IHaveToAnswer</span> <span class="o">=</span> <span class="kr">false</span> <span class="p">;</span> <span class="c1">// Passe à 'true' si on doit répondre.</span><br /><span class="lineno"> 34 </span><br /><span class="lineno"> 35 </span><span class="cp">#define TEN_SECONDS 10000 </span><span class="c1">// On enverra un message au broker toutes les 10000 ms = 10 secondes.</span><br /><span class="lineno"> 36 </span><span class="kr">unsigned</span> <span class="kr">long</span> <span class="n">myWakeUp</span> <span class="p">;</span> <span class="c1">// Timer mis en place pour limiter le nombre d'envois au broker.</span><br /><span class="lineno"> 37 </span><br /><span class="lineno"> 38 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 39 </span><span class="cm"> * MQTT_Received : réception d'un message MQTT</span><br /><span class="lineno"> 40 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno"> 41 </span><span class="kr">void</span> <span class="nf">MQTT_Received</span><span class="p">(</span><span class="kr">String</span> <span class="o">&</span><span class="n">topic</span><span class="p">,</span> <span class="kr">String</span> <span class="o">&</span><span class="n">payload</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno"> 42 </span><br /><span class="lineno"> 43 </span> <span class="kr">char</span> <span class="n">myTrace</span><span class="p">[</span><span class="mi">80</span><span class="p">]</span> <span class="p">;</span><br /><span class="lineno"> 44 </span><br /><span class="lineno"> 45 </span> <span class="n">sprintf</span><span class="p">(</span><span class="n">myTrace</span><span class="p">,</span> <span class="s">"Réception sur le topic </span><span class="se">\"</span><span class="s">%s</span><span class="se">\"</span><span class="s"> du message MQTT </span><span class="se">\"</span><span class="s">%s</span><span class="se">\"</span><span class="s">."</span><span class="p">,</span> <span class="n">topic</span><span class="p">,</span> <span class="n">payload</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 46 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">myTrace</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 47 </span><br /><span class="lineno"> 48 </span> <span class="c1">// Comme indiqué dans la documentation, il ne faut pas renvoyer de messages dans cette fonction,</span><br /><span class="lineno"> 49 </span> <span class="c1">// ça risque de mal se passer (blocages, ...). Si on souhaite répondre au message reçu, il vaut</span><br /><span class="lineno"> 50 </span> <span class="c1">// mieux mettre à jour une variable globale, qui sera vérifiée dans la partie loop().</span><br /><span class="lineno"> 51 </span><br /><span class="lineno"> 52 </span> <span class="k">if</span> <span class="p">(</span><span class="n">payload</span> <span class="o">==</span> <span class="kr">String</span><span class="p">(</span><span class="s">"Ping"</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno"> 53 </span> <span class="n">IHaveToAnswer</span> <span class="o">=</span> <span class="kr">true</span> <span class="p">;</span><br /><span class="lineno"> 54 </span> <span class="p">}</span><br /><span class="lineno"> 55 </span> <br /><span class="lineno"> 56 </span><span class="p">}</span><br /><span class="lineno"> 57 </span><br /><span class="lineno"> 58 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 59 </span><span class="cm"> * MQTT_Connect : Connexion - ou reconnexion - au broker MQTT.</span><br /><span class="lineno"> 60 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno"> 61 </span><span class="kr">void</span> <span class="nf">MQTT_Connect</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 62 </span><br /><span class="lineno"> 63 </span> <span class="c1">// Vérification WiFi OK.</span><br /><span class="lineno"> 64 </span> <br /><span class="lineno"> 65 </span> <span class="kr">int</span> <span class="n">nbTries</span> <span class="o">=</span> <span class="mi">0</span> <span class="p">;</span><br /><span class="lineno"> 66 </span> <span class="k">while</span> <span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">status</span><span class="p">()</span> <span class="o">!=</span> <span class="n">WL_CONNECTED</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno"> 67 </span> <span class="k">if</span> <span class="p">(</span><span class="n">nbTries</span><span class="o">++</span> <span class="o">></span> <span class="mi">10</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno"> 68 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Connexion WiFi KO :-("</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 69 </span> <span class="k">return</span> <span class="p">;</span><br /><span class="lineno"> 70 </span> <span class="p">}</span><br /><span class="lineno"> 71 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">500</span><span class="p">);</span><br /><span class="lineno"> 72 </span> <span class="p">}</span><br /><span class="lineno"> 73 </span><br /><span class="lineno"> 74 </span> <span class="c1">// Connexion au broker.</span><br /><span class="lineno"> 75 </span> <br /><span class="lineno"> 76 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Connexion MQTT, Id unique </span><span class="se">\"</span><span class="s">"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">MY_MQTT_ID</span><span class="p">)</span> <span class="o">+</span> <span class="s">"</span><span class="se">\"</span><span class="s"> "</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 77 </span> <span class="n">nbTries</span> <span class="o">=</span> <span class="mi">0</span> <span class="p">;</span><br /><span class="lineno"> 78 </span> <span class="k">while</span> <span class="p">(</span><span class="o">!</span><span class="n">myMQTTClient</span><span class="p">.</span><span class="nf">connect</span><span class="p">(</span><span class="n">MY_MQTT_ID</span><span class="p">))</span> <span class="p">{</span> <br /><span class="lineno"> 79 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"."</span><span class="p">)</span> <span class="p">;</span> <br /><span class="lineno"> 80 </span> <span class="k">if</span> <span class="p">(</span><span class="n">nbTries</span><span class="o">++</span> <span class="o">></span> <span class="mi">10</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno"> 81 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">" KO :-("</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno"> 82 </span> <span class="k">return</span> <span class="p">;</span><br /><span class="lineno"> 83 </span> <span class="p">}</span><br /><span class="lineno"> 84 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">500</span><span class="p">);</span><br /><span class="lineno"> 85 </span> <span class="p">}</span><br /><span class="lineno"> 86 </span><br /><span class="lineno"> 87 </span> <span class="c1">// Abonnement au topic.</span><br /><span class="lineno"> 88 </span> <br /><span class="lineno"> 89 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"--- Abonnement au sujet </span><span class="se">\"</span><span class="s">"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">MY_MQTT_TOPIC</span><span class="p">)</span> <span class="o">+</span> <span class="s">"</span><span class="se">\"</span><span class="s">"</span><span class="p">)</span> <span class="p">;</span> <br /><span class="lineno"> 90 </span> <span class="n">myMQTTClient</span><span class="p">.</span><span class="n">subscribe</span><span class="p">(</span><span class="n">MY_MQTT_TOPIC</span><span class="p">);</span> <br /><span class="lineno"> 91 </span> <br /><span class="lineno"> 92 </span><span class="p">}</span><br /><span class="lineno"> 93 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------</span><br /><span class="lineno"> 94 </span><span class="cm"> * SETUP : Initialisation</span><br /><span class="lineno"> 95 </span><span class="cm"> * -------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno"> 96 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno"> 97 </span><br /><span class="lineno"> 98 </span> <span class="c1">// Initialisation de la liaison série, affichage 1er message</span><br /><span class="lineno"> 99 </span><br /><span class="lineno">100 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span><br /><span class="lineno">101 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">102 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <br /><span class="lineno">103 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"---------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">104 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Exemple messages MQTT"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">105 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"---------------------"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">106 </span><br /><span class="lineno">107 </span> <span class="c1">// Tentative de connexion au Wi-Fi. Si la carte n'a pas réussi se connecter au dernier Point d'Accès connu,</span><br /><span class="lineno">108 </span> <span class="c1">// alors elle va se positionner en mode Point d'Accès, demandera sur l'adresse 192.168.4.1 quel nouveau</span><br /><span class="lineno">109 </span> <span class="c1">// Point d'Accès choisir. Par défaut, on restera bloqué tant que l'utilisateur n'aura pas fait de choix.</span><br /><span class="lineno">110 </span> <br /><span class="lineno">111 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Connexion au Wi-Fi ..."</span><span class="p">);</span><br /><span class="lineno">112 </span> <span class="k">if</span> <span class="p">(</span><span class="n">myWiFiManager</span><span class="p">.</span><span class="n">autoConnect</span><span class="p">(</span><span class="n">mySSID</span><span class="p">,</span> <span class="n">mySecKey</span><span class="p">))</span> <span class="p">{</span><br /><span class="lineno">113 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Connecté ! Adresse IP : "</span><span class="p">);</span><br /><span class="lineno">114 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="nf">localIP</span><span class="p">());</span><br /><span class="lineno">115 </span> <span class="p">}</span><br /><span class="lineno">116 </span> <span class="k">else</span> <span class="p">{</span><br /><span class="lineno">117 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Connexion Wi-Fi KO :-("</span><span class="p">);</span> <br /><span class="lineno">118 </span> <span class="p">}</span><br /><span class="lineno">119 </span><br /><span class="lineno">120 </span> <span class="c1">// Initialisation du MQTT</span><br /><span class="lineno">121 </span><br /><span class="lineno">122 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Initialisation MQTT ..."</span><span class="p">);</span><br /><span class="lineno">123 </span> <span class="n">myMQTTClient</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="n">MQTT_BROKER_IP</span><span class="p">,</span> <span class="n">MQTT_BROKER_PORT</span><span class="p">,</span> <span class="n">myWiFiClient</span><span class="p">);</span> <span class="c1">// lancement du client MQTT ...</span><br /><span class="lineno">124 </span> <span class="n">myMQTTClient</span><span class="p">.</span><span class="n">onMessage</span><span class="p">(</span><span class="n">MQTT_Received</span><span class="p">);</span> <span class="c1">// ... qui appelera la fonction MQTT_Received si un message est reçu.</span><br /><span class="lineno">125 </span><br /><span class="lineno">126 </span> <span class="n">strncpy</span><span class="p">(</span><span class="n">MY_MQTT_ID</span><span class="p">,</span> <span class="kr">String</span><span class="p">(</span><span class="n">ESP</span><span class="p">.</span><span class="n">getChipId</span><span class="p">()).</span><span class="n">c_str</span><span class="p">(),</span><span class="kr">sizeof</span><span class="p">(</span><span class="n">MY_MQTT_ID</span><span class="p">))</span> <span class="p">;</span> <span class="c1">// Fabrication de mon ID unique, sur la base du n° de puce</span><br /><span class="lineno">127 </span> <span class="n">MY_MQTT_ID</span><span class="p">[</span><span class="kr">sizeof</span><span class="p">(</span><span class="n">MY_MQTT_ID</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="sc">'\0'</span> <span class="p">;</span><br /><span class="lineno">128 </span><br /><span class="lineno">129 </span> <span class="c1">// Connexion au broker </span><br /><span class="lineno">130 </span><br /><span class="lineno">131 </span> <span class="n">MQTT_Connect</span><span class="p">()</span> <span class="p">;</span><br /><span class="lineno">132 </span> <br /><span class="lineno">133 </span> <span class="c1">// Initialisation du timer qui sera testé dans loop() - pour faire appel au serveur seulement toutes les 10 secondes </span><br /><span class="lineno">134 </span> <span class="c1">// millis() est une fonction système donnant le nombre de ms depuis le lancement ou la réinitialisation de la carte.</span><br /><span class="lineno">135 </span><br /><span class="lineno">136 </span> <span class="kr">unsigned</span> <span class="kr">long</span> <span class="n">myWakeUp</span> <span class="o">=</span> <span class="nf">millis</span><span class="p">()</span> <span class="o">+</span> <span class="n">TEN_SECONDS</span> <span class="p">;</span><br /><span class="lineno">137 </span><br /><span class="lineno">138 </span><span class="p">}</span><br /><span class="lineno">139 </span><br /><span class="lineno">140 </span><span class="cm">/* --------------------------------------------------------------------------------------------------------------</span><br /><span class="lineno">141 </span><span class="cm"> * LOOP : fonction appelée régulièrement par le système</span><br /><span class="lineno">142 </span><span class="cm"> * ------------------------------------------------------------------------------------------------------------- */</span><br /><span class="lineno">143 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span> <br /><span class="lineno">144 </span><br /><span class="lineno">145 </span> <span class="c1">// Réactivation du client MQTT</span><br /><span class="lineno">146 </span><br /><span class="lineno">147 </span> <span class="n">myMQTTClient</span><span class="p">.</span><span class="nb">loop</span><span class="p">()</span> <span class="p">;</span><br /><span class="lineno">148 </span> <span class="nf">delay</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span> <span class="p">;</span> <span class="c1">// Problèmes de stabilité Wi-Fi ? (Cf. doc MQTT)</span><br /><span class="lineno">149 </span><br /><span class="lineno">150 </span> <span class="c1">// Reconnexion au broker MQTT si nécessaire ...</span><br /><span class="lineno">151 </span><br /><span class="lineno">152 </span> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">myMQTTClient</span><span class="p">.</span><span class="nf">connected</span><span class="p">())</span> <span class="p">{</span><br /><span class="lineno">153 </span> <span class="n">MQTT_Connect</span><span class="p">();</span><br /><span class="lineno">154 </span> <span class="p">}</span><br /><span class="lineno">155 </span><br /><span class="lineno">156 </span> <span class="c1">// Si on a précédemment reçu un 'Ping', on va répondre 'Pong'</span><br /><span class="lineno">157 </span><br /><span class="lineno">158 </span> <span class="k">if</span> <span class="p">(</span><span class="n">IHaveToAnswer</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">159 </span> <span class="n">IHaveToAnswer</span> <span class="o">=</span> <span class="kr">false</span> <span class="p">;</span><br /><span class="lineno">160 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Envoi de la réponse </span><span class="se">\"</span><span class="s">Pong</span><span class="se">\"</span><span class="s"> sur le topic </span><span class="se">\"</span><span class="s">"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">MY_MQTT_TOPIC</span><span class="p">)</span> <span class="o">+</span> <span class="s">"</span><span class="se">\"</span><span class="s">."</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">161 </span> <span class="n">myMQTTClient</span><span class="p">.</span><span class="n">publish</span><span class="p">(</span><span class="n">MY_MQTT_TOPIC</span><span class="p">,</span> <span class="s">"Pong"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">162 </span> <span class="p">}</span><br /><span class="lineno">163 </span><br /><span class="lineno">164 </span> <span class="c1">// Envoi d'un message toutes les 10 secondew.</span><br /><span class="lineno">165 </span> <br /><span class="lineno">166 </span> <span class="kr">unsigned</span> <span class="kr">long</span> <span class="n">myNow</span> <span class="o">=</span> <span class="nf">millis</span><span class="p">()</span> <span class="p">;</span><br /><span class="lineno">167 </span> <span class="k">if</span> <span class="p">(</span><span class="n">myNow</span> <span class="o">>=</span> <span class="n">myWakeUp</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">168 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="s">"Wake Up ! envoi du message </span><span class="se">\"</span><span class="s">Ping</span><span class="se">\"</span><span class="s"> sur le topic </span><span class="se">\"</span><span class="s">"</span> <span class="o">+</span> <span class="kr">String</span><span class="p">(</span><span class="n">MY_MQTT_TOPIC</span><span class="p">)</span> <span class="o">+</span> <span class="s">"</span><span class="se">\"</span><span class="s">."</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">169 </span> <span class="n">myMQTTClient</span><span class="p">.</span><span class="n">publish</span><span class="p">(</span><span class="n">MY_MQTT_TOPIC</span><span class="p">,</span> <span class="s">"Ping"</span><span class="p">)</span> <span class="p">;</span><br /><span class="lineno">170 </span> <span class="n">myWakeUp</span> <span class="o">=</span> <span class="n">myNow</span> <span class="o">+</span> <span class="n">TEN_SECONDS</span> <span class="p">;</span> <br /><span class="lineno">171 </span> <span class="p">}</span><br /><span class="lineno">172 </span><br /><span class="lineno">173 </span><br /><span class="lineno">174 </span><span class="p">}</span><br /></pre></div></nowiki>  , ... Si vous avez suivi tous les épisodes ... :-) Les exemples de code "minimal" fournis peuvent servir de base pour vos futures réalisations, ou pour gagner un temps précieux pendant un hackathon. Tous les codes sont regroupés dans un dossier compressé, accessible dans la rubrique "Fichiers" en début de cette page. Pour aller plus loin, n'hésitez pas à copier ces programmes minimaux, et à les modifier en douceur pour obtenir autre chose que des traces dans le moniteur série Arduino. Juste quelques idées ... <br/> *Sur la base du code de l'étape 4 (serveur web), et d'un [https://www.wikidebrouillard.org/wiki/Item:Servomoteur servomoteur], fabriquer un coffre secret qui ne s'ouvre que lorsque son/sa propriétaire tape un code sur son téléphone ; *Sur la base du code de l'étape 5 (JSON) et d'un [https://www.wikidebrouillard.org/wiki/Item:Ruban_de_Led_-_WS2812B ruban de leds], faire un thermomètre affichant la température de votre ville préférée. Il y a de nombreux sites web proposant gratuitement (si on n'abuse pas) des informations météo en mode JSONs, par exemple : **[https://api.tutiempo.net/fr/json.html TuTiempo.net] **[https://openweathermap.org/api OpenWeather] **[https://prevision-meteo.ch/services Previsionsmeteo.ch] *Sur la base du code de l'étape 6 (MQTT), et d'un [https://www.wikidebrouillard.org/wiki/Item:Capteur_de_temp%C3%A9rature_et_d%27humidit%C3%A9_DHT11 capteur de température et d'humidité], ... ah, on me glisse dans l’oreillette que [https://www.wikidebrouillard.org/wiki/Envoyer_des_donn%C3%A9es_sur_le_WEB_gr%C3%A2ce_%C3%A0_MQTT ça existe déjà sur le Wikidébrouillard] ! (avec une autre bibliothèque MQTT). ... Ou bien alors, avec deux D1 Mini, deux [https://www.wikidebrouillard.org/wiki/Item:Bouton_poussoir boutons poussoirs] et deux [https://www.wikidebrouillard.org/wiki/Item:Ruban_de_Led_-_WS2812B rubans de leds], faire une version "jeu à distance" du célèbre [https://www.wikidebrouillard.org/wiki/D1-Pong D1-Pong] !  +
Avec Arduino nous réalisons des montages qui utilisent 4 types de composants : * des capteurs, * des actionneurs, * des cartes électroniques programmables, * des éléments structurant les circuits (breadbord, cables, autres composant électroniques, etc.). Un capteur capte des informations qui sont utilisées par le programme de la carte pour déclencher des actions : * illuminer, * bouger, * chauffer, * colorer, * lancer une musique, * ... Les actionneurs sont donc très divers et ont leurs mode de fonctionnement. Généralement, il s'agit de leurs envoyer une information ou une quantité de courant. <br/>  +, Pour utiliser une LED, il faut : * des cables duponts, * une breadboard, * une résistance, * une LED  +
Il existe deux catégories de capteurs : * Les capteurs Analogiques * Les capteurs Numériques Les capteurs Analogiques : Ils renvoient du courant à l'Arduino. Ils sont reliés aux broches Analogiques de la carte qui sont capables de transformer le courant en information (un signal numérique). Les capteurs Numériques : Il renvoient un 1 ou un 0 à l'Arduino <br/>  +, <nowiki>Un bouton poussoir est un composant qui ouvre (le courant ne passe plus) ou ferme (le courant passe) un circuit électrique.<br /><br /><br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">Bouton poussoir<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Importation de la bibliothèque<br /></td><td valign="middle" align="left"><br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création de l’objet<br /></td><td valign="middle" align="left"><br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Démarrage de l’objet<br /></td><td valign="middle" align="left">pinMode(num_broche,INPUT_PULLUP) ;<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">int val_bouton = digitalRead(num_broche);<br/><br /></td></tr></table><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="c1">////////////////////////</span><br /><span class="lineno"> 2 </span><span class="c1">// *Code Minimal* //</span><br /><span class="lineno"> 3 </span><span class="c1">// -Le Bouton- //</span><br /><span class="lineno"> 4 </span><span class="c1">////////////////////////</span><br /><span class="lineno"> 5 </span><span class="cm">/*Les programmes "Code Minimal" des petits débrouillards sont conçu pour </span><br /><span class="lineno"> 6 </span><span class="cm">permettre la prise en main rapide d'un composant électronique.</span><br /><span class="lineno"> 7 </span><span class="cm">A retrouver sur https://www.wikidebrouillard.org</span><br /><span class="lineno"> 8 </span><br /><span class="lineno"> 9 </span><span class="cm">-Le Bouton-</span><br /><span class="lineno">10 </span><br /><span class="lineno">11 </span><span class="cm">Matériel :</span><br /><span class="lineno">12 </span><span class="cm">- un D1 mini</span><br /><span class="lineno">13 </span><span class="cm">- un bouton</span><br /><span class="lineno">14 </span><br /><span class="lineno">15 </span><span class="cm">le bouton branché à la broche D3 du D1 mini </span><br /><span class="lineno">16 </span><span class="cm">car la broche D3 possède une résistance de pullup interne</span><br /><span class="lineno">17 </span><span class="cm">Une résistance de pullup c'est lorsque la broche est branchée a une résistance reliée au niveau haut de la carte(HIGH)</span><br /><span class="lineno">18 </span><span class="cm">dans le D1 mini il y a donc une résistance de 10Kohm qui relie la broche D3 au +3,3V</span><br /><span class="lineno">19 </span><span class="cm"> D3---^/\/v---+3V3</span><br /><span class="lineno">20 </span><span class="cm"> </span><br /><span class="lineno">21 </span><span class="cm"> ___</span><br /><span class="lineno">22 </span><span class="cm"> / ___ \</span><br /><span class="lineno">23 </span><span class="cm">|_| | |</span><br /><span class="lineno">24 </span><span class="cm"> /_/ </span><br /><span class="lineno">25 </span><span class="cm"> _ ___ _ </span><br /><span class="lineno">26 </span><span class="cm"> |_| |___|_| |_</span><br /><span class="lineno">27 </span><span class="cm"> ___|_ _|</span><br /><span class="lineno">28 </span><span class="cm"> |___| |_|</span><br /><span class="lineno">29 </span><span class="cm">Les petits Débrouillards - décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno">30 </span><span class="cm">*/</span><br /><span class="lineno">31 </span><br /><span class="lineno">32 </span><span class="c1">// Déclaration des variables constantes</span><br /><span class="lineno">33 </span><span class="kr">const</span> <span class="kr">int</span> <span class="n">brocheBouton</span> <span class="o">=</span> <span class="n">D3</span><span class="p">;</span> <span class="c1">// Broche où est connectée le bouton </span><br /><span class="lineno">34 </span><span class="kr">const</span> <span class="kr">int</span> <span class="n">brocheLed</span> <span class="o">=</span> <span class="n">D4</span><span class="p">;</span> <span class="c1">// Broche D4, où la led interne au wemos est connectée</span><br /><span class="lineno">35 </span><br /><span class="lineno">36 </span><span class="c1">// Boucle d'initialisation</span><br /><span class="lineno">37 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">38 </span> <span class="nf">pinMode</span><span class="p">(</span><span class="n">brocheLed</span><span class="p">,</span> <span class="kr">OUTPUT</span><span class="p">);</span> <span class="c1">// Initialisation de la broche de la led en sortie</span><br /><span class="lineno">39 </span><br /><span class="lineno">40 </span> <span class="nf">pinMode</span><span class="p">(</span><span class="n">brocheBouton</span><span class="p">,</span> <span class="kr">INPUT_PULLUP</span><span class="p">);</span> <span class="c1">// Initialisation de la broche du bouton en entrée et activation du pull-up interne</span><br /><span class="lineno">41 </span><span class="p">}</span><br /><span class="lineno">42 </span><br /><span class="lineno">43 </span><span class="c1">//Boucle principale</span><br /><span class="lineno">44 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">45 </span><span class="c1">// Lecture de l'état du bouton et stockage dans la variable etatBouton</span><br /><span class="lineno">46 </span><span class="c1">// Déclaration de variable d'état locale (dite locale car déclarée dans la boucle "loop").</span><br /><span class="lineno">47 </span> <span class="kr">bool</span> <span class="n">etatBouton</span> <span class="o">=</span> <span class="nf">digitalRead</span><span class="p">(</span><span class="n">brocheBouton</span><span class="p">);</span> <span class="c1">//// Variable permettant de récupérer l'état du bouton</span><br /><span class="lineno">48 </span><br /><span class="lineno">49 </span> <span class="c1">// Si le bouton est appuyé, on éteins la led</span><br /><span class="lineno">50 </span> <span class="k">if</span> <span class="p">(</span><span class="n">etatBouton</span> <span class="o">==</span> <span class="kr">HIGH</span><span class="p">)</span> <span class="p">{</span><br /><span class="lineno">51 </span> <span class="c1">// extinction de la led</span><br /><span class="lineno">52 </span> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">brocheLed</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /><span class="lineno">53 </span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span><br /><span class="lineno">54 </span> <span class="c1">// sinon allumage de la led</span><br /><span class="lineno">55 </span> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">brocheLed</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /><span class="lineno">56 </span> <span class="p">}</span><br /><span class="lineno">57 </span><span class="p">}</span><br /></pre></div><br/></nowiki>  , <nowiki>==Câblage : ==<br />Notez que la broche gain est connectée à la broche tension (Vdd) (câble jaune sur le schéma).<div class="annotatedImageDiv" typeof="Image" data-resource="Fichier:Item-microphone MAX9814.png" data-sourceimage="https://www.wikidebrouillard.org/images/9/9d/Item-microphone_MAX9814.png"><span ><div class="center"><div class="floatnone"><a href="/wiki/Fichier:Item-microphone_MAX9814.png" class="image" title="câblage Microphone MAX9814"><img alt="câblage Microphone MAX9814" src="/images/thumb/9/9d/Item-microphone_MAX9814.png/1094px-Item-microphone_MAX9814.png" width="1094" height="740" srcset="/images/9/9d/Item-microphone_MAX9814.png 1.5x" data-file-width="1104" data-file-height="747" /></a></div></div></span></div><br /><br /><br />==Le code minimal : ==<br /><table class="wikitable" cellspacing="0" border="0"><br /><tr><br /><td height="17" bgcolor="#999999" align="left"><br /></td><td valign="middle" bgcolor="#999999" align="center"><br /></td><td bgcolor="#999999" align="center">MAX9814<br /></td></tr><tr><br /><td rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center">Avant le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">pas de bibliothèque<br /></td><td valign="middle" align="left"><br /></td></tr><tr><br /><td valign="middle" bgcolor="#999999" align="center">Création d'une variable<br /></td><td valign="middle" align="left">int valeurCapteur; // On prépare une variable pour stocker les valeurs du capteur<br /></td></tr><tr><br /><td valign="middle" height="17" bgcolor="#999999" align="center">Dans le Setup<br /></td><td valign="middle" bgcolor="#999999" align="center">Démarrage de l’objet<br /></td><td valign="middle" align="left">Serial.begin(9600); // on démarre la communication série<br /></td></tr><tr><br /><td valign="middle" height="41" bgcolor="#999999" align="center">Dans le Loop<br /></td><td valign="middle" bgcolor="#999999" align="center">Utilisation<br /></td><td valign="middle" align="left">valeurCapteur = analogRead(A0); // On lit la valuer mesurée par le capteur sur la broche A0<br />Serial.println(valeurCapteur); // On publie sur le moniteur série la valeur récupérée<br /></td></tr></table><br/><br />==Exemple : ==<br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno"> 1 </span><span class="c1">/////////////////</span><br /><span class="lineno"> 2 </span><span class="c1">// Microphone //</span><br /><span class="lineno"> 3 </span><span class="c1">// MAX9814 //</span><br /><span class="lineno"> 4 </span><span class="c1">/////////////////</span><br /><span class="lineno"> 5 </span><br /><span class="lineno"> 6 </span><span class="cm">/*</span><br /><span class="lineno"> 7 </span><span class="cm"> * Un programme pour tester le fonctionnement du microphone MAX9814</span><br /><span class="lineno"> 8 </span><span class="cm"> * Il utilise le traceur série pour visualiser les signaux récupérés</span><br /><span class="lineno"> 9 </span><span class="cm"> * pour utiliser le traceur série : cliquez sur Outils/Traceur série</span><br /><span class="lineno">10 </span><span class="cm"> ___</span><br /><span class="lineno">11 </span><span class="cm"> / ___ \</span><br /><span class="lineno">12 </span><span class="cm">|_| | |</span><br /><span class="lineno">13 </span><span class="cm"> /_/ </span><br /><span class="lineno">14 </span><span class="cm"> _ ___ _ </span><br /><span class="lineno">15 </span><span class="cm"> |_| |___|_| |_</span><br /><span class="lineno">16 </span><span class="cm"> ___|_ _|</span><br /><span class="lineno">17 </span><span class="cm"> |___| |_|</span><br /><span class="lineno">18 </span><span class="cm">Les petits Débrouillards - Novembre 2022 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/</span><br /><span class="lineno">19 </span><span class="cm">*/</span><br /><span class="lineno">20 </span><br /><span class="lineno">21 </span><span class="kr">int</span> <span class="n">valeurCapteur</span><span class="p">;</span> <span class="c1">// On prépare une variable pour stocker les valeurs du capteur</span><br /><span class="lineno">22 </span><br /><span class="lineno">23 </span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">24 </span> <span class="c1">// on démarre la communication série</span><br /><span class="lineno">25 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span><br /><span class="lineno">26 </span><span class="p">}</span><br /><span class="lineno">27 </span><br /><span class="lineno">28 </span><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <span class="p">{</span><br /><span class="lineno">29 </span> <span class="c1">// On lit la valeur mesurée par le capteur sur la broche A0</span><br /><span class="lineno">30 </span> <span class="n">valeurCapteur</span> <span class="o">=</span> <span class="nf">analogRead</span><span class="p">(</span><span class="n">A0</span><span class="p">);</span><br /><span class="lineno">31 </span> <span class="c1">// On publie sur le traceur série la valeur récupérée</span><br /><span class="lineno">32 </span> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="n">valeurCapteur</span><span class="p">);</span><br /><span class="lineno">33 </span> <span class="p">}</span><br /></pre></div></nowiki>  ,
... puisque la page est obsolète ... (mais le Wiki impose au moins une étape)  +
Si tu as déjà utilisé une bouteille avec un bouchon percé pour une autre expérience, tu peux la récupérer et passer cette étape ! Pose le bouchon sur une table et perce une dizaine de trous en appuyant et tournant avec une vrille, une vis ou un clou. Plus tu auras de trous, plus ta pluie sera efficace ! Ensuite, tu peux remplir la bouteille d’eau et remettre le bouchon. Tu peux également ajouter du colorant alimentaire à l’eau si tu veux mieux la voir.  +, Avant tout, il faut s’assurer que les éponges tiennent dans les barquettes plastiques choisies. Elles n’ont pas besoin d’en occuper tout l’espace, mais c’est mieux si c’est le cas ! Si besoin, découpe-les pour les faire rentrer. Dans l’idéal, il faudra 2 éponges identiques. Dans notre expérience, elles représenteront différents sols. La première devra être humide. Pour cela, plonge-la dans l’eau puis essore la bien. La deuxième devra être gorgée d'eau. Dans ce cas, presse la bien pour chasser l'air et laisse la reprendre sa forme sous l'eau. Découpe une feuille de plastique (ou d’aluminium) à la taille d’une des éponges.  +, La barquette plastique nous servira de bassin versant. Tu peux déjà identifier ses limites : les bords définissent la ligne de partage des eaux. Pour l’estuaire, nous allons découper une ouverture au centre d’un des petits côtés de la barquette. Découpe aux ciseaux une petite ouverture (quelques millimètres de largeur) sur chaque barquette.  +,
On remplit une bouteille d'eau que l'on pose sur la table. - Ensuite on prend la boite hermétique, que l'on perce a plusieurs endroits en dessous et un trou de même diamètre au centre du couvercle. - On prend une autre bouteille assez large pour pouvoir y mettre la boite hermétique ( de façon a ce qu'elle dépasse légèrement ). - On verse le contenu de la bouteille d'eau dans la boite hermétique, jusqu'à ras bord. puis on ferme le bouchon.  +
Ajouter des pièces les unes après les autres.  +, L'eau se bombe (elle fait une voute sur le dessus du verre)  +, Remplir un verre d'eau à ras bord.  +
Le schéma de montage, également indiqué dans le code Arduino, est défini dans la première image. Nous recommandons d'utiliser une "breadboard", pour fixer le D1 mini et gérer l'ensemble des connexions. Nous avons utilisé ici celle livrée dans le kit d'initiation Arduino (Starter kit Arduino®). Les leds, les résistances, et le potentiomètre, proviennent d'ailleurs du même kit. Le montage des 5 leds (sur les pins D0 à D4) ne pose pas de problème particulier, attention cependant à respecter la polarité +/-, et ne pas oublier de mettre les résistances afin de limiter le courant électrique. Concernant le servo moteur, il faut l'alimenter via le pin GND, bien sûr, et la sortie 5V du D1 mini (celui-ci a également une sortie 3,3v, insuffisante pour le servomoteur). La commande du servomoteur sera connectée quant à elle, sur le pin D7 du D1 mini. Et enfin,le potentiomètre aura ses deux connexions externes connectées d'une part sur GND, d'autre part sur le pin '''3,3V''' (important, car c'est la tension maximale qui sera alors disponible sur la connexion centrale du potentiomètre, et qui sera acceptée par le pin A0 du D1 mini ; au-delà le D1 mini risque de souffrir).  +, Le code Arduino est commenté, et devrait permettre de comprendre le fonctionnement des différents éléments, et de procéder à des modifications. Pour simplifier la compréhension (et il est d'ailleurs recommandé de faire de même pour vos propres programmes un tant soit peu complexes), on a utilisé plusieurs onglets pour séparer les différentes fonctionnalités : <br/> #'''A_D1_WiFi''' contient les variables globales (susceptibles d'être également utilisées dans les autres onglets), ainsi que les deux fonctions 'de base' du D1 Mini, similaires à celles utilisées dans les Arduino : #*'''setup''' : c'est la première fonction appelée au démarrage du D1 Mini, après téléversement ou ré-allumage. C'est ici qu'on va initialiser le WiFi, démarrer le serveur web, définir l'état initial des leds, etc ... #*'''loop''' : cette fonction est appelée régulièrement, c'est à partir de là qu'on réalise les activités souhaitées, telles que consultation ou modification des différents pins, calculs divers, etc ...<br/> #'''B_Serveur_Web''' : gère toute la partie web, à savoir la génération de la page web, et également le traitement à effectuer lorsque cette page est demandée par un client (navigateur sur un PC ou un téléphone). C'est le module le plus complexe, il nécessite de connaître HTML, CSS, et Javascript pour tenter des modifications. <br/> #'''C_Cmd_Leds''' gère les commandes dites 'évoluées' des leds (par exemple clignotement ou défilement). A partir de l'état (éteint ou allumé) actuel des leds, les fonctions de ce module déterminent quel doit être le nouvel état de ces leds. Elles réactivent ensuite un timer permettant de définir quand le prochain changement aura lieu (et donc la vitesse de clignotement ou de défilement). <br/> #'''D_Servomoteur''' gère le servomoteur avec une seule et simple fonction. <br/> #'''E_Potentiomètre''' gère la lecture de l'entrée analogique du D1 Mini (qui va lire la valeur fournie par le potentiomètre). Si l'utilisateur a demandé à ce que le potentiomètre agisse sur la vitesse du servomoteur, alors la valeur lue sera appliquée au servomoteur. <br/> #'''F_Schéma_Montage''' décrit le montage matériel autour du D1 mini.<br/>  , On suppose ici que le logiciel Arduino est déjà installé, ainsi que la bibliothèque de gestion du D1 mini (voir pré-requis). #Téléchargez le fichier '''A_D1_WiFi.zip''' (Cf. rubrique "Fichiers ci-dessus"), puis en extraire le répertoire '''A_D1_WiFi''', qui contient tous les modules Arduino (*.ino") - Cf image n° 1. #Double-cliquez sur le fichier '''A_D1_WiFi.ino''', ce qui lancera le logiciel Arduino, sous lequel vous aurez 6 onglets correspondant aux 6 fichiers - Cf. image n° 2. #Connectez le D1 mini au port USB de votre ordinateur. #Dans le menu "Outil", positionnez le bon type de carte, et le bon port - Cf. image n°3. Si cette carte n'est pas définie, ou que le port est grisé, revérifier la configuration Arduino grâce au prérequis [[Utiliser le D1 mini avec Arduino]]. #Cliquez sur l'icône de téléversement - Cf.. image n° 4, et patientez. Si le téléversement se termine bien - Cf. image n°5, bravo ! Si un message d'erreur indique que le port n'est pas le bon, il faut le modifier dans l'onglet outil et relancer cette étape.<br/>  +,
Munissez vous de deux bouteilles identiques. De préférence lisses. D'un rouleau de scotch De 2 Billes Et d'un cutter <br/>  +, Découpez le fond des bouteilles a l'aide du cutter. Scotchez-les ensembles par le coté coupé. Puis introduisez les billes dans les bouteilles.  +, Après avoir placés les billes au centre du dispositif, faire en sorte que chaque bille atteigne les bords opposés du dispositif  +
<nowiki>Pour récupérer l'adresse mac de ton microcontrôleur exécute cette commande dans la console :<br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span> <span class="nn">network</span> <span class="p">;</span> <span class="kn">import</span> <span class="nn">ubinascii</span> <span class="p">;</span> <br /><span class="n">ubinascii</span><span class="o">.</span><span class="n">hexlify</span><span class="p">(</span><span class="n">network</span><span class="o">.</span><span class="n">WLAN</span><span class="p">()</span><span class="o">.</span><span class="n">config</span><span class="p">(</span><span class="s1">'mac'</span><span class="p">),</span><span class="s1">':'</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span><br /></pre></div>L'adresse mac sera affichée entre guillemets.<br /><br />Tu peux aussi utiliser le bloc '''Récupérer l'adresse MAC'''.</nowiki>  +, Premièrement, tu dois enregistrer un ou plusieurs destinataires. Utilise le bloc '''Enregistrer un destinataire''' et renseigne l'adresse MAC du microcontrôleur à qui tu veux envoyer le message. Ensuite, tu peux envoyer un message à tous les destinataires enregistrés avec le bloc '''Envoyer un message à tous les destinataires'''.  +, Le bloc '''Quand message reçu''' faire te permet de regarder périodiquement si un message a été reçu et d'exécuter ensuite le code de ton choix. Ce bloc te fournit 2 variables : '''host''' et '''msg'''. '''Host''' contient l'adresse mac de l'expéditeur. '''Msg''' contient le message reçu. <br/>  +
On réalise le montage comme sur le schéma ou la photo. * La broche 11 est connectée au bouton. * L'autre coté du bouton est connecté au +5V * Lorsqu'on appuie sur le bouton, la broche reçoit 5V (elle est en état "HAUT"). On charge le premier programme sur l'Arduino. On ouvre le moniteur série. Il ressort dans le moniteur série un résultat qui n'est pas satisfaisant : *L'état est fluctuant. *Parfois après un appuis, l'état reste haut longtemps après qu'on ait relâché le bouton. *Le comportement est imprévisible.  +, On réalise le montage comme sur le schéma ou la photo. *La broche 11 est connectée au bouton et au +5V par l'intermédiare d'une résistance dite de pullup. *L'autre coté du bouton est connecté au GND *Lorsqu'on appuie sur le bouton, la broche passe de +5V à GND. On charge le premier programme sur l'Arduino On ouvre le moniteur série. Le résultat est mieux ! Les états sont clairs !  +, <nowiki>Oui !<br /><br />L'Arduino possède une résistance de pullup interne pour chaque broche numérique (c'est le cas pour d'autres carte comme le [[Item:D1 mini|D1 mini]] mais pas sur toutes les broches).<br /><br /><br />Elle s'active dans le "setup" avec la fonction INPUT_PULLUP <br /><br/><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <span class="p">{</span><br /><span class="nf">pinMode</span><span class="p">(</span><span class="n">brocheBouton</span><span class="p">,</span> <span class="kr">INPUT_PULLUP</span><span class="p">);</span><br /><span class="p">}</span><br /></pre></div><br/></nowiki>  +
Matériel: - Une loupe - Une feuille de papier ou un morceau de bois - Un bon soleil de printemps ou d'été. - Lunette de soleil (C'est pour éviter d'avoir mal au yeux tout au long de l'expérience, ce n'est pas une protection totale) - Une bouteille remplie d'eau en cas d'accident<br/><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">...Attention, cette expérience est à faire avec un adulte. En effet, tu peux te brûler la main, les yeux ou autres. Dès que l'on sort avec la loupe, il faut que celle-ci soit le plus à l'abri du soleil lorsqu'elle n'est pas utilisée</div> </div>  +, Pose ta cible (morceau de bois ou papier) sur une surface qui ne brûle pas, dans un espace dégagé et en l'absence de matériel inflammable à proximité. (Dans une forêt en plein été, c'est par exemple, dangereux pour toi et tu pourrais provoquer un incendie) Puis positionne ta loupe dans l'axe entre le soleil et la cible.  +, En faisant varier la distance de la loupe à la cible, tu constateras que le point lumineux s'agrandit ou se rétrécit. Il faut obtenir le point le plus petit. De la fumée peut alors commencer à se dégager!! Si tu enlèves ta loupe et la poses à l'abris, tu constateras que ta cible a brûlé au niveau du point lumineux  +
'''Parmi les espèces suivantes, qui mange qui ? '''Reconstitue, à l’aide des vignettes, 6 petites chaînes alimentaires des récifs coralliens de l’île de la Réunion : #krill, baleine à bosse, phytoplancton #triton conque, oursin, algues #phytoplancton, anémone, krill #oursin, coraux, triton conque #zooplancton, mérou, phytoplancton, poisson-clown #coraux, requin, poisson-papillon, mérou, zooplancton Note tes réponses sur une feuille, elles te serviront à l'étape suivante.  +, Tu viens de définir un premier type d'interactions entre les espèces : la relation proie-prédateur (qui mange qui), mais il en existe bien d'autres ! Tu vas en découvrir quelques-unes ci dessous. - Place sur ton réseau trophique '''le rémora rayé''' sous '''le requin''', et '''la lamproie''' sous '''la baleine à bosse'''. '''L’anémone de mer''' et '''le poisson clown''' sont également côte à côte. - '''Identifie les autres types d'interactions (positives (+), négatives (-) ou neutres (0)) qui existent entre ces 6 espèces''', en t'aidant des définitions ci-dessous : *'''Le commensalisme''' (+/0) est une relation dans laquelle une espèce tire profit de l’association des deux espèces (concernant la nourriture, l’abri, le transport...), alors que l’autre n’y trouve ni avantage ni inconvénient. ''(ex : mousse sur les troncs d’arbres).'' *'''Le parasitisme''' (+/-) est une relation dans laquelle un organisme (le parasite) tire profit de l'hôte, parfois entraînant sa mort ''(ex : Plasmodium falciparum, parasite véhiculé par le moustique, qui cause le paludisme chez l’humain).'' *'''Le mutualisme''' (+/+) est une association à bénéfices réciproques entre deux espèces qui peuvent mener une vie indépendante ''(ex : abeilles et et plantes à fleurs associées).'' *'''La symbiose''' (+/+) est une association à bénéfices réciproques entre deux espèces indissociables ''(ex : certaines bactéries dans nos intestins).''<br/> '''Maintenant, à toi de jouer !''' 1- Le rémora rayé se nourrit des déchets non mangés par le requin. Il parcourt également de grandes distances sur son ventre et se protège ainsi contre ses prédateurs, ce qui ne dérange pas le requin. '''De quel type d'interaction s’agit-il ?''' 2- La lamproie s'attaque à la baleine en utilisant sa ventouse buccale pour se coller à sa peau. Ses dents peuvent râper la peau et pénétrer dans la chair pour se nourrir. '''De quel type d'interaction s’agit-il ?''' 3- Le poisson-clown trouve dans l'anémone une protection contre les prédateurs et un lieu de ponte. Il nettoie les tentacules de l'anémone et la défend contre les attaques du poisson-papillon qui veut la dévorer. Il peut même servir d’appât pour attirer des proies vers l'anémone.  '''De quel type d'interaction s’agit-il ?''' Vérifie tes réponses à l'aide des schémas de l'étape 6.  , - Découpe 16 rectangles dans du papier (tu peux plier une feuille en 4 pour avoir les 16 rectangles) - Ouvre l’annexe “[https://www.wikidebrouillard.org/images/7/7a/Concurrents_ou_associ_s_dans_le_milieu_marin_16_cartes_organismes_marins.pdf 16 cartes organismes marins]” et pour chaque rectangle découpé, écris le nom d’un des organismes marins de l’annexe - Si tu ne connais pas certaines espèces, découvre-les plus en détail dans l’annexe “[https://www.wikidebrouillard.org/images/6/6a/Concurrents_ou_associ_s_dans_le_milieu_marin_Presentation_des_organismes_marins.pdf Présentation des organismes marins]” (Facultatif : si tu as une imprimante couleur, tu peux directement imprimer les cartes de l’annexe)  +,
'''Parmi les espèces suivantes, qui mange qui ?''' Reconstitue à l’aide des 10 vignettes ci-contre les 4 petites chaînes alimentaires : 1 - Exemple : loup, herbe, chevreuil. ''L'herbe est mangée par le chevreuil qui est lui-même mangé par le loup'' : herbe → chevreuil → loup (la flèche signifie “est mangé par”) 2 - Vipère, mûre, hibou, mulot 3 - Chenille, hibou, mulot, feuille de ronce 4 - Renard, lapin, herbe, loup 5 - Mulot, chenille, loup, feuille de ronce, renard Note tes réponses sur une feuille, elles te serviront à l'étape suivante. Et les végétaux, comment se nourrissent-ils ? Quelle forme ont ces chaînes alimentaires ?  +, Le schéma ci-contre présente différents types d'interactions dans un milieu terrestre : relations de prédation, mais aussi de parasitisme (''puce/loup, puce/renard'') et de coopération (commensalisme (''spores de champignons/lapin''), symbiose (''bactéries de l'intestin/chevreuil/lapin''), mutualisme (''fleurs de la prairie/abeilles'')). '''Que se passe-t-il si l'on perturbe ce réseau trophique ?''' - Une société veut construire une autoroute. La prairie et les ronces se trouvent à l’endroit prévu du chantier et devront donc être détruites. '''Si tu enlèves ces deux cartes de ton réseau trophique, que se passe-t-il pour les autres espèces en interactions ?''' Si tu veux, tu peux recommencer en retirant une ou deux autres espèces situées à différents endroits du réseau. - '''Selon toi, quelles interactions l’humain peut-il avoir avec ces différentes espèces ?'''  +, Pour commencer, rassemble le matériel nécessaire à l'expérience : - annexe “[https://www.wikidebrouillard.org/images/d/d7/Concurrents_ou_associ_s_dans_le_milieu_terrestre_Vignettes_Esp_ces.pdf Vignettes espèces]” - annexe "[https://www.wikidebrouillard.org/images/5/57/Concurrents_ou_associ_s_dans_le_milieu_terrestre_R_seau_trophique_-_compl_ter.pdf Réseau trophique - à compléter]" - annexe "[https://www.wikidebrouillard.org/images/3/3c/Concurrents_ou_associ_s_dans_le_milieu_terrestre_R_seau_trophique_-_Solution.pdf Réseau trophique - solution]" - du papier - un crayon - des ciseaux Si tu as, tu peux utiliser aussi : - une imprimante couleur  +,
Le schéma ci-contre présente différents types d'interactions dans un milieu terrestre : relations de prédation, de parasitisme (''vers nématodes/racines des salades'') mais aussi de coopération : commensalisme (''cloportes/fourmis et spores de champignons/vers de terre''), symbiose ''(champignons mycorhizes/racines des arbres'') et mutualisme (''bactéries de l’intestin/hérissons'')). '''Que se passe-t-il si l'on perturbe ce réseau trophique ?''' <br/> *Un jardinier supprime un tas de bois mort dans un coin de son jardin (impactant fortement les carabes qui y habitent) ou retourne le sol à la bêche (menaçant les vers de terre). '''Si tu enlèves les cartes “Vers de terre” et “Carabes”''' '''de ton réseau trophique, que se passe-t-il pour les autres espèces en interactions ?''' Si tu veux, tu peux recommencer en retirant une ou deux autres espèces situées à différents endroits du réseau. *'''Selon toi, de quelles manières l’humain peut-il interagir sur ce réseau trophique ? Quelles conséquences cela peut-il avoir ?'''  +, Pour commencer, rassemble le matériel nécessaire à l'expérience : - annexe “[https://www.wikidebrouillard.org/images/8/82/Concurrents_ou_associ_s_dans_le_sol_Vignettes_Qui_mange_qui.pdf Vignettes qui mange qui] ” - annexe “[https://www.wikidebrouillard.org/images/8/80/Concurrents_ou_associ_s_dans_le_sol_Vignettes_Concurrents_ou_associ_s.pdf Vignettes concurrents ou associés]” - annexe "[https://www.wikidebrouillard.org/images/f/f9/Concurrents_ou_associ_s_dans_le_sol_R_seau_trophique_-_compl_ter.pdf Réseau trophique - à compléter]" - annexe "[https://www.wikidebrouillard.org/images/0/08/Concurrents_ou_associ_s_dans_le_sol_R_seau_trophique_-_solution.pdf Réseau trophique - solution]" - du papier - un crayon - des ciseaux Si tu as, tu peux utiliser aussi : - une imprimante  +, - Si tu as une imprimante , imprime les annexes “[https://www.wikidebrouillard.org/images/8/82/Concurrents_ou_associ_s_dans_le_sol_Vignettes_Qui_mange_qui.pdf Vignettes qui mange qui] ”, “[https://www.wikidebrouillard.org/images/8/80/Concurrents_ou_associ_s_dans_le_sol_Vignettes_Concurrents_ou_associ_s.pdf Vignettes concurrents ou associés] ”  et “[https://www.wikidebrouillard.org/images/f/f9/Concurrents_ou_associ_s_dans_le_sol_R_seau_trophique_-_compl_ter.pdf Réseau trophique - à compléter]”. - Découpe les vignettes des annexes “[https://www.wikidebrouillard.org/images/8/82/Concurrents_ou_associ_s_dans_le_sol_Vignettes_Qui_mange_qui.pdf Vignettes qui mange qui] ” et “[https://www.wikidebrouillard.org/images/8/80/Concurrents_ou_associ_s_dans_le_sol_Vignettes_Concurrents_ou_associ_s.pdf Vignettes concurrents ou associés] ”, sans les mélanger. - Si tu n’as pas d’imprimante, découpe 19 petits rectangles de papier (tu peux plier une feuille A4 en 5 pour les avoir). - Ouvre l’annexe “[https://www.wikidebrouillard.org/images/8/82/Concurrents_ou_associ_s_dans_le_sol_Vignettes_Qui_mange_qui.pdf Vignettes qui mange qui]” et écris sur chaque rectangle le nom d’une espèce de l’annexe. - Ouvre l’annexe “[https://www.wikidebrouillard.org/images/8/80/Concurrents_ou_associ_s_dans_le_sol_Vignettes_Concurrents_ou_associ_s.pdf Vignettes concurrents ou associés]” et écris sur chaque rectangle le nom d’une espèce de l’annexe. - Ouvre l’annexe “[https://www.wikidebrouillard.org/images/f/f9/Concurrents_ou_associ_s_dans_le_sol_R_seau_trophique_-_compl_ter.pdf Réseau trophique - à compléter]” et recopie le réseau à l’identique sur une feuille A4.  +,
·        Un [http://www.wikidebrouillard.org/index.php/Trombone trombone] ·        Une [http://www.wikidebrouillard.org/index.php/Pile pile] ·        3 fils électriques ·        Une règle ·        Un [http://www.wikidebrouillard.org/index.php/Bouchon bouchon] ·        Du [http://www.wikidebrouillard.org/index.php/Ruban_adhésif ruban adhésif] ·        Une pièce de monnaie ·        Un [http://www.wikidebrouillard.org/index.php/Verre verre] ·        Une ampoule  +, Fixer un fil sur le culot et un autre sur le plot (l'extrémité) de l'ampoule à l'aide du ruban adhésif. Faire bien attention à ce que les deux fils ne se touchent pas.  +,   Fixer l'extrémité libre de l'un des fils reliés à l'ampoule à l'une des bornes de la pile.  +,
<nowiki>Le mode client est utilisé pour connecter l'ESP à une box, un téléphone en partage de connexion ou un autre ESP en mode point d'accès.<br /><br /><br />Il permet aussi d'accéder à internet et donc au WEB, utile pour envoyer des données à des services tiers ou pour afficher des données provenant du Web.<br /><br /><br /><br />Rien de plus compliqué que précédemment, voici la ligne à insérer dans le setup :<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">void</span> <span class="nb">setup</span><span class="p">(){</span><br /> <span class="nf">WiFi</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="s">"SSID de la box"</span><span class="p">,</span> <span class="s">"mot de passe de la box"</span><span class="p">);</span><br /><span class="p">}</span><br /></pre></div>une fois connecté au réseau de la box ou du téléphone en partage de connexion, l'ESP va se voir attribué une adresse IP, il est donc très facile de "perdre" l'esp dans le réseau.<br /><br /><br />En général, plusieurs solutions s'offrent à nous pour connaitre son adresse IP (écran, création d'un réseau point d'accès avec l'adresse IP, adresse ip en morse avec la led), mais la plus commune est d'utiliser le terminal ou la console pour connaitre l'adresse IP de notre ESP.<br /><br /><br /><br />Donc voici <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span><br /><span class="p">{</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">115200</span><span class="p">);</span> <span class="c1">// initialisation de la connexion serie (terminal)</span><br /> <span class="nf">WiFi</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="s">"SSID de la box"</span><span class="p">,</span> <span class="s">"mot de passe de la box"</span><span class="p">);</span><br /><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Connection en cours"</span><span class="p">);</span><br /> <span class="k">while</span> <span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="n">status</span><span class="p">()</span> <span class="o">!=</span> <span class="n">WL_CONNECTED</span><span class="p">)</span> <span class="c1">// tant que l'esp n'est pas connecté au réseau on attends</span><br /> <span class="p">{</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="mi">500</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"."</span><span class="p">);</span><br /> <span class="p">}</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">();</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">print</span><span class="p">(</span><span class="s">"Connecté, adresse IP : "</span><span class="p">);</span><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">println</span><span class="p">(</span><span class="nf">WiFi</span><span class="p">.</span><span class="nf">localIP</span><span class="p">());</span> <span class="c1">// affichage de l'adresse IP</span><br /><span class="p">}</span><br /></pre></div></nowiki>  , <nowiki>Lorsque vous installez la carte ESP dans le logiciel de développement <br /><br />Arduino, le programme gérant la carte intègre d'office la bibliothèque Wifi, il n'est donc pas nécessaire de l'installer.Peu importe les modes de fonctionnement (Client ou point d’accès) , il suffit d’appeler en début de code la bibliothèque comme ceci :<br /><br />Pour un WEMOS ou ESP8266 :<br /><br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span> <span class="cpf"><ESP8266WiFi.h></span><span class="cp"></span><br /></pre></div><br /><br />Pour un ESP32 : <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span> <span class="cpf"><WiFi.h></span><span class="cp"></span><br /></pre></div><br/></nowiki>  +, <nowiki>Le mode point d'accès permet à l'esp de créer son propre réseau Wifi à la manière d'une Box, d'un routeur ou d'un partage de connexion sur un téléphone.<br /><br /><br />En configurant votre ESP en point d'accès, ce dernier va créer un Wifi et va assigner une adresse IP aux périphériques s'y connectant<br /><br />Sans configuration spécifique, les adresses IP seront de la forme 192.168.4.X l'ESP étant à l'adresse 192.168.4.1<br /><br /><br /><br />Coté code, il suffit d'ajouter dans le setup la ligne suivante :<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">void</span> <span class="nb">setup</span><span class="p">(){</span><br /> <span class="nf">WiFi</span><span class="p">.</span><span class="n">softAP</span><span class="p">(</span><span class="s">"mon reseau"</span><span class="p">,</span> <span class="s">"motdepasse"</span><span class="p">);</span> <span class="c1">//mot de passe de plus de 8 caracteres </span><br /><span class="p">}</span><br /></pre></div>Ainsi, une fois le code téléversé dans l'esp, un nouveau réseau Wifi va apparaitre portant le nom "mon reseau" avec comme mot de passe "motdepasse".<br />Vous pouvez modifier ces paramètres à votre convenance et si vous désirez créer un réseau ouvert sans mot de passe, la commande deviendra :<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">void</span> <span class="nb">setup</span><span class="p">(){</span><br /> <span class="nf">WiFi</span><span class="p">.</span><span class="n">softAP</span><span class="p">(</span><span class="s">"mon reseau ouvert"</span><span class="p">);</span><br /><span class="p">}</span><br /></pre></div><br /><br /><br />Attention, ce mode ne permet pas d'aller sur internet, il n'y a aucune connexion au web avec ce mode.</nowiki>  
Peindre en noir l'intérieur de la boîte et la plaque en carton  +, CF photo. L'idée est de fixer la carte arduino dans la boite d'allumette tout en laissant les fils en sortir.  +
Proposer aux enfants d’écrire un mot par petit papier en rapport avec la ville Discuter avec eux afin de définir ensemble 3 familles pour classer ces mots. Cette réflexion devrait aboutir aux familles suivantes : le bâti, les espaces privés/publics, les réseaux. Il faut aussi leur préciser qu’il est possible qu’une étiquette appartienne à 2 catégories. Les associations de mots leur permettra d’enrichir la définition de ces trois catégories. Enfin, ils pourront se mettre d’accord sur leur classement.  +, Par petit groupe (3 ou 4), les enfants disposent d’un plateau (assez grand pour ne pas trop limiter leur champs d’action, soit 30X60 cm minimum), représentant un terrain en friche et 20 petits cubes ou bouchons, représentant 20 foyers. Le but du jeu est d’imaginer une ville ou un quartier en aménageant le bâti, les espaces publics et privé, et les réseaux. Ces trois éléments de la ville se présentent sous forme de petits objets à assembler, au gré de l’imagination des enfants  +, * Pour aborder le sujet, vous aurez besoin de petits morceaux de papier (au moins 3 par enfant). Pour réaliser, leurs maquettes les enfants auront besoin de matériel. Vous pouvez le collecter et le préparer avec eux en amont de l'activité. * Pour le bâti : bâtiments en cubes en bois ou bouchons (pour 12 enfants, en prévoir 80), petits toits en carton, champs avec des petits carré vert ou jaune, éléments de récup (boites de conserve, en carton pots de en plastique…) pour faire usines, centres commerciaux, piscine municipale, terrain sport, … * Pour les espaces publics/privé : arbres en papier, barrières en pics à brochette ou bouts de grillage, morceaux de feuilles colorées, morceau de carton bleu pour les rivières, les lacs * Pour les réseaux : bandes de carton de différentes couleur, fils électriques, pailles * Pour la phase "jeu de rôle" vous aurez besoin d'imprimer les badges "acteur.rice"   +,
<div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Ce type de partie repose beaucoup sur le MJ, les éléments de ville qu'il ou elle veut mettre en avant (alimentation, énergie, éducation...) et les événements inventés pour alimenter la discussion.</div> </div> La partie type "bac à sable" repose sur un récit raconté par les joueurs et/ou le MJ sur le développement d'une ville. Elle peut être soutenue par les cartes personnages, employées alors comme de nouveaux venus en ville avec leurs goûts et leurs activités, ou avec les cartes missions, utilisées comme sources d'inspiration. La partie n'a pas de fin définie. <br/>  +, '''Installation''' Présentation du jeu : “Nous allons jouer à un jeu qui s’appelle “construis ta ville”. Vous allez avoir des missions à remplir et prendre collectivement des décisions pour remplir ces missions et construire votre ville ensemble.” '''Construction spontanée''' Dans un premier temps, les participants sont invités à poser une habitation chacun librement sur le plateau, hormis dans l'eau. Ils peuvent être prévenus que les berges sont dangereuses pour une construction, même si ça n'a a priori pas d'incidence sur le jeu. “Commençons tout de suite par construire des bases pour votre ville. Chacun.e va pouvoir placer deux maisons (ou lieux d’habitation) où il.elle le souhaite sur la carte.” Ensuite, chacun.e peut construire, étiqueter et placer le bâtiment de son choix. “Dans une ville, c’est important d’avoir un lieu d’habitation, mais il y a aussi beaucoup d’autres choses. Chacun.e va pouvoir placer un bâtiment de son choix où il.elle le souhaite dans la ville.” L’installation doit être faite de façon à ce que tout le monde aie une bonne visibilité de ce qui a été placé.  +
<br/><div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Le MJ a toujours le pouvoir d’intervenir pour influencer le cours du jeu en fonction de l’avancement, de l’âge, du nombre des participant.e.s et de la dynamique de groupe. Il peut s’agir par exemple d’ajouter, modifier, déplacer ou détruire un bâtiment ou de créer un événement.</div> </div> 1. Donner un ticket de construction (à ajouter à ceux déjà possédés s’il y en a). Possibilité de le donner au public ou de l’afficher sur le panneau. 2. Rappel des missions et de l’avancement si nécessaire. 3. Mission annexe : Tour 2 (uniquement) : Une carte mission annexe est dévoilée et fixée sur le panneau d’affichage avec des étoiles vides à côté. Certaines étoiles peuvent déjà être gagnées. Nouvelle mission annexe si la précédente est terminée. '''4. Temps de débat et vote''' sur la prochaine action à mettre en place (5-10’). Un joueur est amené à tirer au sort une carte "modes de scrutin". <br/><div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Au cours des débats, le MJ peut proposer un mode de scrutin ou de débat, ou bien ouvrir un temps pour décider collectivement des modes de scrutin et débat à utiliser.</div> </div><br/><div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Le MJ peut apporter une définition (voir le lexique pour des suggestions) ou faire des propositions sur le type de bâtiments à construire (donner des exemples).</div> </div><br/><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Point de vigilance : que tous les joueurs soient inclus / qu’un.e des joueur.se.s ne se retrouve pas seul.e contre le reste du groupe (que ce soit lié à son rôle ou à sa personne).</div> </div> 5. Ajouter, supprimer ou déplacer des bâtiments à l’issue de ce débat. Noter le résultat du débat et les actions entreprises sur la feuille d’avancement. Retirer les tickets de construction consommés. 6. Ajouter ou retirer des étoiles aux missions principale et annexe selon les actions entreprises ou ajouter des gommettes vertes sur les habitations qui ont désormais accès à une source d’approvisionnement dans le cas de la mission “proximité”. 7. Missions terminées : Si une mission annexe est terminée, donner un ticket de construction. Si la mission principale est terminée, fin du jeu.  , '''Installation''' Présentation du jeu : “Nous allons jouer à un jeu qui s’appelle “construis ta ville”. Vous allez avoir des missions à remplir et prendre collectivement des décisions pour remplir ces missions et construire votre ville ensemble.” '''Construction spontanée''' Dans un premier temps, les participants sont invités à poser une habitation chacun librement sur le plateau, hormis dans l'eau. Ils peuvent être prévenus que les berges sont dangereuses pour une construction, même si ça n'a a priori pas d'incidence sur le jeu. “Commençons tout de suite par construire des bases pour votre ville. Chacun.e va pouvoir placer deux maisons (ou lieux d’habitation) où il.elle le souhaite sur la carte.” Ensuite, chacun.e peut construire, étiqueter et placer le bâtiment de son choix. “Dans une ville, c’est important d’avoir un lieu d’habitation, mais il y a aussi beaucoup d’autres choses. Chacun.e va pouvoir placer un bâtiment de son choix où il.elle le souhaite dans la ville.” L’installation doit être faite de façon à ce que tout le monde aie une bonne visibilité de ce qui a été placé. '''Distribution des cartes personnages''' “Chacun.e d’entre vous aura un personnage pour toute la partie. Lisez votre carte, elle se compose de votre âge, de votre métier et de quelque chose qui est important pour vous. Vous recevrez aussi une mission secrète . Elle n’est pas obligatoire mais elle est importante pour votre personnage.” Temps d’appropriation des cartes par les joueurs : les inviter à lire leur carte. La mission individuelle doit rester secrète. Chaque joueur.se présente rapidement son personnage au groupe. '''Dévoilement de la mission principale''' Une carte mission principale est dévoilée et fixée sur le panneau d’affichage avec des étoiles vides à côté. Cette carte représente le fil rouge de la partie, la partie s’arrête lorsque la mission est remplie. Du fait de la construction spontanée, certaines étoiles peuvent déjà être gagnées. Pour la mission “alimentation de proximité”, ajouter les grilles de proximité sous les habitations construites. Elles peuvent se superposer. Tous les bâtiments alimentaires sur ces zones remplissent le critère de proximité.  
'''Installation''' Présentation du jeu : “Nous allons jouer à un jeu qui s’appelle “construis ta ville”. Vous allez avoir des missions à remplir et prendre collectivement des décisions pour remplir ces missions et construire votre ville ensemble.” '''Construction spontanée''' Dans un premier temps, les participants sont invités à poser une habitation chacun librement sur le plateau, hormis dans l'eau. Ils peuvent être prévenus que les berges sont dangereuses pour une construction, même si ça n'a a priori pas d'incidence sur le jeu. “Commençons tout de suite par construire des bases pour votre ville. Chacun.e va pouvoir placer deux maisons (ou lieux d’habitation) où il.elle le souhaite sur la carte.” Ensuite, chacun.e peut construire, étiqueter et placer le bâtiment de son choix. “Dans une ville, c’est important d’avoir un lieu d’habitation, mais il y a aussi beaucoup d’autres choses. Chacun.e va pouvoir placer un bâtiment de son choix où il.elle le souhaite dans la ville.” L’installation doit être faite de façon à ce que tout le monde aie une bonne visibilité de ce qui a été placé. '''Distribution des cartes missions secrètes''' Chaque joueur dispose d'une carte mission secrète.  +, Les joueurs doivent, à chaque tour, débattre de la prochaine construction à faire (ou déplacement, ou destruction). Les modes de débat et de scrutin peuvent être libres ou imposés. Chaque mission secrète réalisée donne lieu à la distribution d'une nouvelle carte et au gain d'1 point. Le premier joueur a atteindre 3 points a gagné.  +
Remplis la bassine d'eau, presque jusqu'en haut. La bassine représentera l’océan dans notre expérience. Ensuite, verse l'ensemble des morceaux de plastique dans l'eau.  +, *Trouve ta plus grande bassine, ainsi qu'une grande cuillère, spatule ou bâton. *Déchets plastiques découpés en morceaux, plus ou moins grands. Il est important que ces déchets soient des plastiques différents en nature et en taille. Pour cela, varie les emballages que tu utilises pour faire les déchets. Exemple : bouteille d'eau, ou de lait, pot de yaourt ou de crème, barquette plastique, film de barquette, paille, etc. *Une passoire sera utile pour récupérer les morceaux de plastiques *De l'eau ou un tuyau d'arrosage.   +, Grâce à la spatule, ou la grande cuillère, crée un courant dans la bassine en faisant des cercles. Pense à aller jusqu'au fond de la bassine avec la cuillère afin de bien entraîner toute l'eau. Crée un tourbillon dans l'eau qui va entraîner les déchets. Un fois le courant bien installé enlève la cuillère et observe le comportement des morceaux de plastique. Qu'observes-tu ?  +
Et je supprime le premier calque pour finir.  +, Cliquer sur "Edition" -> "Echelle et taille de l'image" Réduisez la résolution, et mettez la taille à la dimension voulue (ici l'écran oled faisant 64 pixel de haut, c'est 64 px qu'on choisis). Mettez à l'échelle et hop votre réduit. Agrandissez la visualisation en appuyant sur la touche "+".  +, Cliquez sur "Fichier" -> "Exporter sous" Choisir le format d'export voulu : .xbm Vérifier le fichier exporter en l'ouvrant avec un éditeur de texte. Avec cette base, vous pouvez réaliser un [[Badge avec un écran Oled]] par exemple.  +,
Il y a plusieurs sources d'information réputées fiables sur Internet. Nous te proposons trois sources de différentes origines qui te permettent d'avoir des informations de qualité et de croiser les sources. <br/> *Le site de l'Organisation Mondiale de la Santé (OMS) : https://www.who.int/fr/home *Le site de Santé Publique France : https://www.santepubliquefrance.fr/maladies-et-traumatismes/maladies-et-infections-respiratoires/infection-a-coronavirus/articles/infection-au-nouveau-coronavirus-sars-cov-2-covid-19-france-et-monde *Le site de l'Inserm (Institut national de la santé et de la recherche médicale ) : https://www.inserm.fr/information-en-sante/dossiers-information/coronavirus-sras-cov-et-mers-cov L'Organisation mondiale de la santé (OMS) est une institution spécialisée de l'Organisation des Nations unies (ONU) pour la santé publique créée en 1948. L'OMS a pour objectif d'amener tous les peuples des États membres et partenaires au niveau de santé le plus élevé possible, la santé étant définie dans ce même document comme un « état de complet bien-être physique, mental et social et ne consistant pas seulement en une absence de maladie ou d'infirmité » (cette description est issue de [https://fr.wikipedia.org/wiki/Organisation_mondiale_de_la_sant%C3%A9 Wikipédia]). Santé publique France est un organisme chargé de surveiller les épidémie en France (ainsi que d'autres question de santé en France). Il est sous tutelle du ministère de la santé. L'INSERM est l'organisme public de recherche français spécialisé sur les questions de santé.  +, En France, c'est l'État qui organise et prend les mesures pour faire face à l'épidémie. Tu trouveras les informations sur ces sites web : *Le site de l'état Français : https://www.gouvernement.fr/info-coronavirus *Le site du ministère des solidarités et de la santé : https://solidarites-sante.gouv.fr/  +, Le NIAID (National Institute of Allergy and Infectious Diseases - Institut National des Allergies et des maladies Infectieuses) propose des photos du covid-19. Cet organisme public les propose sous licence CC-By nous permettant de les diffuser ici. Retrouvez les sur [https://www.flickr.com/photos/niaid/albums/72157712914621487/with/49645120251/ la photothèque du NIAID.] Ces photos sont prise au microscope électronique et elle sont colorisées (en fausse couleur) pour aider à bien voir le virus.  +,
Munis-toi de : * 2 fils de fers de 20 cm environ * 1 bougie * 1 pince coupante * 1 briquet (ou tout objet permettant d'allumer la bougie) <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Attention ! Utilise la pince et le briquet en présence d'un adulte !</div> </div><br/>  +, * Coupe deux fils de fer d'au moins 20 cm afin de ne pas te brûler. * Fais une torsade avec les fils de fer. * Allume la bougie.   +, *Expose les fils de fer à la flamme de la bougie. De quelle couleur est la partie au bord de la flamme ? *Fais descendre les fils de fer jusqu'à la partie bleue de la flamme. Qu'est ce qui change sur le bout des fils de fer ?   +
Trace un cercle au feutre noir autour du trou central sur le disque de papier-filtre. Enfile ton rouleau de papier absorbant dans le trou du disque. Pose le disque de papier-filtre sur le verre de façon à ce que l'extrémité du papier absorbant la plus éloignée du papier-filtre trempe dans l'eau. Que se passe-t-il ?  +, Plie 4 à 6 fois le papier filtre et découpe le suivant l'illustration à gauche. Déplie le pour obtenir un disque avec un trou au centre. Pour obtenir un rouleau fin et régulier, utilise un pic à brochette que tu roule avec le papier absorbant en appuyant bien fort. Enfin, retire le pic à brochette.  +, Matériel: - Ciseaux - Un verre d'eau - Filtres à café - Un feutre noir - Du papier absorbant  +
=== '''La manipulation''' === * Découper quelques feuilles de chou rouge, les laisser reposer dans un grand récipient d'eau chaude pendant 20 minutes. * Remplir à moitié un premier verre avec de l'eau chaude salée. * Dans un second, verser du bicarbonate de soude et recouvrir d'eau chaude jusqu'à la moitié. * Dans le troisième, remplir à moitié avec du vinaigre. * Récupérer le jus de chou rouge, en verser dans les trois verres.  +
On utilisera 3 fils A, B et C. * Relier l’ampoule et la pile avec le fil A.  +, Relier la pile et la bassine avec le fil B.  +, Relier la bassine et l’ampoule avec le fil C.  +
On place une source de chaleur (pour la démonstration c'est un radiateur) en-dessous d'une fenêtre.  +
*Imprimer et découper les tuiles ; *Imprimer le livret de jeu.   +, *Les joueurs construisent une rivière avec 5 des tuiles ''Tronçon droit'' et/ou ''Méandres''. Elle les place en diagonale (angle contre angle) dans l'ordre qu'ils ont choisi. La rivière s'écoule d'en haut à gauche vers en bas à droite.   +, #Lancer un dé ; #Si le nombre du dé correspond à l’une des cases rivière, un ''Aléa'' est déclenché. Se référer alors à la page de la tuile correspondante.   +,
Il est important d'aller faire un tour sur votre profil afin de cocher les options qui seront bien utiles. Pour cela il suffit de cliquer sur votre icone et aller sur "'''Mon profil'''". Cela ouvrira une page sur votre navigateur sur votre profil. Sur la colonne de gauche, cliquez sur "'''Réunions'''". Vous allez pouvoir maintenant vérifier que certaines options sont bien activées comme : *que la salle d'attente soit bien activée *que la vidéo et le micro soient déactivés lorsqu'une personne entre dans la réunion. Penser à bien enregistrer vos modifications à chaque étape. Vous pouvez aussi choisir d'autre configuration à vous de voir suivant vos besoins. <br/>  +, Le grand moment est arrivé, pour lancer le live il suffit, à partir de la salle de contrôle, de cliquer sur "PASSER AU DIRECT" qui se trouve en haut à droite. '''<u>Attention une fois lancée vous ne pourrez pas revenir en arrière ou il faudra refaire l'étape 6 et 7. Il faut donc être bien sûr de votre coup!</u>''' <br/>  +, Pour ce type de configuration, il faut s'assurer d'avoir en premier lieu une bonne connexion et je conseille vivement de lancer un enregistrement sur le cloud de votre compte zoom.  +,
Tout d'abord, il vous faut un compte Google pour pouvoir accéder à youtube, une fois connecté à youtube sous votre compte, cliquez sur la petite caméra en haut à droite, puis '''Passer au direct''' <br/>  +, Si vous n'avez pas activé la fonctionnalité de streaming vous aurez cette page, il vous suffit donc d'activer la fonctionnalité en cliquant sur activer  +, à ce stade, il faudra pour je ne sais quelle raison, youtube vous demande de valider votre identité via un numéro de téléphone, Entrez le numéro de téléphone concerné, puis attendez la réception d'un SMS qui vous indiquera le code de validation Une fois les étapes réalisées Votre chaine sera activée avec la fonctionnalité '''live'''. '''ATTENTION ! Il faut attendre 24h pour que la fonctionnalité soit valide !'''  +,
* Dans le verre doseur, verse 3 ou 4 cuillères à soupe de sel et la même quantité en eau chaude, * Remue jusqu'à ne plus voir les grains de sel : ils se sont dissous dans l'eau ! <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Si le sel s'est dissous en moins d'une minute, rajoute une cuillère supplémentaire et remue à nouveau. </div> </div> * Laisse refroidir la solution de sel et d'eau au frigo pendant 5 minutes.   +, Pendant que l'eau refroidit, tu peux préparer ton support : *Coupe un bout de fil un peu plus long que la hauteur de ton bocal, *Attache un trombone au bout du fil , *Enroule le fil autour d'un pic à brochette, *Pose le pic à brochette sur le bocal : le trombone devra plonger dans l'eau sans toucher le fond du bocal (à 1 ou 2 cm du fond).  +, Il est possible de tester la cristallisation en variant des paramètres : * Est-ce que cela marche avec du sucre ? * La température change-t-elle le résultat ? Tu peux tenter l'expérience en plaçant un bocal sur un radiateur, un autre au frigo... * La lumière (devant une fenêtre ou dans un placard sombre) change-t-elle le résultat ? * Faut-il mettre une quantité particulière de sel dans l'eau ? Est-il possible de mettre trop ou pas assez de sel ? * La durée d'attente : que se passe-t-il si on attend une semaine ou un mois de plus ?<br/>  +,
Tout est prêt pour le lançage ! manque plus qu'a brancher le moteur et c'est parti. Bien sur placez un projectile dans le réceptacle (bille, cailloux , ogive nucléaire...).  +, Ca y'est tout est en place pour monter la machine ! commencez par fixer le moteur au bâti. Sur votre axe de rotation, placez une roue dentée pour réduire la vitesse de rotation. Ensuite fixez la partie statique de l'axe de rotation au bâti de telle sorte à ce que la roue dentée et le pignon de votre moteur soit en contact. Vissez votre réceptacle 3D à l'extrémité de l'axe de rotation pour que celui ci tourne en même temps que l'axe de rotation. Fixez l'extrémité de la bobine de fil sur l'axe de rotation et l'autre extrémité bien attaché à la bobine de telle sorte à ce que le fil s'enroule sur l'axe de rotation. (la bobine doit être fixée au bâti)  +, Dès que tout les croquis ont été fait, il faut maintenant trouver les composants de notre catapulte. Nous avons optés pour une planche de bois pour le bâti. Pour l'axe de rotation on a pris une tige qui possèdent un axe fixe et un axe qui tourne. Pour stopper le mécanisme on a choisit une bobine de fil. Nous avons choisis d'imprimer en 3D le réceptacle de la bille et de récupérer un moteur pour faire tourner tout ça. Bien sur libre à vous de prendre n'importe quel composants et de faire avec ce que vous avez sous la main.  +
dans cette partie nous avons chacun échangé nos idées pour définir exactement le prototype sur lequel nous allions nous lancer.  +, ensuite nous avons réfléchit à quel types de matériel il nous faudrait utiliser pour mener à bien ce projet (cutter, colle...), quel type de machines (scie circulaire...) et quel matériaux composerait chaque partie de notre voiture à propulsion élastique Dans notre cas la structure est en bois, des bouts fin mais aussi des batônnets pour les roues par exemple et les roues, elles sont en plastique, le rapport finalement est en carton.  +, à ce moment il faut tester la voiture en action et voir chaque défaut éventuels donc faire attention à ce que la ficelle ne fasse pas de noeuds, de bloquage ou même ne se détache. il faut aussi voir si les roues adhèrent bien et glisse bien sur le sol pour permettre à la voiture d'aller le plus loin possible. C'est aussi à ce moment que vous pouvez replier encore l'élastique si vous estimer que votre voiture aurait besoin de plus de tension sur le départ  +,
Placer le pain de glace sur la tranche d'un côté de l'aquarium, et le spot de l'autre côté. Recouvrir les faces arrières de l'aquarium d'une feuille noire pour éviter les réflexions. Disposer un bâton d'encens au milieu de l'aquarium. Recouvrir l'aquarium avec une vitre en laissant un espace.  +, Placer le pain de glace au congélateur et attendre qu'il durcisse. Pour cela utilise un récipient et remplit le d'eau. Places le dans le congélateur pour qu'il durcisse. Il doit être assez gros comme sur l'image. Placer le pain de glace au minimum 6h mais vérifier de temps en temps l'évolution.  +
- Supprimer l’avatar actuel. - Dans les fichiers de cette fiche, vous trouverez des images du Flappy Bird et d’un tuyau pour l’obstacle. Pour télécharger ces images, mettez votre souris sur l’icône du chat en bas à droite puis défilez vers le haut pour trouver l’icône de téléchargement. - Je vous conseille de réduire leurs tailles car les images sont assez grandes. - Créer deux avatars : un pour l’oiseau, un pour le tuyau. - Pour l’arrière-plan, je vous conseille de choisir un fond en rapport avec la forêt, le ciel, la jungle, etc.  +, L’oiseau ne se déplace uniquement de haut en bas, donc il faut appuyer sur une touche (disons la barre espace) de manière répétée. - Mettre quand le drapeau est cliqué, donner la valeur 0 à y, répéter indéfiniment {si touche espace pressée alors, ajouter 5 à y , sinon, ajouter -3 à y} pour ajouter ou perdre de l’altitude.  +, - Pour créer un tuyau en haut, dans l’onglet Costumes, copier/coller le tuyau puis inverser le tuyau pour qu’il soit de haut en bas. - Pour les faire défiler, dupliquer le premier costume 2 fois, puis créer des variations de hauteur (vous pouvez créer vos propres variations si l’envie vous en prend) - Dans le code du tuyau, mettre quand drapeau cliqué, attendre 1 seconde, répéter indéfiniment {créer un clone de moi-même, attendre 4 secondes} - De retour dans le code, mettre quand je commence comme un clone, basculer sur costume nombre aléatoire entre 1 et 3, aller à x :214 , y :1 , montrer, glisser en 8 secondes à x :-240 , y :1, supprimer ce clone - Dans le code de création de clone, mettre cacher au début du code sinon l’original ne sera pas caché.  +,
- Supprimer l’avatar actuel (une icône de poubelle est présente, voir image 1) - Créer un nouvel avatar (l’icône est en bas à droite en forme de tête de chat) - Dessiner un carré en sélectionnant l’icône carré (on peut enlever les contours mais ce n’est pas obligatoire, les garder ajoutera un petit effet sympathique, vous pouvez choisir n’importe quelle couleur, voir image 2).  +, - Pour revenir sur la page du code, appuyer sur l’icône code en haut à gauche - Mettre quand le drapeau est cliqué, mettre aller à x:0;y:0 (pour bien voir votre personnage) - Mettre répéter indéfiniment [quand (flèche haut) est cliquée, s’orienter à (définir direction vers le haut)] - Répéter pour les autres directions - Dans «Variables», créer une variable «Vitesse». La variable sert pour d’autres fonctionnalités autres que celles présentes de base (elle peut servir pour afficher un score, par exemple). Ici, elle nous servira pour pimenter notre jeu et le rendre moins facile. - Ajouter avancer de 10 pas, mais mettre la variable « Vitesse » à la place du nombre - Créer un nouvel évènement concernant la vitesse : quand le drapeau est cliqué, mettre vitesse à 4 (pour augmenter la difficulté du jeu)  +, - Toujours dans le code du serpent, mettre quand le drapeau est cliqué, répéter indéfiniment [si touche le bord alors, envoyer à tous {Game Over}, stoppe tout] - Concernant le Game Over, ce message n’est pas mis par défaut, il faut le créer et le programme «envoyer à tous» permet cela.  +,
- Supprimer l’avatar actuel et cliquer sur l’icône de création d’avatar en bas à droite (la première) - Faire un carré simple de la couleur de votre choix, ensuite créer un rond à l’intérieur du carré (qui sera blanc), puis recréer un petit rond sur la droite à l’intérieur du rond pour faire l’œil - Dupliquer ce costume et basculer le petit rond sur la gauche (ce sera essentiel pour les directions si vous voulez que votre personnage regarde à gauche si vous le faites tourner à gauche par exemple).  +, - Créer un nouvel avatar (ne pas aller dans arrière-plan car l’avatar du personnage ne pourra pas interagir avec ces éléments) - Faire un grand rectangle qui couvre la largeur du cadre de création de personnage (couleur au choix) - Pour enlever les contours, cliquer sur « Contours », puis sur la ligne rouge qui supprimera les contours - Sur le petit écran à droite, aligner le rectangle pour qu’il soit tout en bas -Dupliquer le décor 2 fois (il est possible de le dupliquer à volonté, mais il est mieux de se contenter de cela pour le début).  +, - Mettre quand le drapeau est cliqué, aller à x :-200 ; y :-116 (qu’il soit à droite pour mieux voir les obstacles), répéter indéfiniment {si touche flèche droite pressée alors basculer sur le costume 1, ajouter 10 à x} {si touche flèche gauche pressée alors basculer sur le costume 2, ajouter -10 à x}  +,
Créer un puzzle exemple, dans une optique de tutoriel pratique, ainsi tout les enfants doivent pouvoir voir ce que l'on fait  +, Règles de vie, règles de sécurité, respect du matériel Questionnements et explication sur le fonctionnement de la machine (Notez qu'ici l'enfant est appuyé sur la machine, ce qui n'est pas un usage optimale)  +, Choix de leur image par les enfants sur internet. Nous privilégions les images en aplat de noir et blanc, en silhouette, ou avec des lignes fines pour faciliter l'étape suivante de la vectorisation. Il est également possible de monter un dossier d'images en amont : +Les images sont prévues pour être facilement vectorisables et gravables par la machine +Facilitation de la gestion de fichier +Accélération de l'étape de choix, les enfants n'ayant pas à se soucier de la navigation web -Demande une préparation en amont -Réduit la personnalisation, les enfants ne pouvant pas forcément exprimer leur individualité à travers des images pré choisie -Réduit l'autonomie, on leur donne le travail pré-mâché au lieu des les formerà naviguer sur le web et à télécharger un fichier <br/>  +,
Connectez vous au serveur Peertube des Petits débrouillards à cette adresse : https://medias.debrouillonet.org Entrez votre login debrouillonet ainsi que votre mot de passe  +, Une fois connecté dans votre session Peertube, cliquez sur '''"Publier"''' puis onglet '''"Aller au direct"'''. Laissez en diffusion publique et cliquez sur le bouton "'''Aller au direct'''"  +, Renseignez les champs proposés de façon précise (ces champs serviront à promouvoir la vidéo et simplifieront la recherche)  +,
Rendez vous sur le site d'AdafruitIO et créez vos identifiants : https://io.adafruit.com/ Cliquez sur "Get start for free" pour créer votre compte, puis grand classique remplissez le formulaire pour créer votre compte  +, Une fois connecté au site : * Cliquez en haut sur l'onglet IO * Ensuite sur '''"Action"''' puis sur '''"Create a new dashboard"''' * Renseignez les champs demandés puis cliquez sur '''"Create"''' Si tout se passe bien, vous verrez apparaître dans la liste votre nouveau tableau de bord (dashboard) . Le tableau de bord sera la page où vous pourrez insérer des graphiques, manomètres etc.  +, Accédez à la configuration des flux de données (Feeds) en cliquant sur l'onglet '''"Feeds"''' puis '''"View all"'''. Dans l'onglet '''"Action"''', cliquez sur '''"Create a new feed"''', renseignez les champs puis '''"Create"'''. Vous verrez apparaître dans la liste vos flux de données, pour l'exemple nous avons créé le flux de donnée '''Temperature''' et '''Humidite'''.  +,
Pour réaliser le dé, il faut monter le circuit. Le schéma du circuit est à reproduire, en faisant attention au sens des LEDs et des bonnes sorties de l'arduino.  +, Pour insérer le programme dans la carte, il faut relier la carte par l'ordinateur à l'aide du câble USB associé. Il permettra aussi d'alimenter la carte en électricité pour pouvoir fonctionner. L'arduino est bien branché si la led ON est allumée. Il faut ensuite installer le logiciel Arduino, et copier les programme suivant: const int LEDhautgauche= 2; // la LED branchée à la broche 2 se nomme LEDhautgauche const int LEDhautdroite= 3; // la LED branchée à la broche 3 se nomme LEDhautdroite const int LEDcentre= 4; // la LED branchée à la broche 3 se nomme LEDcentre const int LEDbasgauche= 5; // la LED branchée à la broche 3 se nomme LEDbasgauche const int LEDbasdroite= 6; // la LED branchée à la broche 3 se nomme LEDbasdroite int nbalea; // variable du nombre aléatoire void setup() { // indication des paramètres pinMode(LEDhautgauche, OUTPUT); // le courant passera dans la LEDhautgauche pinMode(LEDhautdroite, OUTPUT); // le courant passera dans la LEDhautdroite pinMode(LEDcentre, OUTPUT); // le courant passera dans la LEDcentre pinMode(LEDbasgauche, OUTPUT); // le courant passera dans la LEDbasgauche pinMode(LEDbasdroite, OUTPUT); // le courant passera dans la LEDbasdroite randomSeed(analogRead(0)); // création de l'aléatoire } void loop() { nbalea = random (1,6); //choix du nombre aléatoire if (nbalea == 1){ //si le nombre aléatoire est égal à 1 digitalWrite (LEDhautgauche,LOW); // La LEDhautgauche est éteinte digitalWrite (LEDhautdroite,LOW); // La LEDhautdroite est éteinte digitalWrite (LEDcentre,HIGH); // La LEDcentre est allumée digitalWrite (LEDbasgauche,LOW); // La LEDbasgauche est éteinte digitalWrite (LEDbasdroite,LOW); // La LEDbasdroite est éteinte } else{ if (nbalea == 2){//si le nombre aléatoire est égal à 2 digitalWrite (LEDhautgauche,LOW); digitalWrite (LEDhautdroite,HIGH); digitalWrite (LEDcentre,LOW); digitalWrite (LEDbasgauche,HIGH); digitalWrite (LEDbasdroite,LOW); } else { if (nbalea == 3){ //si le nombre aléatoire est égal à 3 digitalWrite (LEDhautgauche,LOW); digitalWrite (LEDhautdroite,HIGH); digitalWrite (LEDcentre,HIGH); digitalWrite (LEDbasgauche,HIGH); digitalWrite (LEDbasdroite,LOW); } else{ if (nbalea == 4){ //si le nombre aléatoire est égal à 4 digitalWrite (LEDhautgauche,HIGH); digitalWrite (LEDhautdroite,HIGH); digitalWrite (LEDcentre,LOW); digitalWrite (LEDbasgauche,HIGH); digitalWrite (LEDbasdroite,HIGH); } else{ if (nbalea == 5){ //si le nombre aléatoire est égal à 5 digitalWrite (LEDhautgauche,HIGH); digitalWrite (LEDhautdroite,HIGH); digitalWrite (LEDcentre,HIGH); digitalWrite (LEDbasgauche,HIGH); digitalWrite (LEDbasdroite,HIGH); } else { if (nbalea == 6){ //si le nombre aléatoire est égal à 6 digitalWrite (LEDhautgauche,HIGH); digitalWrite (LEDhautdroite,HIGH); digitalWrite (LEDcentre,LOW); digitalWrite (LEDbasgauche,HIGH); digitalWrite (LEDbasdroite,HIGH); } } } } } } delay(100000);//cela vous laisse du temps pour regarder le résultat de votre dé et de réappuyer sur le bouton pour un autre résultat }  , Le programme est ajouté dans le logiciel, il faut maintenant le téléverser dans la carte. Lorsque le téléversement est terminé, le programme se lancera et une valeur entre 1 et 5 sera affiché. Il faut appuyer sur le bouton pour refaire un "lancer" du dé.  +
- Supprimer l’avatar et aller dans l’icône « Créer avatar » en bas à droite (l’icône ressemblant à une tête de chat). - Créer un rectangle long et fin, puis dupliquer cette raquette. Il est possible de changer la couleur des raquettes. - Pour l’arrière-plan, créer un fond noir ou gris avec 2 bandes un peu plus claires de chaque côté pour symboliser la fin d’une partie (l'icône tout en bas à droite, supprimer aussi l'arrière-plan blanc). - Pour la balle, créer un nouvel avatar. Vous avez le choix entre un avatar proposé par Scratch de base ou vous pouvez créer votre propre balle (préférer une forme ronde).  +, - Dans le code, mettre quand le drapeau est cliqué, aller à x: -180, y: 20, répéter indéfiniment {si touche z pressée alors, ajouter 10 à y, si touche s pressée alors, ajouter -10 à y}. - Répéter ce code pour la deuxième raquette mais en changeant la place de la raquette (à l’opposé de la première raquette) et les touches de contrôle.  +, - Dans le code de la balle, mettre quand le drapeau est cliqué, aller à x: 0,y: 0, s’orienter à 90 (au départ, la balle partira à droite), répéter jusqu’à couleur des bandes [de votre choix] touchée {avancer de 10, rebondir si le bord est atteint [si raquette1 touchée alors, s’orienter à ordonnée y de raquette1 – ordonnée y + 90] [si raquette2 touchée alors, s’orienter à ordonnée y – ordonnée y de raquette2 – 90]} (pour faire rebondir la balle).  +,
- Supprimer l’avatar actuel et choisir l’avatar « Bat » dans la séléction d’avatars. Dans l’onglet Costumes, supprimer le 4ème costume (celui où la chauve-souris dort). - Dans l’onglet Costumes, en bas à gauche, sélectionner un costume différent de la chauve-souris (par exemple, celui nommé « Wizard-Toad »). - Dans l’onglet Code, mettre Quand le drapeau est cliqué, cacher, répéter indéfiniment {attendre nombre aléatoire entre 1 et 10 secondes, basculer sur le costume nombre aléatoire entre 1 et 4, montrer, attendre nombre aléatoire entre 0,5 et 3 secondes, cacher}  +, - Dans les fichiers du tutoriel, vous trouverez une image de viseur. Faites clique-droit, puis enregistrer le lien sous… , ce qui vous permettra d’avoir l’image dans vos fichiers. - Réduire la taille du viseur à 20, car l’image est assez grande. - Dans le code, mettre Quand le drapeau est cliqué, répéter indéfiniment {aller à pointeur de souris, si souris pressée alors, envoyer à tous Tir, attendre 0,5 seconde, cacher, attendre 0,5 seconde, montrer}  +, - Créer deux variables, Score et Vie - Dans le code de la cible, mettre Quand je reçois Tir, si touche le viseur alors {si numéro du costume < 4 alors, ajouter 1 à score, si numéro du costume = 4 alors, ajouter -1 à vie. - Au tout début du premier évènement de la cible (sélection de costumes), mettre sous le drapeau Mettre score à 0, mettre vie à 3. - A la suite du code de contact, mettre si vie = 0 alors, stop tout  +,
- Supprimer l’avatar actuel, passer la souris sur l’icône en forme de chat puis cliquer sur le pinceau, qui basculera sur l’onglet Costumes. - Créer un carré, puis un cercle qui devra loger dans le carré, puis un rectangle pour le canon qui devra dépasser d’un peu plus de la moitié du carré. Il est préférable de faire un petit tank, ainsi que de bien le centrer dans l’onglet Costumes (il y a une forme de cible au centre). Choisir la couleur de votre choix. - Dans le code du tank, mettre Quand le drapeau est cliqué, aller à x:0, y:0 (pour bien le centrer), répéter indéfiniment {s’orienter vers pointeur de souris (pour faciliter le déplacement), si touche z pressée alors avancer de 10 pas}  +, - Créer un nouvel avatar de la même façon que le tank. Créer un petit cercle (pour la taille, se référer à la taille donnée au canon du tank). - De retour dans le code du missile, mettre Quand le drapeau est cliqué, cacher (pour que le missile n’apparaisse pas). - Dans le code du tank, mettre Quand le drapeau est cliqué, répéter indéfiniment {si souris pressée alors, créer un clone de Missile, attendre 0,2 seconde}. - Créer un autre évènement dans le code du missile en mettant Quand je commence comme un clone, aller à Tank (ou n’importe quel nom donné au tank), s’orienter vers pointeur de souris, avancer de 20 pas, montrer. - Pour la direction du missile, créer deux variables pour le missile uniquement (dans la création de variables, mettre pour ce sprite uniquement) nommés x et y (pour horizontal et vertical). Sous l’évènement du clone, mettre Mettre x à souris x / 10, mettre y à souris y / 10.  +, - Cette partie est spéciale car il va falloir créer son propre bloc. Il est de couleur rose et est en dessous de Variable. Créer son bloc « Déplacement » dans le code du missile. Sous ce bloc, mettre Ajouter x à x, ajouter y à y.  +,
Une fois votre code téléversé dans l'esp, connectez vous en Wifi au réseau "mon interface web" et entrez le mot de passe "mot de passe". Rendez-vous dans votre navigateur préféré et entrez l'adresse suivante http://192.168.4.1 Admirez !  +, <nowiki>Afin de voir notre jolie interface sur notre navigateur préféré, il va falloir connecter notre ESP à un réseau ou bien le mettre en Point d'accès ! <br /><br />Pour se faire reportez vous sur le tuto [[Configurez le réseau Wifi sur un ESP]], dans cet exemple, nous allons créer un Point d'acces, c'est à dire que notre ESP se comportera comme une BOX internet, mais sans internet ;-).<br /><br /><br />Nous allons ajouter les lignes suivantes suivant toujours la même recette !<br /><br />1 - L'importation des bibliothèques Wifi (avant le setup)<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span> <span class="cpf"><WiFi.h></span><span class="cp"></span><br /></pre></div>2 - La création de l'objet<br /><br />Ici point besoin de le créer, il est unique et est géré nativement par la bibliothèque, son petit nom sera '''WiFi''' .<br /><br /><br /><br />3 - L'initialisation et le démarrage de l'objet (dans le setup) <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">void</span> <span class="nb">setup</span><span class="p">(){</span><br /> <span class="nf">WiFi</span><span class="p">.</span><span class="n">softAP</span><span class="p">(</span><span class="s">"mon interface web"</span><span class="p">,</span> <span class="s">"motdepasse"</span><span class="p">);</span><br /><span class="p">}</span><br /></pre></div></nowiki>  +, <nowiki>Si vous ne savez pas installer une bibliothèque reportez vous au tutoriel d'installation de bibliothèque. [[Importer des bibliothèques dans l'interface Arduino]]<br /><br /><br />Si vous savez, recherchez "ESP DASH" dans le gestionnaire de bibliothèque. puis installez la dernière version.<br /><br /><br />Installez en complément les bibliothèques suivantes <br /><br /><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="n">AsyncTCP</span><span class="err"></span><br /><span class="n">ESPAsyncWebServer</span><br /><span class="n">ArduinoJson</span><br /></pre></div>Pour un Wemos ou un ESP8266<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="n">ESPAsyncTCP</span><br /><span class="n">ESPAsyncWebServer</span><br /><span class="n">ArduinoJson</span><br /></pre></div><br/></nowiki>  +,
Nous devions nous mettre d'accord sur les objectifs que devait remplir cette catapulte afin de ne pas nous éparpiller inutilement. Au final, nous avons défini trois objectifs: -Résistance -Pratique pour s'amuser (taille petite) -Puissance minimale, peut toucher son objectif à plus de 2 mètres de distances  +, Il y a différent type de catapulte, nous ne ferons pas un podcast sur toutes les catapultes existante mais chacunes ont leurs points forts et leur point faible. Notre choix s'est porté sur la catapulte ingénieuse de da Vinci cet inventeur que chacun connait. Vous retrouverez dans notre catapulte une multitude de point commun avec celle de da Vinci  +, Afin de bien définir les mécanismes que nous allions utilisés nous avons schématisé les différents mécanismes de notre catapulte en mettant en avant leurs fonctionnements. -enrouleur -ressort pour renvoyé le projectile  +,
Si vous n'avez pas de compte, vous pouvez librement en créer un puis vous connecter à Wikidébrouillard.  +, Mais avant vous avez bien réfléchis au titre de votre page : * Le titre fait référence à ce qui est réalisé dans l'expérience. * Il ne faut pas mettre de pronom (pas de "Le", "La", "Les", "Un",...) sinon l'ordre alphabétique donnera un classement curieux. * Faites des noms de type : "Equilibriste","mission Ludion", "Sel qui danse", ... Choisissez le type de page à créer : * Expérience * Parcours pédagogique * Outils & matériel Ensuite vous ajoutez le titre que vous avez habilement choisi.  +, Tout commence par une expérience ou une réalisation technique. Vous savez faire et vous voulez partager. Il va donc falloir faire preuve de pédagogie : Un peu de préparation sera très pratique ! <br/> *Pour cela imprimez la trame type d'une fiche et écrivez votre fiche expérience. *Ou alors, téléchargez la fiche type au format .odt et préparez-là sur votre ordinateur. Pour téléchargez les fichiers voir dans la partie "fichier" de cette fiche (juste au-dessous de l'introduction). Ou bien cliquez ici : *[[Média:Cr er une exp rience sur Wikidebrouillard WikidebrouillardFicheExperience.odt|Téléchargez la fiche type expérience éditable en .odt]] *[[Média:Cr er une exp rience sur Wikidebrouillard WikidebrouillardFicheOutilsMateriel.odt|Téléchargez la fiche type Outil ou Matériel]] *[[Média:Cr er une exp rience sur Wikidebrouillard WikidebrouillardFicheParcours.odt|Téléchargez la fiche type Parcours Pédagogique]]  +,
Noue la ficelle autour de la cuillère, de façon à avoir environ un mètre de longueur de chaque côté du nœud.  +, En tenant les deux bouts de ficelle, fais se balancer la cuillère pour qu’elle frappe quelque chose, une table par exemple. Qu'entend-tu ? Peux-tu décrire le son ? Enroule maintenant un bout de ficelle autour de chaque index. Appuie les extrémités des fils juste à côté des oreilles. Sans lâcher les bouts de la ficelle, fais se balancer la cuillère pour qu’elle frappe quelque chose, une table par exemple. Que se passe-t-il ? Le son est-il différent ?  +, - Une cuillère à soupe entièrement en métal - Au moins 2 mètres de ficelle pour pouvoir faire pendre la cuillère - Une paire de ciseaux pour couper le fil  +
C'est le moment de mettre des lunettes de soleil. En effet, la luminosité des objets placés au foyer est très importante ! '''Et évidemment, il ne faut surtout pas mettre ses yeux au foyer !''' '''Si des enfants sont présents, il faut sécuriser les abords par des cordes ou des barrières. Attention aux tout-petits qui ont leurs yeux à la hauteur du poulet !''' En fait, sécurisé par une barrière et équipé de lunettes de soleil lorsque l'on est proche, il n'y a pas de risque ! Contrairement aux yeux, il n'y a pas vraiment de risques de brûlures. Vous pouvez mettre votre main au foyer. Certes, c'est chaud, mais on a largement le temps de retirer la main.  +, Le soleil pour la cuisine: <u>[http://fr.wikipedia.org/wiki/Four_solaire Cuisson solaire]</u> <u>[http://micsolaire.canalblog.com/ site sur cuiseurs solaires]</u> https://www.anguillesousroche.com/nature/vendeur-thailandais-roti-poulet-lumiere-soleil-20-ans/ Le soleil dans toute sa puissance: <u>[http://fr.wikipedia.org/wiki/Four_solaire_d'Odeillo Four solaire d'Odeillo]</u> Le soleil à la plage: <u>[http://www.futura-sciences.com/fr/doc/t/medecine-1/d/soleil-risques-et-dangers_102/c3/221/p1/ Dangers et bienfaits du soleil pour le corps]</u> Principe de polissage des miroirs de qualité optique: http://www.astrosurf.com/luxorion/miroir-telescope-fabrication3.htm Exemple de polisseur industriel: https://www.amos.be/technology/mirrors <br/>  +, On place une parabole face au soleil et on l'incline de façon à amener la tache focale à l'endroit désiré. On peut utiliser une simple tige pour régler l'inclinaison et caler la parabole dans la position désirée ( voir plus haut la photo de l'installation ). Dans un premier temps, il est intéressant d'observer la tache focale sur un écran (planche ou carton). Si on a bien travaillé en traçant et découpant les profils paraboliques, la largeur de la tache ne doit pas dépasser 15 cm pour une focale de 2 mètres. C'est très suffisant pour faire cuire un poulet et même le faire dorer. Mais, attention, ça peut s'enflammer ! Lorsque les 3 paraboles sont focalisées au même endroit, il y a près de 800 Watts répartis sur une surface de 40 cm x 15 cm ! Vous allez voir que votre écran noircit très vite... C'est aussi le moment de mettre la main pour voir comment ça fait... il n'y a pas de risque, mais ne pas insister quand même !  +,
- Un clou - Du papier de verre pour frotter le clou - Des pièces en cuivre - Un torchon ou un chiffon ou un vieux morceau de tissu pour nettoyer les pièces - Du vinaigre blanc - Un bocal - Du sel <br/>  +, - Ponce le clou avec quelque chose d'abrasif comme du papier de verre. - Nettoie les pièces avec un chiffon imbibé de vinaigre. <br/>  +, - Ajoute le clou et quelques pièces rouges dans la solution. - Fais en sorte que le clou ne touche pas directement les pièces, car il n'en a pas besoin.  +,
Pendant que ça sèche : <br/> *Remplir ses deux bassines d'eau Un bain d'arrêt (eau + 1 verre de vinaigre ) et un bain de rinçage (eau) *Préparer un espace au soleil sans passage *Espace de séchage Les types d'objets : => Végétaux => Objets transparents (verre, vase...) => Objets opaques ...et on vous laisse nous surprendre!!  +, Profitons de nos résultats! Et maintenant vient le temps de l'expérimentation! => Essayez d'autres supports => Changer les temps d'expositions => Tenter des jeux avec des ombres  +, Le matériel à avoir est simple... si ce n'est les composés du cyanotype lui même. On peut trouver les deux composés en kit, qu'il convient uniquement de compléter avec de l'eau. (les quantités sont indiqués) '''Matériel''' – Kit de cyanotype ( [https://www.ebay.fr/i/174195513004?chn=ps&norover=1&mkevt=1&mkrid=709-134431-41854-0&mkcid=2&itemid=174195513004&targetid=884405960814&device=c&mktype=pla&googleloc=9056412&poi=&campaignid=9557022446&mkgroupid=97888222243&rlsatarget=pla-884405960814&abcId=1139516&merchantid=6995724&gclid=Cj0KCQjwybD0BRDyARIsACyS8mtu-bpkEGjpDagMh-yxLC9moTBsLu_-5DmJjNU2BBgO8dDb6tCTNXIaAiOrEALw_wcB internet]) – Papier à dessin ou autre support comme du tissu – Rouleau ou une éponge, ou un pinceau. – Eléments à "photographier" ( quelques en photo : les objets disposés sur table rouge) – Bassine un peu plus grande que la taille du papier choisi pour vos clichés – et du soleil ! (ou une lampe UV si celui-ci manque) '''Bonus''' (pas nécessaire, mais c'est mieux) – Tablier et des protections (lunettes, gants) - Plaque de verre - Vinaigre ou eau oxygénée - Pinces à linge - support de séchage '''Espaces''' - 1 espace à l'abri du soleil, une pièce sans fenêtre ou fermée par des volets (la lumière articficielle, hors lampe UV, ne fait pas réagir le produit) - 1 espace avec du soleil et/ou lampe UV (Kit cyanotype : 20g de citrate d’ammonium, 8g de ferricyanure de potassium et 200 ml d’eau distillée. ) Plusieurs sites [https://www.etsy.com/fr/listing/749154749/kit-cyanotype?ref=shop_home_feat_3 KIT cyanotype] [https://www.etsy.com/fr/listing/489862679/kit-de-cyanotype-de-diy-photographie?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=cyanotype&ref=sr_gallery-1-2&organic_search_click=1 KIT Cyanotype 2] [https://www.etsy.com/fr/listing/489863809/recharges-pour-le-bleu-cyanotype?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=cyanotype&ref=sr_gallery-1-3&organic_search_click=1 KIT cyanotype simple] <br/>  ,
Tout d'abord, on remplit à moitié un verre avec de l'encre mélangée avec de l'eau (il faut qu'il y ait une quantité assez importante d'encre pour que l'expérience fonctionne). Ensuite il faut rafraichir la branche de céleri en coupant une partie de son pied (il faut enlever approximativement entre 4 et 5cm). Ensuite on trempe la branche de céleri rafraichie dans le verre contenant de l'encre. Il ne reste plus qu'à attendre quelques heures...  +
D
Nous avons construit une boite en carton, en prenant en compte la longueur du ruban de led pour la longueur de la boite et la taille des boutons pour son épaisseurs. La breadboard et les câbles sont cachés à l'intérieur de la boîte. Le support final peut également être construit avec d'autres matériaux.  +, Pour faciliter les futurs branchement, nous soudons sur les embouts du bouton. Remarque : *prévoir une longueur de câble suffisante selon la construction  +, Nous avons besoin d''''un ruban de 40 Leds''' Pour chacun des trois rubans nous soudons trois câbles (rouge sur 5V/VCC, noir sur la masse/GND, plus une autre couleur pour l'entrée digitale [le programme]), que nous avons précédemment découpés et dénudés, à l'une des extrémités du ruban. Attention au sens du courant : souder dans le sens de la flèche (voir photo) Attention, le tout est fragile. Manipulez avec précautions et pensez à sécuriser avec du scotch ( Voir photo) <br/>  +,
Un objet connecté est défini, outre sa fonction principale, par la capacité à '''communiquer,''' envoyer ou recevoir des informations via un réseau de télécommunication, dans notre cas internet. Ces informations sont sous forme de '''données numériques (Data)''', un format transmissible, compréhensible et exploitable dans ce réseau. Il peut en être d'un smartphone, d'une station météo, d'un frigo ou encore d'une machine à café, tant que ceux ci-sont capable de mesurer des informations de leur environnement, les transformer en données numérique, transmettre ces données via internet, ou encore en recevoir d'un utilisateur humain ou autre objet connecté pour interagir ou modifier ses actions. Par exemple un radiateur connecté '''(Objet)''' peut, à l'aide d'un capteur de température mesurer celle-ci dans votre salon '''(Données)''', vous transmettre à des kilomètres cette information via internet '''(Connecté)''' sur votre smartphone qui va vous afficher l'évolution de température sous la forme d'un graphique '''(Analyse)'''. Vous décidez de diminuer la puissance du chauffage, d’envoyer l'ordre au radiateur qui adaptera son fonctionnement. Les objets connectés représentent un formidable outils de mesure pour améliorer l'étude et la '''compréhension de notre quotidien'''. Observer un phénomène, l'étudier, le quantifier, le comprendre pour enfin prendre des décisions, agir. DataLab propose une '''documentation simple et accessible''', un coût matériel minime, pour que chacun puisse fabriquer sa propre station de mesure connectée (ou son réseau de stations) au service de ses projets.  +, [[DataLab - Chapitre 0 - Fabriquer sa station de mesure connectée|Chapitre 0 - Introduction]] [[DataLab - Chapitre 1 - Rassembler le matériel|Chapitre 1 - Rassembler le matériel]] [[DataLab - Chapitre 2 - Installer le programme DataLab sur la carte de programmation|Chapitre 2 - Installer le programme DataLab sur la carte ESP32]] [[DataLab - Chapitre 3 - Connecter ses capteurs|Chapitre 3 - Connecter ses capteurs !]] Chapitre 4 - Visualiser et exporter ses données en Local Chapitre 5 - Créer son tableau de bord en Ligne avec ThingsBoard.io Chapitre 6 - Exploiter ses données avec des outils de DataVisualisation Chapitre 7 - ÉducoData, animer un atelier sur l'enjeux des données numériques Chapitre 8 - Animer un club DataLab Chapitre 9 - Galerie de projets de la communauté Chapitre 10 - Piste de réflexions pour faire évoluer DataLab  +, '''L'initiative de DataLab prend sa source de plusieurs constats :''' - Actualité, économie, études scientifiques et sociales, compréhension de son environnement... Les données numériques sont PARTOUT ! - Les enjeux des données sont l'affaire de tous ! - On entend surtout parler de données personnelles et dangers sur notre vie privées mais beaucoup moins sur le potentiel et ce que permettent les données numériques dans notre quotidien. - Malgré l'ouverture de jeux de données publiques, leurs usages par les citoyens restent encore minimes. '''Comment se saisir des enjeux des données numériques et objets connectés ?''' => Jouons avec les donnés pour mieux les cerner ! '''Objectifs de DataLab :''' - Favoriser la compréhension et l'intérêt des enjeux des données numériques. - Lever les paliers techniques pour ouvrir l’usage des objets connectés au plus grand nombre. - Animer une communauté. Ouvrir le dispositif auprès de nouveaux partenaires et échanger pour son évolution au service de projets à impacts positifs. <br/>  +,
[[DataLab - Chapitre 0 - Fabriquer sa station de mesure connectée|Chapitre 0 - Introduction]] [[DataLab - Chapitre 1 - Rassembler le matériel|Chapitre 1 - Rassembler le matériel]] [[DataLab - Chapitre 2 - Installer le programme DataLab sur la carte de programmation|Chapitre 2 - Installer le programme DataLab sur la carte ESP32]] [[DataLab - Chapitre 3 - Connecter ses capteurs|Chapitre 3 - Connecter ses capteurs !]] Chapitre 4 - Visualiser et exporter ses données en Local Chapitre 5 - Créer son tableau de bord en Ligne avec ThingsBoard.io Chapitre 6 - Exploiter ses données avec des outils de DataVisualisation Chapitre 7 - ÉducoData, animer un atelier sur l'enjeux des données numériques Chapitre 8 - Animer un club DataLab Chapitre 9 - Galerie de projets de la communauté Chapitre 10 - Piste de réflexions pour faire évoluer DataLab  +, Plusieurs types de cartes sont utilisables pour mettre en place une station DataLab. Toutes celles que nous avons testé sont dérivée d'un même type de carte''', la famille ESP32'''. L'ESP32 s'apparente à une carte Arduino, une des plus répandue dans l'univers des makers et fablabs, boostée par de nombreuses fonctionnalités additionnelles comme une puce Wifi intégrée. De quoi créer et gérer très facilement des serveurs locaux ou distants, l'idéal pour nos stations de mesures connectées ! A ce jour nous avons testé 3 type de carte : '''- Le M5Stick C''', une carte clé en main (aucune soudure, prête à l'emploi sortie de la boîte), robuste, avec une petite batterie intégrée, et des branchements de capteurs facilités qui se clipsent. Seul "défaut", son prix relativement élevé par rapport aux autres modèles entre 15 et 20€ mais qui reste dans la tranche d'un Arduino officiel. Mais il vous permettra également de vous initier facilement à plein d'autres projets autour de la robotique et des objets connectés. C'est cette carte que nous utiliserons pour la documentation. '''- L'ESP32 Wemos''' avec socle de batterie intégré (mais batterie souvent vendue séparément). La carte nécessite quelques points de soudure pour les broches permettant de brancher les capteurs. Son principal atout étant sa batterie et le nombre de broches étendues pour brancher plus de capteurs. Avec la batterie, le prix de départ avoisine les 10-15€. '''- L'ESP32 NodeMCU''', une version standard de l'ESP32 similaire au modèle précédent mais dans socle de batterie. Ce modèles est accessible en prix bas entre 3 et 4€. Si vous êtes novice, nous vous conseillons '''de débuter avec le M5Stick C.''' Si vous êtes familiers de l'Arduino et des montages électroniques (même simple, juste quelques points de soudure et branchement de broches) chacune de ces cartes convient et il est possible d'ajouter une batterie ultérieurement, elle n'est pas indispensable.  +, En plus de la carte et des capteurs, quelques fournitures peuvent être nécessaires en fonction de votre équipement initial et vos besoins : '''- Un ordinateur sous Windows à jour''' pour l'installation du programme '''- Un chargeur secteur''' adéquate à votre modèle de carte (mini USB/USB C, 5V, 1A). Voir la documentation de votre carte. '''- Un câble USB''' adéquate à votre modèle de carte pour installer le programme. Voir la documentation de votre carte. '''- Des câbles de branchement type Grove''' et '''câble Dupont''' classiques (M/M, M/F, F/F, une vingtaine de chaque pour être large) '''- Une batterie rechargeable (optionnel)''' type 18650 à insérer sur un support sur la carte ou support amovible UBS.  +,
[[DataLab - Chapitre 0 - Fabriquer sa station de mesure connectée|Chapitre 0 - Introduction]] [[DataLab - Chapitre 1 - Rassembler le matériel|Chapitre 1 - Rassembler le matériel]] [[DataLab - Chapitre 2 - Installer le programme DataLab sur la carte de programmation|Chapitre 2 - Installer le programme DataLab sur la carte ESP32]] [[DataLab - Chapitre 3 - Connecter ses capteurs|Chapitre 3 - Connecter ses capteurs !]] Chapitre 4 - Visualiser et exporter ses données en Local Chapitre 5 - Créer son tableau de bord en Ligne avec ThingsBoard.io Chapitre 6 - Exploiter ses données avec des outils de DataVisualisation Chapitre 7 - ÉducoData, animer un atelier sur l'enjeux des données numériques Chapitre 8 - Animer un club DataLab Chapitre 9 - Galerie de projets de la communauté Chapitre 10 - Piste de réflexions pour faire évoluer DataLab  +, L'installation d'un programme sur une carte de programmation de type Arduino ou ESP peut être un parcours semé d'embuches : ''Installation du logiciel pour ouvrir le programme, installation des plug-in de la carte, installation des bibliothèques, sélection du modèle de carte, sélection du port COM de la carte, téléversement...'' bref toutes ces étapes et les bugs souvent associés font que 83%* des utilisateurs novices '''se perdent et abandonnent souvent leur projet...''' ''(*pourcentage mesuré à l'aide d'un pifomètre professionel de laboratoire... )'' '''HEUREUSEMENT''' (!) toutes ces étapes sont simplifiées à l’extrême pour l'usage des stations DataLab et ne vous demandera que quelques clics ! '''Le principe :''' tous les fichiers source permettant le fonctionnement du programme de la station sont réunis au sein même d'un seul et unique fichier qu'on appelle '''"Image"'''. Un second fichier, '''l'installateur''' permet en 3 clics d'envoyer cette image sur votre carte de programmation ESP32 branchée à votre ordinateur. '''Et PAF votre station est prête à fonctionner !'''  +, Rendez-vous sur le site '''GitHub''' et la page de parution du projet à l'adresse : https://github.com/DClicLab/DataLab/releases/latest/ Téléchargez la dernière version de l'image et de l'installateur dans un dossier sur votre ordinateur avec le fichier nommé '''"DataLabV2***.zip"''' (les *** varient en fonction de la version, prenez la plus récente). '''Décompressez le fichier téléchargé.''' Si le mot "Décompressez" vous est inconnu, prenez des vacances... Si le mot "Décompressez" vous est inconnu en informatique, un tuto par là : [https://fr.wikihow.com/d%C3%A9compresser-un-fichier LIEN] Vous obtenez un dossier avec 3 fichiers : '''- DataLab.bin''' (c'est l'image du programme) '''- esptool''' (un fichier de configuration pour l'installation) '''- ESPUploader''' (c'est l'installateur !)  +,
[[DataLab - Chapitre 0 - Fabriquer sa station de mesure connectée|Chapitre 0 - Introduction]] [[DataLab - Chapitre 1 - Rassembler le matériel|Chapitre 1 - Rassembler le matériel]] [[DataLab - Chapitre 2 - Installer le programme DataLab sur la carte de programmation|Chapitre 2 - Installer le programme DataLab sur la carte ESP32]] [https://www.wikidebrouillard.org/wiki/DataLab_-_Chapitre_3_-_Connecter_ses_capteurs Chapitre 3 - Connecter ses capteurs !] Chapitre 4 - Visualiser et exporter ses données en Local Chapitre 5 - Créer son tableau de bord en Ligne avec ThingsBoard.io Chapitre 6 - Exploiter ses données avec des outils de DataVisualisation Chapitre 7 - ÉducoData, animer un atelier sur l'enjeux des données numériques Chapitre 8 - Animer un club DataLab Chapitre 9 - Galerie de projets de la communauté Chapitre 10 - Piste de réflexions pour faire évoluer DataLab  +, Un capteur est un composant électronique plus ou moins complexe '''sensible aux variations d'un paramètre donné'''. Par exemple une photorésistance est capable de mesurer les variations de luminosité. Une thermorésistance quant à elle mesure les variations de température, etc. Certains modules de capteurs comme le dénommé DHT11 sont '''une association''' '''de capteurs''', ici de température et d'humidité. En cherchant bien, on peut trouver des capteurs pour la plupart des paramètres physiques, chimiques que l'on souhaite observer. La complexité de certaines mesures de paramètres jouera sur le prix du capteur. On peut aussi dans certains cas fabriquer ses propres capteurs en connaissant quelques principes d'électricité. Le fonctionnement de capteurs avec une carte de programmation suit généralement toujours le même principe. Une carte de programmation comme l'Arduino ou l'ESP32 possède '''des broches d'entrées''', des "prises" sur lesquelles nous pourrons connecter nos capteurs qui leur enverrons des informations sous forme de signaux électriques plus ou moins complexes et que notre programme saura interpréter. '''Ces broches sont adressées''', elle ont '''chacune un numéro ou un nom'''. Nous pouvons retrouver facilement sur la documentation de chaque carte le numéro de chaque broche. Pour la plupart, les numéros sont même imprimés sur les cartes. Dans les illustrations ci-jointes nous documenterons les schémas d'adressage complet des cartes les plus courantes supportées par DataLab dont le M5 Stick C. '''Pas la peine de les apprendre par cœur (!)''', ils nous servirons juste très ponctuellement à vérifier nos raccords et paramétrer notre station. Les capteurs '''ont eux aussi des broches''', dans une majorité des cas 3 ou 4, parfois plus qu'il faudra connecter à l'aide de câbles aux entrées de la carte de programmation. Par chance et facilité, les capteurs que nous avons choisi du système Grove ont des connectiques standardisées qui simplifiera les branchements notamment sur le M5 Stick C et d'autres cartes compatibles. Un exemple avec le capteur DHT11 de nouveau, en photo ci-contre en bleu, qui possède '''une broche GND''' (la terre, l'équivalent du - dans un circuit ), une '''broche VCC''' (le 5 ou 3.3 volt, l'équivalent du +, qui alimente le capteur), une '''broche SIG''' qui transmet le SIGnal d'information à la carte et une '''broche NC''' qui ne sert à rien (Not Connected) dans ce cas mais présent pour le standard Grove. Ce capteur peut donc simplement se connecter au port "Grove" de la Carte M5 Stick C. Impossible de se tromper !  , Il existe une infinité de capteurs pour mesurer tous les paramètres souhaités. Nous avons recentré notre attention sur une dizaine de capteurs les plus courants pour la première version de la Station DataLab qui seront pré-intallés dans le programme. Afin de simplifier l'usage et les connectiques de ces capteurs, nous avons sélectionnés les capteurs de la marque Grove (ou simili) proposant un standard de connexion compatible avec le M5Stick C. '''(En gras dans la liste les capteurs implémentés à l'heure de la dernière mise à jour du programme)''' : '''- DHT11 (Pression, humidité, température)''' '''- BMP180 (Baromètre, pression, température)''' '''- BMP280 (Baromètre, pression, température)''' '''- HM3301 (Qualité de l'air, particules fine 2.5PM)''' '''- Light sensor (Luminosité)''' '''- Moisture (Humidité des sols)''' '''- Capteur digital divers (Bouton poussoir, touch, contact fin de course...)''' '''- Capteur analogique divers (Potentiomètre linéaires, rotatifs...)''' - Ultrasonic sensor (Distance par ultrasons) - pH sensor (pH mètre) - Sound sensor (Niveau sonore)  +,
Après avoir créé un compte sur la plateforme, vous aurez accès au "Workspaces" entouré en rouge sur l'exemple. C'est un onglet où vous retrouverez des morceaux de programme déjà écrits. Ici vous sélectionnerez API-Rennes.  +, La suite de blocs colorés qui s'affiche est votre programme. Ici, nous allons chercher dans une base de données de comptage de piétons et vélo dans un quartier spécifique de Rennes. Dans les prochaines étapes nous allons décortiquer le programme afin de comprendre chaque blocs.  +, Afin de commencer par interroger une base de données, il faut être connecté à un réseau wifi. Dans nom du réseau il faut rentrer le nom de la box, du téléphone en partage de connexion etc... Et dans la clé/mot de passe il faut rentrer, vous l'aurez deviné, le mot de passe du réseau wifi!  +,
- un saladier - de la farine (ou du sable ou de la semoule) - des billes si possible différentes en matières (verre, acier, plastique, papier) et/ou en diamètre - une règle graduée - de la pâte adhésive  +, Verser de la farine dans le saladier, assez pour que les billes ne touchent pas le fond en tombant. Mettre la règle à la verticale contre le saladier, perpendiculaire à la surface de la farine pour avoir une idée de la hauteur du lancé. Une fois bien positionné, fixer la règle avec de la pâte adhésive.  +, Lancer les différentes billes à la même hauteur. Qu’observez-vous ? Avant de recommencer, enlever les billes puis remettre à niveau la farine.  +,
* réaliser et imprimer des questionnaires (un type de questionnaire par binôme), exemple de questionnaire sur la mobilité en annexe * imprimer une vue aérienne par binôme (réaliser une capture d'écran sur umap [https://umap.openstreetmap.fr/fr/]) * imprimer un plan (réaliser une capture d'écran sur umap [https://umap.openstreetmap.fr/fr/]) * définir un parcours au préalable (45 minutes maximum, en prenant en compte plusieurs arrêts de 5 minutes, par exemple 5 arrêts)   +, chaque binôme recoit : * 2 supports avec pinces + 2 crayons * 1 vue aérienne à accrocher sur un des support + 1 plan à accrocher par dessus * 1 plan imprimé en grand format * 1 type de questionnaire <br/>  +, * le groupe se déplace ensemble, chaque binôme complète son questionnaire et dessine des repères sur son plan. Si les participant.e.s ne savent pas écrire, nous pouvons prendre des notes avec un enregistreur audio * des arrêts de 5 min permettent de prendre le temps de répondre aux questions, de comptabiliser les éléments à repérer si besoin et de dessiner sur le plan et/ou questionnaire   +,
Prend une feuille de papier et dessine un arbre comme il te plaît Si vous êtes plusieurs à faire l'expérience, passe à l'étape 2! Tu pourras passer à l'étape 3 après avoir dessiné  +, Si tu es en groupe, prenez chacun une feuille et dessiner votre arbre Si tu es seul, tu peux passer à l'étape 2 <br/>  +, Après avoir dessiné votre arbre, si vous êtes plusieurs comparez les! Si tu es seul, Regarde sur internet des images d’arbres, en cliquant [[google:arbre&newwindow=1&client=firefox-b-d&source=lnms&tbm=isch&sa=X&ved=2ahUKEwih-q7m0_fpAhUj2uAKHd82DKAQ_AUoAXoECA8QAw&biw=960&bih=706&dpr=0.8|ici!]] Vois-tu des différences ? des similitudes ?  +
Pour cette activité, il te faudra : - de la gouache - du liquide vaisselle - des pots (autant que de couleurs que tu veux réaliser) - un pinceau <br/>  +, Dans un pot, mélanger un peu de peinture avec 3 ou 4 gouttes de liquide vaisselle.  +, Une fois que ta peinture est prête, tu peux dessiner avec. Trace le profil de ce que tu vois par la fenêtre : avec ton pinceau, trace le contour des bâtiments que tu vois de ta fenêtre. Si tu vois aussi des arbres, dessine-les. Recommence la même chose dans d'autres pièces. Est-ce que le profil est le même ? A ton avis pourquoi ?  +,
Recommencer l'expérience en laissant plus de temps pour dessiner un sapin. Vous pouvez aussi laisser la possibilité d'utiliser plusieurs feutres. '''Le dessin proposé est-il le même ?''' ''Remarque : si les dessins proposés se ressemblent tous, lancer une discussion pour savoir s'ils ont déjà vus des sapins dans d'autres contextes.''  +, 1. Demander aux participants de répondre en 10 secondes à la question suivante ''': « à quoi pensez-vous quand vous entendez le mot sapin ?'''''Écrire la réponse au dos du dessin ».'' 2. Mettre en commun et comparer les réponses : '''Pourquoi avez-vous associé ces mots au mot sapin ? Pourquoi certaines réponses sont-elles communes ?'''  +, #Distribuer une feuille et un feutre par personne #Demander aux participants de dessiner un sapin en 5 secondes, sans copier sur le voisin. #Mettre en commun les dessins et les observer. '''Que remarquons-nous ?''' ''Variante : possibilité de demander de dessiner autre chose qu'un sapin : ex. sa maison !''   +
*Premièrement, faire vibrer le diapason en frappant l’une de ses membranes contre quelque chose de solide. (ici un coin de table) *Plonger la même membrane dans l’eau et observer. => Magie ! Une <u>''onde''</u> se forme sur l’eau, l’eau peut même se mettre à tressauter si la vibration est forte.   +, '''Matériel :''' *Assiette creuse ou bol *Eau *Diapason '''Bonus (pour éviter les catastrophe) :''' *Éponge *Serviette '''Préparation :''' *Mettre l’eau dans l’assiette creuse ou le bol *C’est parti pour l’expérience  +
imprimer en couleur le fichier Disc'ohm  +, *Coupez deux rondelle de bouchons. *Faites un trou au centre de chaque disque. *Enfoncez un cure-dent ou une allumette dans un des bouchons   +, Ici nous avons une résistance à trois bandes marron-noir-marron. Sa valeur est donc du 10X10 ohms = 100 ohms  +,
Avec la vrille (ou la vis), faire un premier trou dans le bouchon en liège.  +, Piquer le clou dans le centre du disque de papier et l'enfoncer dans le premier trou percé dans le bouchon en liège.  +, Faire tourner le disque et observer le résultat  +,
Après avoir découpé un cercle d’environ 30 cm de diamètre, percer un trou au centre pour y glisser la ficelle à l’aide des ciseaux ou de la vis. Il est aussi possible de trouver et imprimer un modèle en format A4 disponible ici : [https://www.wikidebrouillard.org/images/0/01/Disque_de_Secchi_disque-secchi-modele-a4.pdf Disque de Secchi]  +, Le poids sert à lester le disque afin qu’il coule une fois plongé dans l’eau. Avec la ficelle, fixer fermement le poids en dessous du disque, bien au centre du cercle.  +, Afin de réaliser des mesures, il faut graduer la ficelle. Tracer des traits à intervalles réguliers sur la ficelle à l’aide d’un marqueur : *Avec la règle, mesurer 10 cm et tracer un trait sur la ficelle ; *Recommencer cette étape tout le long de la ficelle. Le disque de Secchi est prêt à être utilisé !  +,
Fixe un point sur le mur.  +, Il suffit simplement de placer tes deux index l'un en face de l'autre à environ 15 cm de tes yeux. Que vois-tu ?  +
Prendre 2 fils, les dénuder des 2 côtés. Puis scotcher un fil sur le pôle (+) et un autre sur le pôle (-).  +, Prendre <u>le fil du pôle (+)</u> et scotcher (ou souder) le sur <u>le bras court</u> de la LED  +, Prendre un câble (assez long), dénuder le fil des 2 côtés. Scotcher (ou souder) le fil sur l'autre bras de la LED. Puis scotcher ( ou souder) l'autre partie du câble sur le trombone.  +,
Reprendre le dispositif de l'expérience "[[Poumon en bocal]]" Tirer la membrane. '''Jusqu’où le ballon se gonfle-t-il ?'''  +, Verser une cuillère d’eau dans le ballon et secouer pour humidifier sa paroi.  +, Verser ensuite une demi-cuillère de farine dans le ballon et secouer. Tirer la membrane à nouveau. '''Jusqu’où le ballon se gonfle-t-il ?''' Rajouter encore de la farine, secouer, puis tirer une nouvelle fois la membrane. '''Que remarque-t-on ?'''  +
* Verser un peu d'eau dans le récipient.   +, * Coincer la laine d'acier au fond du verre.   +, Retourner le verre (la laine d'acier ne doit pas tomber) et le poser dans le récipient.  +
'''<u>Phase 4</u>''' *Découpe la feuille en petits morceaux de différentes tailles, à l’aide de ciseaux et de tes doigts. Roule une partie de ces morceaux sous forme de petites boulettes. *'''Quels sont les 3 “grands” organismes vivants du sol que représentent les ciseaux et les doigts ?''' ''Place les 3 étiquettes sélectionnées dans le tableau en face de la phase 4 !'' <br/> '''<u>Phase 5</u>''' *Découpe les morceaux de feuilles restants en tout petits bouts, puis roule une partie de ces tout petits morceaux sous forme de mini boulettes.   *'''Quelle toute petite faune du sol découpe les feuilles en tout petits débris ? '''Sélectionne dans tes étiquettes les 3 petits organismes du sol correspondants en t’aidant des indices sur l’annexe. ''Place les 3 étiquettes sélectionnées dans le tableau en face de la phase 5 !'' *'''A quoi correspondent les boulettes de papier ?'''  +, '''<u>Phase 6</u>''' *A l’aide d’un pinceau, imbibe les boulettes de peinture un peu diluée. Dépose ensuite quelques boulettes colorées dans un récipient, puis verse un peu d’eau dessus et malaxe-les avec les doigts jusqu’à décomposition du papier. *'''A quels organismes du sol correspond de nouveau la peinture sur les boulettes ? '''(comme pour la phase 1 et 3) *''Place les 2 étiquettes sélectionnées dans le tableau en face de la phase 6 !'' *'''Après décomposition, à quoi correspondent, dans le sol, les éléments obtenus ? A qui peuvent-ils servir ? ''' <br/> <u>'''Phase 7'''</u> *Les petites boulettes et les mini-débris de papier qui n’ont pas été complètement décomposés, '''que deviennent-ils ? A quoi servent-ils ? Par quels organismes du sol sont-ils transformés ? '''''Place toutes les étiquettes restantes en face de l’étape 7. '' *Ouvre l’'''annexe “[https://www.wikidebrouillard.org/images/4/4e/D%C3%A9composition_d_une_feuille_au_sol_annexe_tableau-r%C3%A9ponses.pdf Tableau - réponses]” '''pour découvrir la répartition des organismes du sol dans les différentes étapes de dégradation d’une feuille. '''Avais-tu la même répartition ?'''  +, '''Pour commencer, rassemble le matériel nécessaire à l'expérience :''' *annexe “[https://www.wikidebrouillard.org/images/f/f5/D%C3%A9composition_d_une_feuille_au_sol_annexe_feuilles_d_arbre.pdf Feuille d’arbre]” *annexe “[https://www.wikidebrouillard.org/images/b/b7/D%C3%A9composition_d_une_feuille_au_sol_annexe_%C3%A9tiquettes.pdf Étiquettes des organismes du sol]” *annexe “[https://www.wikidebrouillard.org/images/1/1d/D%C3%A9composition_d_une_feuille_au_sol_annexe_indices.pdf Indices - organismes du sol]” *annexe “[https://www.wikidebrouillard.org/images/9/9c/D%C3%A9composition_d_une_feuille_au_sol_annexe_tableau_%C3%A9tapes.pdf Tableau - étapes de dégradation d’une feuille]” *annexe “[https://www.wikidebrouillard.org/images/4/4e/D%C3%A9composition_d_une_feuille_au_sol_annexe_tableau-r%C3%A9ponses.pdf Tableau - réponses]” *une paire de ciseaux *un crayon à papier *des feuilles de papier ('''ou de papier buvard de préférence''') *de la peinture (si possible blanche, beige ou marron) *un pinceau *deux récipients *de l’eau *un stylo '''Si tu as, tu peux utiliser aussi :''' *une imprimante couleur<br/>  +,
Sur une feuille, dessine un robot. Comment-est-il ? Quelles sont ses fonctions particulières ? Si tu as envie d'aller plus loin, tu peux utiliser du matériel de récupération pour construire un robot tel que tu l'imagines.  +, Le robot Thymio est un petit robot blanc. Ressemble-t-il au robot que tu as dessiné ? Comment fait-il pour se déplacer ? A-t-il des bras ou des jambes ? A-t-il des yeux ? une bouche ? Peut-il voir où il va ? Penses-tu qu'il est capable de réaliser des actions particulières ? A ton avis, à quoi servent les petites bosses rondes sur le haut ?  +, Avec l'aide d'un adulte, ouvre délicatement le robot Thymio et découvre ce qu'il se cache à l'intérieur de sa coque. Que découvres-tu ?  +,
Pour découvrir le jeux de carte, tu peux aller dans l'onglet Fichier et télécharger "Constitution d'un arbre" puis imprime le. Une fois imprimé, tu peux le découper! <br/>  +, A chaque fois, il faut que tu associes une carte “visuel partie de l’arbre”, “usage du bois”, “nom, partie de l’arbre” et “la description de la partie de l’arbre”!  +
Ouvrez l’interface en ligne ou la version hors ligne du logiciel. Et si vous essayiez de : - Faire '''avancer''' votre lutin - Le faire '''tourner sur lui-même''' - Le faire '''changer de couleur''' - Le faire '''revenir à sa position initiale''' (x : 0 ; y : 0) - Lui faire '''répéter 5 fois''' l’action de votre choix - Le faire '''avancer progressivement''' d’un point à un autre de la scène - Le faire '''rebondir''' contre les bords de la scène - Ajouter un '''nouveau lutin''' et lui faire '''dire un son''' <br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Vous pouvez vous aider des 5 fiches penses-bêtes disponibles en téléchargement libre sur cette page de tutoriel.</div> </div><br/>  +, Construisez votre histoire, imaginez un jeu et essayez de le programmer. Si vous bloquez, pourquoi ne pas essayer de vous inspirer du code utilisé pour d’autres jeux similaires en allant « regarder leur code » (comme sur cette image). Si vous êtes content.e de votre création, vous pouvez la partager en ligne ou bien autour de vous.  +, Pour découvrir l’interface de ce logiciel, nous vous proposons dans un premier temps de télécharger le livret disponible au sein de ce tutoriel, au sein de l'onglet "Fichiers" juste au dessus de cette étape.  +
Allumer l'ordinateur et brancher le Makey-Makey à l'ordinateur à l'aide du câble USB fourni.  +, Le makey makey est reconnu comme une sorte de clavier. Plusieurs branchements permettents de "jouer" des touches reconnu par l'ordinateur (photos). Si je veux jouer une touche, il faut relier le branchement de la touche (exemple: espace) avec un branchement à la terre (Earth). Ce circuit fermé, c'est équivalent à un doigt maintenu sur une touche de clavier. Par exemple, si je veux créer un branchement espace, je pince avec une pince crocodile le bouton espace, et j'accroche une pince crocodile au niveau de la terre (ou earth), zone en noir en bas du Makey-Makey. Dans tous les cas, il faut fermé le circuit ;) <br/>  +, Le makey makey dispose d'un certain nombre de touches de base : '''Devant''' Les flêches directionnelles : Haut, bas, gauche, droite Les touches : espace et clique + La terre '''Derrière''' Les touches : WASDFG ( attention, ce sont des touches Qwerty, cela équivaut donc à d'autres touches sur un clavier AZERTY) La souris : Haut, bas, gauche, droite, click droit. Et des terres supplémentaires. des ports supplémentaires permettent également de jouer avec la carte de développement et d'ajouter des fonctions ( Voir plus bas, dans "allez plus loin" )  +,
'''<u>Pour commencer, rassemble le matériel nécessaire à l'expérience</u> :''' *Papier (5 feuilles blanches A4) *une paire de ciseaux *16 post-it (ou une feuille A4 pliée en 5) *stylos *[https://www.wikidebrouillard.org/images/c/c2/D_couvrir_les_habitants_du_sol_annexe-planche-habitant-du-sol.pdf Annexe “Planches habitants du sol”] *[https://www.wikidebrouillard.org/images/1/16/D_couvrir_les_habitants_du_sol_annexe-plateau-de-jeu.pdf Annexe “Plateau de jeu”] *[https://www.wikidebrouillard.org/images/3/3a/D_couvrir_les_habitants_du_sol_annexe-aide-aux-questions.docx.pdf Annexe “Aide aux questions”] *[https://www.wikidebrouillard.org/images/b/b7/D_couvrir_les_habitants_du_sol_annexe-tableau-taille-des-habitants-du-sol.pdf Annexe “Tableau - taille des habitants du sol”] *[https://www.wikidebrouillard.org/images/6/6d/D_couvrir_les_habitants_du_sol_annexe-tableau_taille_des_habitants_du_sol_reponses2.pdf Annexe “Tableau - réponses”] <u>'''Si tu as, tu peux utiliser aussi :'''</u> *1 imprimante couleur (facultatif)  +, <u>'''Si tu as une imprimante couleur :'''</u> *Imprime l'''’[https://www.wikidebrouillard.org/images/c/c2/D_couvrir_les_habitants_du_sol_annexe-planche-habitant-du-sol.pdf annexe “Planches habitants du sol”]''' en 3 exemplaires. **Découpe un exemplaire pour avoir un jeu de 16 '''cartes "Habitants du sol"'''. **Les deux autres exemplaires sont les plateaux de jeu de chacun des joueurs. *Imprime l’'''[https://www.wikidebrouillard.org/images/b/b7/D_couvrir_les_habitants_du_sol_annexe-tableau-taille-des-habitants-du-sol.pdf annexe “Tableau taille des habitants du sol”]''' *Imprime l'''[https://www.wikidebrouillard.org/images/3/3a/D_couvrir_les_habitants_du_sol_annexe-aide-aux-questions.docx.pdf ’annexe “Aide aux questions”]''' '''<u>Si tu n’as pas d’imprimante</u> :''' *Découpe 16 rectangles de papier. Pour cela tu peux plier une feuille A4 en 4 pour obtenir 16 rectangles '''(photo 1)'''. *Ouvre l'''’[https://www.wikidebrouillard.org/images/c/c2/D_couvrir_les_habitants_du_sol_annexe-planche-habitant-du-sol.pdf annexe “Planches habitants du sol]'''[https://www.wikidebrouillard.org/images/c/c2/D_couvrir_les_habitants_du_sol_annexe-planche-habitant-du-sol.pdf ”] et écris sur chaque rectangle obtenu le nom d’un habitant du sol '''(photo 2)'''. Ces '''cartes "Habitants du sol"''' réalisées constitueront la pioche. *Petit truc en plus : plie le bas du rectangle afin que tu puisses le poser sur la table telle une pancarte '''(photo 3)'''. *Ouvre l'''’[https://www.wikidebrouillard.org/images/1/16/D_couvrir_les_habitants_du_sol_annexe-plateau-de-jeu.pdf annexe “Plateau de jeu”]''' et reproduis le plateau de jeu avec les noms sur une feuille A4, en deux exemplaires (pour toi et ton partenaire de jeu) '''(photo 4).''' *Ouvre l’'''[https://www.wikidebrouillard.org/images/3/3a/D_couvrir_les_habitants_du_sol_annexe-aide-aux-questions.docx.pdf annexe “Aide aux questions”]''' afin de t’aider à trouver des questions à poser à ton partenaire. *Ouvre l’'''[https://www.wikidebrouillard.org/images/b/b7/D_couvrir_les_habitants_du_sol_annexe-tableau-taille-des-habitants-du-sol.pdf annexe “Tableau taille des habitants du sol”]''' et reproduis le tableau sur une feuille A4 '''(photo 5).''' '''<u>Prépare les caches des habitants du sol</u>''' : *Découpe 16 post-it en deux au milieu de la partie collante pour obtenir 32 caches. *Ou si tu n’as pas de post-it, plie une feuille A4 en 5 et découpe les 32 petits rectangles obtenus '''(photo 6)'''. *Répartis ensuite les caches entre les joueurs (16 à chacun)  , '''<u>Installe le jeu :</u> (photo 1)''' *Trouve un partenaire pour jouer avec toi (famille, ami.e.s…). *Chacun place devant lui son plateau de jeu (planches imprimées ou plateau de jeu recopié à la main). Dans le second cas, ouvre sur ton ordinateur l’'''[https://www.wikidebrouillard.org/images/c/c2/D_couvrir_les_habitants_du_sol_annexe-planche-habitant-du-sol.pdf annexe “Planches habitants du sol”]''' pour que chaque joueur puisse bien voir les 16 vignettes (tu peux passer d’une planche à l’autre sur l’écran autant de fois que nécessaire). *Distribue à chacun 16 caches (issus des post-it ou de la feuille A4 pliée en 5). *Place le jeu de 16 '''cartes "Habitants du sol"''' préalablement découpées entre les joueurs (face cachée). *Chacun tire une carte au hasard dans le tas de 16 cartes préalablement découpées et la place devant son plateau sans la faire voir à l'autre joueur. '''<u>Lis la règle du jeu “Qui est-ce ?”</u>''' '''Pour chaque partie, le but du jeu est de découvrir le premier la carte de son adversaire. Pour cela, il doit poser des questions auxquelles on ne peut répondre que par OUI ou NON, afin d’éliminer tous les habitants du sol jusqu’à ce qu’il n’en reste plus qu’un !''' ''<u>Par exemple</u> : tu demandes à l’autre joueur : est-ce que ton animal a des antennes ? '' *''Si la réponse est OUI, pose un cache (post-it ou petit rectangle) sur les habitants du sol qui n’ont pas d’antennes. Ces animaux sont éliminés de cette partie. '''(photo 2)''''' *''Si la réponse est NON, cache tous les animaux qui ont des antennes ! '' ''Pour cela, tu peux t’aider des photos et indices de l’'''[https://www.wikidebrouillard.org/images/c/c2/D_couvrir_les_habitants_du_sol_annexe-planche-habitant-du-sol.pdf annexe “Planches habitants du sol”].''''' <u>Chaque joueur pose une question chacun à son tour</u>. Dès que l’un de vous pense avoir trouvé l’habitant du sol pioché par l’autre joueur, il peut, lorsque c'est à son tour de jouer, faire une proposition. S'il s'est trompé, il perd automatiquement la partie. Si la réponse est bonne, alors il a gagné. La première partie terminée, chaque joueur remet sa carte dans le paquet et en tire une nouvelle. Tu peux prévoir autant de parties impaires (3, 5, 7…) que tu veux. Celui qui a gagné le plus de parties a gagné le jeu ! Pour t’aider à poser les questions, tu peux consulter l’'''[https://www.wikidebrouillard.org/images/3/3a/D_couvrir_les_habitants_du_sol_annexe-aide-aux-questions.docx.pdf annexe « Aide aux questions »].''' '''A toi de jouer !!'''  ,
<u>Si tu as une imprimante :</u> *Imprime l’[https://www.wikidebrouillard.org/images/4/43/D_couvrir_une_esp_ce_menac_e_-_le_panda_Mots_croisesV2.pdf annexe “Mots croisés”] sur les pandas *Encadre en gras si besoin les cases colorées dans l’annexe <u>Si tu n’as pas d’imprimante :</u> *Recopie sur une feuille à carreaux la grille de l’[https://www.wikidebrouillard.org/images/4/43/D_couvrir_une_esp_ce_menac_e_-_le_panda_Mots_croisesV2.pdf annexe “Mots croisés”] sur les pandas et encadre en gras les cases identifiées en jaune.  +, *Découvre plein de choses sur les pandas géants en lisant l[https://www.wikidebrouillard.org/images/5/55/D_couvrir_une_esp_ce_menac_e_-_le_panda_Le_panda_g_ant_fiche_explicative.pdf ’annexe “ Le panda géant”] *Complète ensuite la grille de l’[https://www.wikidebrouillard.org/images/4/43/D_couvrir_une_esp_ce_menac_e_-_le_panda_Mots_croisesV2.pdf annexe “Mots croisés”] : réponds aux définitions données par les numéros et inscris tes réponses dans les cases (une lettre par case) : #Couleur des tâches du panda #Milieu naturel où vivent les pandas #Raison de la chasse du panda à l’époque #L’animal star de cet article #Habitat des pandas #Nourriture préférée des pandas #Adjectif qui qualifie le panda, en rapport avec sa taille #Famille à laquelle appartient le panda <br/> *Puis remets dans l’ordre les lettres qui sont dans les cases colorées pour trouver le mot mystère. ''<u>Indice pour trouver le mot mystère </u>'': '''pourquoi le panda est-il en danger ?''' *À toi de jouer ! <br/> *Ouvre enfin l’[https://www.wikidebrouillard.org/images/1/16/D_couvrir_une_esp_ce_menac_e_-_le_panda_Reponse_-_Mots_croisesV2.pdf annexe “Réponse - Mots croisés”] pour vérifier tes réponses. As-tu trouvé le mot mystère ?   +, '''Pour commencer, rassemble le matériel nécessaire à l'expérience''' : - annexe [https://www.wikidebrouillard.org/images/5/55/D_couvrir_une_esp_ce_menac_e_-_le_panda_Le_panda_g_ant_fiche_explicative.pdf “Le panda géant”] - annexe [https://www.wikidebrouillard.org/images/4/43/D_couvrir_une_esp_ce_menac_e_-_le_panda_Mots_croisesV2.pdf “Mots croisés”] - annexe [https://www.wikidebrouillard.org/images/9/90/D_couvrir_une_esp_ce_menac_e_-_le_panda_BD.pdf “BD”] - annexe [https://www.wikidebrouillard.org/images/8/8e/D_couvrir_une_esp_ce_menac_e_-_le_panda_Protocole_de_montageV2.pdf “Protocole de montage”] - annexe [https://www.wikidebrouillard.org/images/2/2b/D_couvrir_une_esp_ce_menac_e_-_le_panda_QuizzV2.pdf “Quizz”] - annexe [https://www.wikidebrouillard.org/images/1/16/D_couvrir_une_esp_ce_menac_e_-_le_panda_Reponse_-_Mots_croisesV2.pdf “Réponse - Mots croisés”] - annexe [https://www.wikidebrouillard.org/images/8/84/D_couvrir_une_esp_ce_menac_e_-_le_panda_R_ponse_-_BD_dans_l_ordre.pdf “Réponse - BD dans l’ordre”] - annexe [https://www.wikidebrouillard.org/images/d/d3/D_couvrir_une_esp_ce_menac_e_-_le_panda_Reponses_-_quizzV2.pdf “Réponses du quizz”] - des feuilles de papier (blanches ou à carreaux) - un crayon - un feutre (noir de préférence) - une paire de ciseaux (et un cutter si possible) - de la colle - une règle - un compas '''Si tu as, tu peux également utiliser :''' - une imprimante - un feutre jaune et un feutre vert  +,
Répartir les participants en équipes de 2 à 4, et distribuer le matériel. Les encadrant.es conservent une bassine (ou à défaut une bouteille) et la réserve d'eau. Donner les consignes pour que chaque équipe installe son décor de départ, illustrant des constructions en zone côtière : - faire des boules le papier et en remplir les pots de yaourt à ras-bord, - créer une "plage" en déposant et en tassant plusieurs poignées de sable d'un côté de la bassine, en formant une pente de quelques centimètres de haut descendant vers l'intérieur. Pour que les équipes démarrent le défi dans des conditions identiques, la hauteur de sable et la largeur de la "plage" doivent être à peu près les mêmes dans chaque bassine. (On peut définir d'avance le nombre de cuillérées de sable à installer par chaque équipe) Mesurer si besoin la hauteur de sable à l'aide de la règle. - retourner les pots de yaourt, ouverture vers le bas, et les "planter" légèrement sur la plage, au même niveau dans toutes les bassines.  +, Expliquer les consignes aux participants : Les pots de yaourt représentent des constructions sur la côte, illustrée par le sable. A cause du réchauffement climatique, le niveau de la mer va monter d'année en année ! Le défi consiste, pour chaque équipe, à imaginer et mettre en place, à l'aide du matériel mis à disposition, une stratégie pour que les constructions ne soient ni détruites ni inondées, et pour protéger la côte (le sable) du mieux possible, car de l'eau va être ajoutée pour faire monter de plus en plus "la mer" dans les bassines. Pour cela, les équipes disposeront d'un temps limité, 10 ou 15 minutes par exemple. Pendant ce temps, les équipes sont autorisées à ajouter des élements, à déplacer les pots si elles le souhaitent, mais pas à enlever le sable de la bassine, ni à ajouter de l'eau. Une fois le temps de construction/modification des côtes écoulé, demander aux équipes de placer leurs bassines côté à côte (avec précautions !). Ajouter ensuite lentement de l'eau dans les bassines, du côté opposé au sable, pour faire monter le niveau. Observer et comparer l'impact de la montée de l'eau dans les bassines à 1cm de hauteur d'eau, puis ajouter de l'eau pour atteindre 2cm, observer, comparer, 3cm... Si l'on est particulièrement joueurs, en fin d'expérience on peut également tester l'effet des tempêtes ajouté à celui de la montée des eaux, en créant des vagues à l'aide de la cuillère. Observer et comparer le résultats dans les différentes bassines. L'équipe qui gagne le défi est celle dont les pots de yaourt restent en place et dont le papier qu'ils contiennent reste sec le plus longtemps. On peut ajouter d'autres critères d'évaluation, notamment pour départager des équipes ex aequo : la plage la mieux protégée, ou encore les constructions qui dénaturent le moins le paysage d'origine... Remarque : Certaines équipes peuvent avoir mis en place une stratégie originale (bien qu'autorisée, selon les consignes !) en retirant les pots avant la montée de l'eau, parfois sans effectuer d'autre opération. Si d'autres équipes effectuent des constructions/ modifications, ne pas intervenir, car c'est une stratégie comme une autre ! En revanche si toutes les équipes décident de retirer les pots, cela diminue l'intérêt de la comparaison. Dans ce cas, proposer de dédier une seule bassine "collective" au test de cette stratégie, qui sera évaluée à la fin du défi, et de tester dans les autres des aménagements/constructions au choix de chaque équipe.  , Prévoir suffisamment de matériel pour regrouper les participants en équipes de 2 à 4, chacune recevra le même matériel. <br/> *Une bouteille ou bassine pour verser l'eau (1 suffit pour tout le groupe *De l'eau *De grandes bassines (une par équipe. On peut aussi utiliser des caisses de rangement en plastique) *Plusieurs bassines, récipients plus petits (bols, assiettes creuses, barquettes...) ou sacs pour y placer le sable, le gravier... *Du sable : de préférence préparer une petite bassine par équipe, contenant la même quantité de sable *Du gravier : même chose, préparer la même quantité prévue pour chaque équipe dans un récipient *Des pots de yaourt (2 ou 3 par équipe) *Des cuillères à soupe (1 par équipe) *Du papier *De nombreux bâtons de différentes tailles et épaisseurs (ou sinon des allumettes, cure-dents, pics à brochettes...) *Des bouchons de liège (ou autre matériau qui flotte) *Des ciseaux *Du carton *De la ficelle *Une règle (en option) N.B. : Le matériel et le nombre d'éléments utilisés peut varier selon ce qui est disponible... et l'imagination. Il est conseillé d'utiliser en priorité des matériaux naturels, gratuits et compostables, qui pourront être réutilisés ou remis dans le milieu naturel après l'expérience, et/ou des objets et matériaux de récupération, de préférence réutilisables ou recyclables.  +
Suivant le nombre de participants, le défi peut se réaliser par équipe de 2 ou 3. Dans ce cas, chaque équipe recevra 1 carré éponge, un verre transparent (idéalement verre doseur), une quantité d'eau, identique à chaque groupe. Préparer également une table avec du matériel à disposition pour tous les participants : du scotch, du journal, des ciseaux, des cure-dents, de la pate à fixe, des rouleaux de papier toilette, des feuilles, de la mousse, du papier, du cellophane... N.B. : Les éléments utilisés peut varier selon ce qui est disponible... et l'imagination. Il est conseillé d'utiliser en priorité des matériaux naturels, gratuits et compostables, qui pourront être réutilisé ou remis dans le milieu naturel après l'expérience, et/ou des objets et matériaux de récupération, de préférence réutilisables ou recyclables.  +, Chaque équipe sera en charge de s'assurer que son champ, représenté par un carré éponge, reste le plus humide possible. Prévenir qu'une averse va arriver, arrosant tous ces champs, mais qu'ensuite, ils resteront exposés au soleil. <br/>  +, Le défi consiste, pour chaque équipe, à imaginer et mettre en place, à l'aide du matériel mis à disposition, une stratégie pour que son champ reste le plus humide possible. Pour cela, elle peut choisir de quel type de paysage sera sa culture, par la présence ou non de haies bocagères (réalisées en cure-dents et papier journal par exemple), mettre en place des récupérateurs d'eau de pluie avec des bouchons.  +,
En amont, préparer des glaçons : vous pouvez utiliser des petits pots de yaourt afin d’avoir des glaçons suffisamment gros (pour qu’ils ne fondent pas trop vite). Suivant le nombre de participants, le défi peut se réaliser par équipe de 2 ou 3. Dans ce cas, chaque équipe recevra 1 plaque de carton, un morceau de sac poubelle (un peu plus grand que la taille du carton) et un bouchon large, type bouchon de bouteille de lait ou de bocal. Préparer également une table avec du matériel à disposition pour tous les participants : du scotch, du journal, des ciseaux, de l’aluminium, des cure-dents, de la pate à fixe, des rouleaux de papier toilette, des feuilles, de la mousse, du polystyrene, du tissu, du papier, de l’eau... N.B. : Les éléments utilisés peut varier selon ce qui est disponible... et l'imagination. Il est conseillé d'utiliser en priorité des matériaux naturels, gratuits et compostables, qui pourront être réutilisé ou remis dans le milieu naturel après l'expérience, et/ou des objets et matériaux de récupération, de préférence réutilisables ou recyclables. <br/>  +, Chaque équipe va réaliser son support. Pour cela scotcher un morceau de sac poubelle sur sa planche de carton. Poser un bouchon au mileu de la surface, il recevra le glaçon à la fin de la construction Vous pouvez également préparer une surface de plus qui servira de planche témoin.  +, Le carton représente la terre. Le sac poubelle représente le bitume. Le glaçon représente un bâtiment urbain. En étant exposé au soleil, ce dernier va fondre. Le défi consiste , pour chaque équipe, à imaginer et mettre en place, à l'aide du matériel mis à disposition, une stratégie pour que son glaçon fonde le moins possible. Pour cela, les équipes disposeront d'un temps limité, 20 minutes par exemple. Pendant ce temps, les équipes sont autorisées à ajouter des élements, à découper dans le sac poubelle pour « désimperméabiliser » leur sol mais elle ne peuvent pas l’enlever entièrement. Une fois le temps de construction écoulé, demander aux équipes de placer leurs terrains côté à côte en plein soleil (avec précautions !). Ajouter ensuiter le glaçon et laisser au soleil pendant 1h.  +,
Un boitier de 3 piles de 4,5 V, une ampoule de 3,5V et des pinces crocodiles sont distribués à chaque enfant (ou groupe).  +, Les enfants utilisent le matériel et expérimentent différentes méthodes pour allumer l'ampoule. Pendant le défi, il peut être intéressant de demander aux enfants de dessiner tous leurs essais, y compris ceux qui ne fonctionnent pas.  +
Déballer les papillotes, Enlever les papiers avec les blagues, Mettre les feuilles "Défis papillotes débrouillardises" et remballer les friandises. Dans les fichiers vous trouverez : - Les défis / énigmes - Les réponses aux défis / énigmes  +
Pour réaliser l'expérience on remplit les deux verres: l'un en glaçons et l'autre en eau bouillante. -On lève les deux mains dans l'air puis on les passe lentement l'une au-dessus du verre d'eau chaude et l'autre main au-dessus du verre de glaçons. -On fait la même chose que précédemment mais cette fois-ci on place les mains en-dessous des verres de glaçons et d'eau chaude.  +
'''Cette étape, facultative, n’est à réaliser que par deux adultes sachant nager munis de bottes et de gants, dans une rivière peu profonde. Idéalement l’un doit rester sur la berge et surveiller pendant que le deuxième se livre à la capture'''. Si un cours d’eau se trouve à proximité, il est possible d’aller capturer des macro-invertébrés d’eau douce. Pour y parvenir, il est nécessaire de se munir d’une épuisette pour aquarium. Se rendre au cours d’eau et passer l’épuisette à différents endroits du cours d’eau afin de capturer des macro-invertébrés d’eau douce. Les endroits dans lesquels on trouve le plus d’individus sont les racines des arbres situées sous l’eau et la végétation aquatique. Les macro-invertébrés sont à conserver, le moins longtemps possible, dans un bocal plein d’eau de la rivière et à l’ombre, pour les maintenir en vie. Veiller à ce que les phases d’observation durent le moins de temps possible. Relâcher ensuite les individus observés approximativement à l’endroit où ils ont été capturés. Trouver en illustration ci-contre des images de filet Surber et de son utilisation pour la capture de macro-invertébrés lors d'étude de la qualité de l'eau.  +, À n'importe quelle étape du processus, ne pas hésiter à vous référer à cette annexe afin de mieux comprendre comment fonctionne la classification et obtenir des informations sur les taxons.  +, Placer les individus capturés sous le microscope USB, le cas échéant. Pour rappel, il s’agit d’êtres vivants. L’idéal étant de les maintenir dans une goutte d’eau et de les laisser le moins longtemps possible sous le microscope. Les relâcher ensuite le plus vite possible.  +,
E
* Mélanger le colorant avec l'eau de la petite bouteille.   +, * Remplir le bac à glaçons de cette eau.   +, * Placer le bac à glaçons dans le congélateur.   +,
* Gonfler et fermer le ballon de baudruche.   +, Frotter le ballon contre des cheveux/un pull.  +, * Approcher le ballon du filet d'eau et observer.   +,
Placer un thermomètre sous chaque saladier. Attendre en regardant régulièrement les thermomètres. Qu'observes-tu ?  +, '''Versions 1&2 :''' Placer chacun des deux saladiers retournés, sous un projecteur (ou une lampe chauffante). '''Version 3 :''' Poser un glaçon dans chaque gobelet <br/>  +, '''Version 1 :''' Dans un saladier, introduire un verre avec du vinaigre et du bicarbonate. Il n'y a rien à placer dans le second saladier. '''Version 2 :''' Dans un saladier introduire de la fumée d'encens, ainsi qu'un coton humidifié. Dans le second saladier, introduire uniquement un coton humidifié. '''Version 3 :''' Poser le bocal en verre sur l’un des gobelets, la gaze sur un autre et un gros paquet de coton sur le 3<sup>e</sup>. Disposer les gobelets au soleil ou sous une lampe et observer attentivement. '''Quel est le glaçon qui fond en premier ?'''  +
Approcher la vis du trombone. Que se passe-t-il ?  +, Enrouler le fil de cuivre minutieusement autour de la vis pour former une bobine. Commencer par l'extrémité opposée à la tête de la vis. Laisser environ 10cm dépasser. Enrouler jusqu'au bout et fixer avec un bout de scotch.  +, Continuer d'enrouler le fil de cuivre, dans l'autre sens cette fois ! Enrouler jusqu'au bout en laissant un petit bout de la vis apparent. La bobine est terminée. Fixer avec du scotch.  +,
* Remplir le récipient (bassine, bocal, ...) avec de l'eau et y ajouter l'électrolyte (ici, nous utilisons du sel). * Prendre les deux clous ou les deux tiges de métal choisies et les placer dans chacun des tubes à essai (le but étant de récupérer l'hydrogène produit par l'électrolyse). <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Choisissez de préférence, un clou (ou une tige) en cuivre ainsi qu'un clou en zinc.</div> </div><br/> * Brancher la pointe équipée du récupérateur (tube à essai) sur le pôle (-), la cathode, c'est là que l'hydrogène sera récupéré. <div class="icon-instructions pin-icon"> <div class="icon-instructions-icon"><i class="fa fa-thumb-tack"></i></div> <div class="icon-instructions-text">n°1 sur le schéma</div> </div><br/> * Brancher l'autre pointe équipée du récupérateur (tube à essai) sur l'autre pôle (+), l'anode, c'est là que sera récupéré l'oxygène. <div class="icon-instructions pin-icon"> <div class="icon-instructions-icon"><i class="fa fa-thumb-tack"></i></div> <div class="icon-instructions-text">n°2 sur le schéma</div> </div><br/> * Attendre et observer. ''Que se passe-t-il ?''   +
Plonger une semaine à l'avance des clous rouillés dans du vinaigre blanc ou de l'eau afin d'obtenir une solution d'oxyde de fer  +, récolter quelques feuilles d'arbres ou de plante fraîche, certaines pour laisserons de belle empreinte verte grâce à la chlorophylle et d'autre noircirons au contact de l'oxyde de fer.  +, Le premier bac est rempli d'oxyde de fer qui, en entrant au contact du Tanin, l'oxydera et lui fera prendre une couleur noire. Le deuxième contient de l'eau savonneuse, ce qui permettra de laver le tissu et d'enlever l'odeur du vinaigre. Le troisième sert au rinçage du second  +,
'''Mettre à disposition plusieurs produits et emballages, par exemple :''' savon, gel douche, pomme, emballage 'Pom Pote", bocal de compote, pain, paquet de céréal, pot de Nutella, emballage McDonald's / KFC / Burger King, vieux téléphone portable, boîte de gâteaux, boîte de jus de fruits, ... Chaque groupe choisi un produit de la liste ci-dessus.  +, Suite à ce travail de recherche et d'investigation, les participants échanges sur leurs produits, et se questionne sur LA matière première commune entre tous ces produits et qui a pu être utilisée lors d'une ou plusieurs des étapes. ''Alors ? Avez-vous trouvé ?''  +, Il existe différents logos ou icônes sur nos emballages mais nous ignorons généralement leur vraie signification. ''Rendez-vous [https://www.easyrecyclage.com/blog/a-quoi-correspondent-les-logos-de-vos-emballages/ ICI] pour en savoir plus.''<br/>  +,
Percer la cartouche d'encre effaçable et vide la dans un bocal d'eau chaude, remue à l'aide de la petite cuillère. Que se passe-t-il ?  +, Ajouter maintenant un peu de vinaigre dans le bocal. Que remarque-t-on ?  +, Mélange maintenant du bicarbonate de soude dans le bocal ! Qu'observe-t-on ?  +
Préparez plusieurs petits récipients contenant les différents produit à tester. Dissoudre les poudres dans de l’eau. On a donc au total 6 pots : - du jus de citron - 1/2 cuillère à café de bicarbonate mélangé avec 2 cuillère à soupe d’eau - 1/2 cuillère à café de sel mélangé avec 2 cuillère à soupe d’eau - 1/2 cuillère à café de sucre mélangé avec 2 cuillère à soupe d’eau - du vinaigre - de l’eau <div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Notez sur votre récipient le produit que vous y avez mis afin de vous en rappeler</div> </div><br/>  +, Utilisez le coton tige comme un pinceau : trempez le dans une des solutions et écrivez/dessinez un message sur votre feuille. Utilisez des cotons tiges différents pour chaque produit ou nettoyer votre pinceau quand vous changez de produit afin de ne pas fausser les résultats de votre expérience ! Testez les différentes solutions ; nous verrons bien à la fin de l’expérience laquelle fonctionne mieux. <div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Notez à l’aide d’un crayon ou d’un stylo le produit que vous avez utilisé dans un coin de votre feuille afin de vous en rappeler</div> </div><br/>  +, Avec de la patience… … ou un sèche cheveux !  +,
L'animateur étale sur la table différentes photos/images montrant des situations d'enfants et/ou de familles face aux écrans : - à la maison ou à l'école - face à la télévision, aux smartphones, aux tablettes, aux consoles de jeux vidéos, ... Chaque participant choisit une ou plusieurs images de son choix, qui le font réagir. Tour à tour, les participants expliquent pourquoi ils ont choisi cette image et ce que cela leur évoque.  +, Une fois la discussion amorcée grâce au photolangage, les participants échangent sur leur pratiques face aux écrans. <br/><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">L'animateur doit rester dans une posture de facilitateur de parole et de modérateur. Il ne doit pas avoir un discours moralisateur ou accusateur.</div> </div><br/>  +, L'animateur propose de faire une expérience expliquant la persistance rétinienne. (voir les liens ci-dessous)  +,
=== '''Gédéon et le poids de ses billes''' === ==== '''Le problème de Gédéon''' ==== Gédéon est en possession de 10 sacs contenant chacun des billes en grand nombre (plus de 10 billes dans chaque sac). Chacune des billes pèse 10 grammes, sauf celles d'un de ces sacs, qui pèsent toutes 9 grammes. Impossible de différencier les billes de 10g et celles de 9g, sauf en utilisant une balance. Seulement, Gédéon ne peux utiliser sa balance qu'une seule fois. Il souhaite donc déterminer en une seule pesée quel sac contient les billes les plus légères.  +, Je conseillerais à Gédéon de ranger ses 10 sacs en ligne. * dans le premier il prend 1 bille * dans le second, 2 billes * dans le troisième, 3 billes * ... * dans le neuvième, 9 billes * et dans le dixième ... non merci ça ira ! Il pèse les 1+2+3+4+5+6+7+8+9 = 45 billes. S'il obtient : * 449g, alors les billes de 9g sont dans le premier sac (1X9g + 2X10g + 3X10g + 4X10g + 5X10g + 6X10g + 7X10g + 8X10g + 9X10g = 449g) * 448g, alors les billes de 9g sont dans le second sac * 447g, alors les billes de 9g sont dans le troisième sac * 446g, alors les billes de 9g sont dans le quatrième sac * 445g, alors les billes de 9g sont dans le cinquième sac * 444g, alors les billes de 9g sont dans le sixième sac * 443g, alors les billes de 9g sont dans le septième sac * 442g, alors les billes de 9g sont dans le huitième sac * 441g, alors les billes de 9g sont dans le neuvième sac * 450g, alors les billes de 9g sont dans le dixième sac !  +, Le cousin de Gédéon a eu une sacré mésaventure cet été ! Il faisait partie de 200 personnes, 100 avec les yeux bleus, 100 avec les yeux marrons. Tous étaient retenus prisonniers par un gourou magicien aux yeux verts, sur une île déserte. Tous ont perdu l'usage de la parole et ont oublié la couleur de leurs yeux car le gourou leur a jeté un sort. Les prisonniers peuvent se libérer s'ils sont certains d'avoir trouvé la couleur de leur yeux. À ce moment, ils sortent du cercle, et prennent un bateau qui les ramène chez eux. Le bateau quitte l'île tout les soirs. Le premier jour, le gourou fait asseoir tous les prisonniers en cercle et dit “Au moins une personne de ce cercle a les yeux bleus !” Les prisonniers ne connaissent pas la couleur de leurs yeux, ils ne savent pas combien de personnes ont les yeux marrons et combien ont les yeux bleus. Heureusement, tous les prisonniers étaient très fort pour résoudre des énigmes et tous ont réussi à se libérer. '''Comment ont-ils fait ? Au bout de combien de temps ?''' Récapitulons: - 201 personnes assises en cercle : le gourou + 200 prisonniers - Les prisonniers ne connaissent pas la couleur de leurs yeux et ne peuvent pas parler - Le gourou a les yeux verts - 100 prisonniers ont les yeux marrons - 100 prisonniers ont les yeux bleus - Les prisonniers ne connaissent pas la proportion d'yeux marrons et d'yeux bleus - Un bateau quitte l'île tout les soirs pour ramener les prisonniers libérés.  +,
Rien de bien sorcier ! <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Attention aux polarités du DHT11, il a tendance à fondre si l'alimentation est inversée !</div> </div>  +, Pour réaliser ce tutoriel, nous allons avoir besoin de deux bibliothèques : *Adafruit MQTT library *Adafruit DHT11 library Lors de l'installation l'interface Arduino va vous demander d'installer d'autres bibliothèques dépendantes, Installez les ! Référez vous au tutoriel "[[Importer des bibliothèques dans l'interface Arduino|comment ajouter des bibliothèques]]" si vous ne savez pas faire.  +, <nowiki>Tout est dans le titre, récupérez le code dans Arduino<br /><br /><br />Et modifiez le code à votre sauce ! <br /><br />modifiez cette ligne avec vos paramètres réseau :<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno">16 </span><span class="cm">/************************* Configuration pour le Wifi *************************************************/</span><br /><span class="lineno">17 </span><br /><span class="lineno">18 </span><span class="cp">#define WLAN_SSID "SFR_06A8" </span><span class="c1">//nom SSID dde votre réseau WIFI</span><br /><span class="lineno">19 </span><span class="cp">#define WLAN_PASS "123456789" </span><span class="c1">// Clef Wifi</span><br /></pre></div><br /><br /><br />Ainsi que ces lignes avec vos identifiants AdafruitIO :<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno">21 </span><span class="cm">/************************* Configuration pour utiliser MQTT Adafruit *********************************/</span><br /><span class="lineno">22 </span><br /><span class="lineno">23 </span><span class="cp">#define AIO_SERVER "io.adafruit.com"</span><br /><span class="lineno">24 </span><span class="cp">#define AIO_SERVERPORT 1883</span><br /><span class="lineno">25 </span><span class="cp">#define AIO_USERNAME "ratjulien" </span><span class="c1">//Votre nom d'utilisateur</span><br /><span class="lineno">26 </span><span class="cp">#define AIO_KEY "aio_Uzxs488uNBAvsf6b9RU2tz7j781v" </span><span class="c1">//Votre clef AdafruitIO suivez ce tuto pour récupérer ces infos https://www.wikidebrouillard.org/wiki/Cr%C3%A9er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn%C3%A9es_dans_le_web</span><br /></pre></div>Et enfin cette ligne avec vos propres flux de données (feeds) :<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="lineno">33 </span><span class="cm">/****************************** Création des flux de données ****************************************/</span><br /><span class="lineno">34 </span><br /><span class="lineno">35 </span><span class="n">Adafruit_MQTT_Publish</span> <span class="n">temp</span> <span class="o">=</span> <span class="n">Adafruit_MQTT_Publish</span><span class="p">(</span><span class="o">&</span><span class="n">mqtt</span><span class="p">,</span> <span class="n">AIO_USERNAME</span> <span class="s">"/feeds/temperature"</span><span class="p">);</span> <span class="c1">// Création des Objets temp et hum, renseignez les chemins de vos flux de donnée</span><br /><span class="lineno">36 </span><span class="n">Adafruit_MQTT_Publish</span> <span class="n">hum</span> <span class="o">=</span> <span class="n">Adafruit_MQTT_Publish</span><span class="p">(</span><span class="o">&</span><span class="n">mqtt</span><span class="p">,</span> <span class="n">AIO_USERNAME</span> <span class="s">"/feeds/humidite"</span><span class="p">);</span> <span class="c1">// ici c'est /feeds/temperature et /feeds/humidite conformément au tuto https://www.wikidebrouillard.org/wiki/Cr%C3%A9er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn%C3%A9es_dans_le_web</span><br /></pre></div><span> </span><br /><br/></nowiki>  ,
Pour envoyer les données, le microcontrôleur doit être connecté à Internet. Pour cela, utilise le bloc Connexion au réseau wifi. Mets le tout au début de ton programme. <br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Ici, nous mettons le bloc de connexion dans le même fichier que le reste de programme. Il est aussi possible de mettre ce bloc dans le fichier boot.py pour que le microcontrôleur se connecte au démarrage.</div> </div><br/>  +, Dans un premier, il faut vérifier que les données arrivent bien sur notre site. Pour cela, va dans la barre de navigation, section EasyMQTT. Normalement, tu devrais voir les données sur un graphique. Si ce n'est pas le cas, vérifie que : <br/> * Ton programme est bien en cours d'exécution 😜 * Le microcontrôleur est bien connecté à Internet. * Tu as bien mis des données à envoyer dans ton bloc. Si tu vois les données, alors tu peux passer à la partie suivante. <br/>  +, Freeboard est l'interface qui te permet de visualiser les données avec différents styles de graphique. Dans la barre de navigation, va dans l'onglet Freeboard. Tu vas devoir ajouter une source de donnée. Appuie sur le bouton Ajouter en dessous du texte Sources de données. <br/> * Le type : BIPES EasyMQTT * Le nom : à toi de choisir un nom qui correspond * Le topic : ici, mets le nom que tu as donné à ton sujet dans le bloc de publication. Tu vas ensuite ajouter un graphique pour voir la donnée. Clic sur Ajouter un panneau, puis, dans le panneau qui est apparu, appuie sur le bouton ➕. Choisis le type Gauge (je te laisse découvrir les autres 😉) Dans value choisis, clic sur ➕Source de donnée et ensuite : Nom de ton '''''sujet --> result --> 0 --> data''''' Et voilà, tu sais maintenant comment envoyer des données et les afficher, bravo ! 🏆  +,
- Place le bac en plastique rectangulaire dans un évier. - Remplis ton verre d’eau et verse-le dans le bac en plastique. En comptant celui que tu viens de verser, combien faut-il de verres d’eau pour que le bac commence à déborder ? Note ta réponse sur une feuille. - Vide ton bac dans l’évier. - Place, à l’aide des deux bâtons, ta grosse éponge essorée sur le bac. À nouveau, remplis ton verre d’eau '''et verse-le sur l’éponge.''' En comptant celui que tu viens de verser, combien faut-il de verres d’eau pour que le bac commence à déborder ? Note ta nouvelle réponse sur une feuille. - Compare les 2 chiffres. '''Lorsqu’il y a une éponge, as-tu besoin de plus ou de moins de verres d’eau pour faire déborder le bac ? À ton avis, à quoi peuvent correspondre le bac, le verre d’eau et l’éponge dans la nature ?''' Tu peux ensuite essayer l’expérience avec une éponge très sèche. Que se passe-t-il lorsque tu verses l’eau dessus ?  +, <u>Tu peux réaliser une variante à cette expérience.</u> <u>''Avant de débuter l'expérience :''</u> - Il est important que les éponges soient bien sèches. Si ce n'est pas le cas, place-les au soleil (ou sur un radiateur) et attends le temps nécessaire pour que toute l'eau se soit évaporée. - Si la pâte à modeler que tu utilises n'est pas conditionnée sous forme de bâtonnets, commence par réaliser 10 cylindres de même taille. ''<u>Commence par installer ton expérience :</u>'' - Dispose les bâtonnets de pâte à modeler sur la planche en formant deux lignes de façon à délimiter un chemin traversant tout le côté le plus long de la planche. Fais attention à laisser des espaces entre chaque bâtonnet, ils ne doivent pas être collés ! - Place les deux éponges de chaque côté du chemin ainsi créé, à l'extérieur de celui-ci et à peu près au centre de la planche. - Mouille une des deux éponges de façon à ce qu'elle soit bien détrempée, puis essore-la soigneusement, avant de la remettre en place. - Place la planche dans l'évier ou ta bassine en l'inclinant de telle sorte que l'eau puisse couler aisément de haut en bas le long du chemin délimité par la pâte à modeler. Tu peux caler les deux éponges avec de la pâte à modeler pour éviter qu'elles ne glissent. <u>''Tu es maintenant prêt.e à débuter l'expérience proprement dite !''</u> - Ouvre doucement le robinet ou verse le contenu d'une bouteille de façon à ce qu'un filet d'eau s'écoule en continu le long du chemin. - Observe à présent ce qu'il se passe lorsque l'eau déborde du chemin entre les bâtonnets de pâte à modeler.  +, Pour commencer, rassemble le matériel nécessaire à l'expérience : - un  bac en plastique rectangulaire - une grosse éponge essorée, un peu plus petite que le bac - une éponge très sèche - un verre d’eau - 2 bâtons (stylo, crayon en bois, pics à brochette…) - de l’eau - du papier OU <u>si tu veux réaliser la variante, rassemble le matériel nécessaire à l’expérience :</u> - une grande planche assez large, type planche à découper ou autre, en bois ou en plastique - de la pâte à modeler (environ 10 bâtonnets ou une quantité équivalente) - 2 éponges bien sèches - idéalement l'accès à un évier bien dégagé dans lequel l'expérience sera réalisée, sinon une grande bassine et plusieurs grandes bouteilles remplies d'eau du robinet feront l'affaire (dans ce cas il est préférable de faire l'expérience à l'extérieur afin d'éviter d'inonder la maison !). <br/>  +
1ère étape : Le défi est de trouver les différents moyens possibles pour que la règle soit en équilibre. Dernière étape : Le défi ultime c'est d'avoir 1cm maximum de règle sur la table et le marteau sous la table *Placer la tête du marteau sous la table. *Seul le bout de la règle repose sur le bord de la table.  +, * La règle est dans le prolongement de la table * Le marteau ne touche pas la table * L'ensemble tient sans aide   +, <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Éviter les élastiques trop distendus, trop grands, trop lâches</div> </div>  +
*1 '''petite''' bouteille plastique ou un petit verre shooter (l'important est que le goulot soit étroit et le récipient petit) 1 feuille de papier à dessin avec largeur égale ou dépassant 3 fois la hauteur de la bouteille *1 compas et un crayon gris pour tracer ton cercle *1 règle pour tracer un trait droit *Du ruban adhésif et une paire de ciseaux *1 planche à découper ou 1 plaque de four ou 1 plateau pour éviter les débordements *1 petit récipient et une cuillère à soupe pour faire ton mélange *du vinaigre *du bicarbonate *du liquide vaisselle Facultatif : *de la peinture pour décorer ton volcan *du colorant pour colorer l'éruption *un entonnoir Pour aller plus loin : *2 petits pots en verre (pot à yaourt par exemple) *2 récipients plus grands que les petits pots en verre *Un verre doseur *Farine   +, #Mesure ta bouteille ou ton petit récipient #Sur la feuille de papier à dessin, trace un cercle de rayon 1,5 fois la hauteur de la bouteille (ça fait la hauteur de la bouteille plus la moitié de la hauteur de la bouteille). #Trace un second cercle dans le premier avec le même centre et un peu plus grand que le goulot de la bouteille. #Trace une droite en partant du centre jusqu'au cercle le plus grand. #Découpe avec les ciseaux les traits que tu as tracé. Tu obtiens un disque fendu avec un trou au milieu. #Avec ce disque, forme un cône en papier au dessus de ton récipient en faisant dépasser le goulot. #Fixe le avec du ruban adhésif afin de former ton volcan. #Si tu le souhaites, peins et décore ton volcan.   +, #Verse du vinaigre dans le petit récipient (environ 1/3 du pot). #Ajoute quelques gouttes de colorant alimentaire si tu le souhaites. #Ajoute quelques gouttes de liquide vaisselle et mélange le tout avec la cuillère. #Mets 2 cuillère à café de bicarbonate dans la bouteille #C'est là que le spectacle commence : verse ton mélange coloré dans la bouteille et observe. <div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Pour verser plus facilement, tu peux t'aider d'un entonnoir ou plier le reste de ta feuille en papier pour créer une rigole.</div> </div> Que se passe-t-il ? <br/>   +,
Aide : Ne pas hésiter à mettre des pièges dans les indices "Oups toilettes". #Première partie : La première partie de l'expérience consiste à faire chercher le code aux enfants pour qu'ils puissant ainsi se familiariser avec Genial.ly tout en jouant. #Deuxième partie : Une fois le jeu résolu, nous passons à la deuxième étape : Créer son jeu. Pour cela : ##Amener les enfants à réfléchir sur Lockee, le type de cadenas qu'ils veulent (car il y en a pleins). ##Ensuite réfléchir à la thématique de leur point and click (couscous) ##Avec cela, leur montrer comment enregistrer une photo sur l'ordinateur et l'insérer dans un genial.ly. ##On partage tuto genial.ly préalablement imprimé, qu'ils liront --> Cela permettra plus d'autonomie. - Les accompagner petit à petit aussi si besoin ##La dernière étape sera de mettre leur cadenas quelque part ##Valorisation : Si les parents sont présents, il est possible des les faire jouer aux escapes games créés, sinon d'autres enfants testeront ou les animateur.ices.  +, #Soit utiliser notre genial.ly déjà créer. ##Voici le lien : https://view.genial.ly/61d572001d0f2b0ded9043cc/interactive-content-elysee #Soit créer son propre escape game ##Mettre peut-être lien vers tuto amélioré ##Mettre quelques explications Lockee avec photo et dire que c'est un logiciel libre générateur de cadenas et qu'il suffit de se balader. ##Réfléchir au contexte ###Nous c'est "Macron a besoin d'un code secret". ##Aller sur lockee. Commencer par créer le cadenas avec un code pour pouvoir ensuite réfléchir à la trame. ##Faire des liens entre les photos et créer des indices pour résoudre le code tout au long de l'escape game. <br/>   +
<br/> *Présenter brièvement les photos sans révéler les communes photographiées, indiquer les années où les photos ont été prises *Prendre l'une des photos et s'exercer collectivement à identifier quelques éléments visibles : mer, plages, rochers, routes, ports... *Poser les photos en ordre aléatoire sur la table et demander aux participants de reconstituer chaque paire : le même lieu photographié dans les années cinquante (photo en noir et blanc) et dans les années 2010 (photo en couleur). Discuter collectivement les choix. On peut interroger les participants pour savoir s'ils reconnaissent certains lieux, notamment ceux près desquels ils habitent. Révéler les communes présentées en photo, en retirant les notes autocollantes.  +, Rassembler et préparer le matériel nécessaire : <br/> *des feuilles de papier *des pochettes transparentes (une par commune étudiée). *des notes autocollantes (autant que de photos) *des marqueurs effaçables, de préférence de couleurs différentes *télécharger et imprimer en couleurs les photos aériennes Prises par l'IGN (Institut national de l'information géographique). Les photos de huit communes sont disponibles au téléchargement ici : Brest (photographiée au [https://wikidebrouillard.dokit.app/images/0/0b/Evolution_du_trait_de_c_te_brest-XXe.jpg XXe] et au [https://wikidebrouillard.dokit.app/images/4/49/Evolution_du_trait_de_c_te_brest-XXIe.jpg XXIe] siècle), Lorient ([https://wikidebrouillard.dokit.app/images/e/e4/Evolution_du_trait_de_c_te_lorient-XXe.jpg XXe] et [https://wikidebrouillard.dokit.app/images/6/6a/Evolution_du_trait_de_c_te_lorient-XXIe.jpg XXIe] siècle), Arzal ([https://wikidebrouillard.dokit.app/images/0/0c/Evolution_du_trait_de_c_te_arzal-XXe.jpg XXe] et [https://wikidebrouillard.dokit.app/images/c/c4/Evolution_du_trait_de_c_te_arzal-XXIe.jpg XXIe] s.), Roscoff ([https://wikidebrouillard.dokit.app/images/4/4b/Evolution_du_trait_de_c_te_roscoff-XXe.jpg XXe] et [https://wikidebrouillard.dokit.app/images/5/5f/Evolution_du_trait_de_c_te_roscoff-XXIe.jpg XXIe]), Etel ([https://wikidebrouillard.dokit.app/images/4/40/Evolution_du_trait_de_c_te_etel-XXe.jpg XXe] et [https://wikidebrouillard.dokit.app/images/7/7d/Evolution_du_trait_de_c_te_etel-XXIe.jpg XXIe]), St Cast-Le-Guildo ([https://wikidebrouillard.dokit.app/images/e/ee/Evolution_du_trait_de_c_te_st_cast-XXe.jpg XXe] et [https://wikidebrouillard.dokit.app/images/2/28/Evolution_du_trait_de_c_te_st_cast-XXIe.jpg XXIe]), Groix ([https://wikidebrouillard.dokit.app/images/3/34/Evolution_du_trait_de_c_te_groix-XXe.jpg XXe] et [https://wikidebrouillard.dokit.app/images/7/74/Evolution_du_trait_de_c_te_groix-XXIe.jpg XXIe]), le Vivier sur Mer ([https://wikidebrouillard.dokit.app/images/4/42/Evolution_du_trait_de_c_te_le_vivier_sur_mer-XXe.jpg XXe] et [https://wikidebrouillard.dokit.app/images/7/79/Evolution_du_trait_de_c_te_le_vivier_sur_mer-XXIe.jpg XXIe]). On peut choisir d'autres communes côtières et télécharger ou faire des captures d'écrans des photos aériennes sur le site https://remonterletemps.ign.fr .Conseil : prévoir au moins une commune différente par binôme de participants. *découper si besoin les photos pour séparer les photos récentes (XXIe siècle, en couleurs) et les photos anciennes (XXe siècle, en noir et blanc) *glisser chaque photo dans une pochette transparente de préférence numérotée à l'aide des notes autocollantes *coller une note autocollante sur le nom des communes pour les masquer  , *Choisir une paire de photos d'un même site à analyser collectivement, pour l'exemple *Répartir les autres photos parmi les participants : une paire de photos d'un même site par binôme *Comparer, sur l'exemple choisi, la photo ancienne et la photo récente. Repérer notamment les principales zones construites, zones agricoles, plages et accumulations de sédiment (sable et vase, visibles en blanc, beige ou brun). Inviter le groupe à observer ses propres photos. *A l'aide d'un marqueur, tracer sur la pochette transparente les limites des principales zones construites (villes, ports, parkings, ponts, barrages...), dans une même couleur, par exemple en rouge. Tracer les limites des principales zones agricoles dans une autre couleur (ici en vert), et celles des principales accumulations de sable et de vase, ainsi que les limites de la côte, en bleu. Le groupe réalise la même opération sur toutes les photos. *Pour chaque paire, retirer les photos de leurs pochettes transparentes, et intervertir les photos ancienne et récente en échangeant leurs pochettes, pour faire ressortir les grands changements apparus depuis le milieu du XXe siècle. On peut également poser les deux pochettes côte à côte sur une feuille blanche pour montrer quelles zones ce sont étendues ou ont régressé en quelques décennies et quels éléments sont apparus. *Proposer aux binômes de venir présenter les photos de leur commune d'étude et leurs observations. *Discuter : Quels changements observe-t-on ? Retrouve-t-on les mêmes changements dans toutes les communes ? Qu'est-ce qui a pu causer ces changements ? Sont-ils naturels ou liés aux activités humaines ?   +
Prends un ballon. Dessine dessus des étoiles. Repère bien l'emplacement des étoiles les unes par rapport aux autres.  +, Gonfle encore ton ballon. Que s'est-il passé pour les étoiles ?  +, Gonfle le ballon un peu. Regardes où sont les étoiles. Que constates-tu ?  +
Il vous faudra aussi de l hydroxyde de sodium du glucose et du bleu de méthylène en poudre Prenez 250 ml d'eau ajoutez y 2,4 g d hydroxyde de sodium, 4 g de glucose et une pincée prélevée à l'aide d une pince à épiler de bleu de méthylène Mélanger les ingrédients à l eau Laisser reposer jusqu'à décoloration La solution est prête <br/>  +, Il suffit de mettre la solution dans la bouteille de la fermer et de l agiter la solution deviendra bleue il suffit de la laisser reposer un peu et elle va se décolorer L experience peut être refaite jusqu a épuisement du glucose dans ce cas vous pouvez en rajouter et recommencer  +
Utilisez le matériel de votre choix, en vous inspirant si vous le souhaitez de la liste proposée dans l'étape 1. Créez ou non une histoire. Préparez le décors et les personnages que vous utiliserez pour l'animation. La seule limite est votre créativité!  +, Décomposez les mouvements de vos objets. Plus ils seront lents et décomposés, plus l'effet de l'animation sera saisissant.  +, Quelques information complémentaires sur le matériel utilisé. <u>'''Le matériel de prise d'images et de traitement de l'animation:'''</u> - un ordinateur - objet pouvant prendre des images, un appareil photo, un téléphone, l'idéal étant une webcam puisqu'elle peut-être directement reliée à l'ordinateur - éventuellement un petit trépied ou un "gorilla pod" (comme sur la photo) pour surélever la caméra et éviter qu'elle ne bouge, à défaut un sac de haricot ou une boite peuvent très bien suffire ! <u>'''Le matériel de création:'''</u> libre et facultatif - pâte à modeler - fil de fer - feuilles de papier - sable - paillettes, yeux mobiles - feutres, crayons, peinture - objets divers, jouets - êtres vivants capables de rester statiques - etc.  +,
L'élément important est le ballon qui représente le globe terrestre. On trouve différentes versions de globe gonflable de diamètre 50 cm, mais ce qui est important c'est que la valve de gonflage soit située au pôle nord. Il est également important que les pays soient à peu près bien représentés avec si possible leurs capitales. De même, fuseaux horaires et parallèles doivent être représentés. Pour animer ce globe en rotation il faut également un support constitué d'une base carrée de 30 cm x 30 cm et d'une potence. Sur la base du support est fixé un motoréducteur OPITEC qui supporte le globe par son pôle Sud et le fait tourner autour de son axe Nord-Sud. Au pôle Nord la valve de gonflage est retenue par une boucle qui se termine par un axe. Dans la réalité, l'axe de la terre est incliné de 23° par rapport au plan de l'écliptique, ce qui est réalisé ici par une cale de hauteur 12 cm. Pour l'expérimentation on a également besoin de repères figurant la séparation jour-nuit. C'est le rôle des deux tiges filetées de diamètre 4 mm fixées verticalement sur deux supports en bois. Et enfin, le chronomètre qui permettra de mesurer les durées des jours et des nuits....  +, La figure 1 montre le montage global avec la cale de 12 cm à l'avant, ce qui provoque l'inclinaison de l'axe de rotation du globe de 23°(figure 4), comme dans la réalité. La figure 2 détaille le motoréducteur OPITEC avec sa fixation au ballon. Le réducteur doit être adapté pour que le globe fasse typiquement 1 tour par minute. Mais aucune valeur précise n'est requise. Dans notre cas par exemple la rotation s'effectue environ en 64 secondes. La figure 2 détaille également le couplage entre le motoréducteur et le ballon, au moyen de deux barreaux aimantés. Chaque barreau a une face collée avec du scotch double face. L'autre face sert à accoupler magnétiquement le ballon et le motoréducteur. La figure 3 détaille l'accrochage de la valve du ballon dans une boucle qui se termine par un axe tournant dans un trou percé dans la potence. Le léger appui sur le ballon est réglé et fixé par un système écrou / contre-écrou. <br/>  +, Les durées relatives du jour et de la nuit en fonction de la situation sur le globe ne sont qu'un contributeur des saisons. Un autre contributeur important est l'éclairement solaire en fonction de l'inclinaison des rayons sur le sol. En photométrie, l'éclairement correspond à la puissance lumineuse tombant sur une surface unité. Elle s'exprime en Watts / m2. Pour visualiser cet effet on a réalisé une source de lumière collimatée (rayons parallèles) éclairant une grille de trous régulièrement espacés (figure 1). Le soleil est évidemment une source de rayons contigus alors que notre source n'est qu'un échantillonnage espacé de ces rayons. Chacun de ces rayons transporte une certaine puissance élémentaire. Avec notre source nous mesurerons l'éclairement solaire sur une surface tout simplement en comptant le nombre de rayons arrivant sur une surface unité. Sur la figure 2 on a représenté la comparaison entre une incidence solaire de 0° (incidence normale) et une incidence solaire de 60°. On constate que pour une incidence de 60°, le nombre de rayons incidents est divisé par deux, ce qui signifie que la puissance reçue par unité de surface est également divisée par deux. On retrouve bien là la variation théorique de l'éclairement en fonction de l'incidence E = Eo x Cos (Incidence), sachant que Cos(60°) = 0.5  +,
F
*Pot de fleurs avec un trou ou une poubelle où il faudra percer un trou au fond (choisir la grandeur selon les besoins) *2 soucoupes (ou deux plats à tarte) : un pour le dessous et un qui servira de couvercle *Terre ou terreau *Une perceuse   +, Faire quelques <u>petits</u> trous sur la paroi à l’aide d’une perceuse (ce n'est pas obligatoire mais cela permet d'aérer le compost). On pose le pot sur une soucoupe qui sert à récupérer le thé du compost et l’autre soucoupe recouvre le pot. <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Si tu le mets dehors, le composteur doit être positionné à l’ombre pour éviter les odeurs dûes à la chaleur.</div> </div><br/>  +, > Mélanger une fois par semaine. > Couvrir les déchets que tu mets dans le composteur d’une pelleter de terre (n’importe quelle terre fera l’affaire). > Couper tous les déchets imposants en petits morceaux (exemple : épluchure de banane, bouquet fané, noyaux …). > Quand ton composteur est rempli, laisse-le reposer 3 jours. Au bout des trois jours, récupère le thé du compost. > Ensuite laisse encore reposer 3 ou 4 semaines avant de récupérer le compost. <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Le compost met du temps avant de se former il sera prêt lorsqu’on ne distinguera plus les déchets.</div> </div><br/>  +,
Arrivé à cette étape, la forme souhaitée de la montagne est réalisée. Il faut maintenant tracer la rivière et la creuser. Pour cela, utiliser le cutter et le papier à poncer (ou improviser avec d'autres outils, comme des limes à bois de menuisier). La rivière doit permettre à l'eau de bien s'écouler (tester la pente de la rivière avec une bille).  +, Lisser la maquette en ponçant avec du papier de verre au grain de plus en plus fin (par exemple 80, 120, 200).  +, Casser les angles pour donner la forme de la pente en les coupant au cutter. L’idée est de dégrossir le travail avant le ponçage. Poncer au papier de verre gros grain de préférence ou utiliser des limes à bois.  +,
Distribuer cette feuille sur papier épais à chaque enfant afin qu'il colorie l'abeille et y inscrive son nom.  +, L'enfant découpe ensuite l'abeille en suivant les pointillés noirs et l'alvéole en suivant la ligne noire.  +, Ensuite, on plie les lignes pointillés rouge vers l'intérieur et on colle les angles. On rassemble ensuite les alvéole afin de former une grande ruche.  +
Fais chauffer de l'eau dans une bouilloire. <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Attention la manipulation d'eau bouillante nécessite la présence d'un adulte.</div> </div><br/>  +, Remplis le bocal d'eau très chaude environ d'un tiers.  +, Remplis à présent l'assiette avec des glaçons.  +,
* Coupe le morceau de moustiquaire/grillage de la mếme dimension que celle du cadre. * Punaise - le au cadre en tirant bien.   +, *Remplis la bassine avec de l’eau tiède. *Déchire le papier en petits morceaux... *Laisse reposer quelques minutes puis mixer jusqu’à l’obtention d’une pâte. Il ne faut pas qu’il reste de gros morceaux de papier.   +, *Plonge le tamis dans la pâte, laissez filtrer l’eau. *Place un chiffon sur le tamis. *Sur une table, placez un deuxième chiffon. Retourne le tamis sur ce chiffon. Attention à cette étape ! Il faut être délicat pour que la feuille ne se casse pas pendant le transfert. <br/> *À l’aide d’une éponge, essore en « tapotant » avec une vieille éponge la pâte à travers le tissu. Enlève-le maximum d’eau ! *Enlève délicatement le premier tissus. *Enfin, laisse sécher la feuille obtenue toute une nuit. Une fois que la feuille est sèche, retire-la délicatement du tissu. Tu peux maintenant l’utiliser !   +
Mettre 1 L d’eau à chauffer avec 40 g de savon de marseille râpé ou en paillette. Mélange jusqu’à ce que le savon soit dissout.  +, Laisse tiédir quelques minutes puis ajoute 1 cuillère à café de bicarbonate de soude.  +, Laisse reposer 10 min avant de le verser dans un bocal ou une bouteille réutilisée.  +
Demander aux participant·e·s de former des groupes / les former pour elles/eux en fonction de la dynamique et leur âge.  +, Séparer les groupes dans l’espace. Leur présenter le jeu. « Je suis directeur·ice de publicité. Je veux faire une publicité pour ce produit, et j’aimerais faire deux publicités pour ça, chacune avec une stratégie différente. Je vais vous donner le produit et vous allez piocher une carte stratégie pour savoir ce que vous allez devoir faire. Vous allez avoir un temps limité pour inventer cette publicité. Vous voulez vendre ce produit en utilisant la stratégie que vous avez piochée. Ne la dites pas tout haut, l’autre équipe devra essayer de deviner laquelle c’est. Vous pourrez nous la présenter en utilisant la télé, en mimant ou en racontant " Prendre les cartes stratégies en format A4 et demander aux deux équipes respectives de choisir respectivement une carte stratégie. « Attention, garder bien votre stratégie pour vous. L’autre équipe devra deviner quel angle vous avez ! » Les participant·e·s peuvent utiliser des déguisements et accessoires  +, 10’ de préparation est donnée aux participant·e·s pour créer leur pub. On peut moduler de quelques secondes ou minutes en plus en fonction du rythme des participant·e·s tout en gardant cette rigueur du timer. L’animateur·ice passe dans les groupes vérifier que tout va bien.  +,
<nowiki>Ajouter 5 cuillères à soupe de lessive.<br /><br />Mélanger doucement avec la cuillère pendant 30 secondes.<br /><br /><br />Attention toutes les lessives ne fonctionnent pas ou n'ont pas le même rendu:<br /><br /><br /><table class="wikitable" cellspacing="0" cellpadding="0" border="1"><br /><tr><br /><th width="174">Fonctionne (''couleur'' de la lessive)<br /></th><th width="174">Ne fonctionne pas<br /></th></tr><tr><br /><td width="174" valign="top">'''Mir''' fini le tri (''bleue'')<br /></td><td width="174" valign="top">'''Persil''' peau sensible au savon de marseille<br /></td></tr><tr><br /><td width="174" valign="top">'''Le Chat''' sensitive au savon de marseille (''blanche'')<br /></td><td width="174" valign="top">'''Skip''' sensitive<br /></td></tr><tr><br /><td width="174" valign="top">'''Xtra''' total aloe vera et savon de marseille (''blanche'')<br /></td><td width="174" valign="top">simply '''Ariel'''<br /></td></tr><tr><br /><td width="174" valign="top">'''Le Chat''' l'expert Bicarbonate (''verte'')<br /></td><td width="174" valign="top">Gel Detergente '''Disiclin''' cuida de ti Ropa Blanca y de Color<br /></td></tr><tr><br /><td width="174" valign="top">'''Chanteclair''' Lessive Jardin des îles Fleurs de Monoï et Vanille (''bleue'')<br /></td><td width="174" valign="top">'''Omo''' Perles de parfum<br /></td></tr><tr><br /><td width="174" valign="top">'''X.Tra''' Total 2en1 Fraîcheur Minidou (''bleue'')<br /></td><td width="174" valign="top">'''Action → Gama''' pour blanc et couleurs<br /></td></tr><tr><br /><td width="174" valign="top">'''Super Croix''' Brésil Coco verde et fleur de passion (''vert'')<br /></td><td width="174" valign="top">'''Action → Subliem''' premium color wash<br /></td></tr><tr><br /><td width="174" valign="top">'''Persil''' Pure moments (''bleue'')<br /></td><td width="174" valign="top">'''Aldi → Tandil'''<br /></td></tr><tr><br /><td width="174" valign="top">'''Intermarché → Top budget''' lessive liquide (''bleue'')<br /></td><td width="174" valign="top">'''Leclerc → Marque Repère''' Xéor aux actifs d'origine végétale Fleur d'oranger et aloé vera<br /></td></tr><tr><br /><td width="174" valign="top">'''Intermarché → Apta''' coeur de Provence Lessive traditionnelle (''blanche'')<br /></td><td width="174" valign="top">'''Liddle → Maxi Trat''' lessive classique<br /></td></tr><tr><br /><td width="174" valign="top">'''Leclerc → Eco+''' lessive liquide Tous textiles (''bleue'')<br /></td><td width="174" valign="top">'''Noz → Novita''' Valido Lavatrice Profumo di Lavanda<br /></td></tr><tr><br /><td width="174" valign="top">'''Netto''' → lessive liquide intense fresh (''bleue'')<br /></td><td width="174" valign="top">'''Noz''' → universal lessive liquide Fraîcheur du matin<br /></td></tr><tr><br /><td width="174" valign="top">en poudre* Skip Active Clean (''blanche'')<br /></td><td width="174" valign="top"><br /><br /><br /></td></tr></table><br /><br /><br />* Dans le cas des lessives en poudre, il faut d'abord mélanger la lessive et l'eau.</nowiki>  , Prendre dans les mains et malaxer <u>vigoureusement</u> 1 ou 2 minutes.  +, C'est prêt! Vous pouvez si vous le souhaitez décorer votre slime en rajoutant des paillettes, des yeux mobiles, du colorant alimentaire, etc. <br/><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Précaution: cette recette de slime contient des produits toxiques. Veillez à bien vous laver les mains après avoir touché votre slime.</div> </div><br/>  +,
Matériel nécessaire pour cette expérience : - sachet d’alun de potassium - du fil de nylon OU de la ficelle de cuisine - un petit pot en verre OU un verre qui ne craint rien - un crayon OU un stylo - une bouilloire - une cuillère à café (une vieille de préférence) OU un objet pour remuer - une demi-coquille d’œuf OU du fil chenille OU un cure-dent - de l’eau - facultatif : colorant alimentaire OU cartouche d’encre - facultatif : de la colle non soluble à l’eau et un pinceau  +, La demi-coquille d’œuf, le fil chenille ou le cure-dent vont servir de support pour faire pousser les cristaux. * Si vous utiliser du fil chenille, donnez lui la forme de votre choix et accrochez le fil de nylon ou la ficelle de cuisine au bout de votre forme. * Si vous utilisez un cure-dent, accrochez le fil de nylon à un des bouts. * Si vous utilisez une coquille d’œuf, prenez soin de bien la nettoyer et d’enlever la peau blanche à l’intérieur. Puis étalez de la colle au pinceau dans la face intérieure de la coquille, et saupoudrez de poudre d’alun.  +, - Faites bouillir de l’eau et la verser dans un pot (idéalement pas plus grand qu’un verre à eau). - Verser petit à petit la poudre d’alun et remuer ; en ajouter jusqu’à ce qu’elle ne se dissolve plus quand on en rajoute (c’est-à-dire que la poudre ne « disparait » plus dans l’eau, et se dépose au fond quand on remue le mélange). On dit alors que la solution est « saturée ». - ''Facultatif : Ajouter du colorant dans votre mélange. N’hésitez pas à en mettre une bonne quantité pour avoir un liquide bien coloré.''  +,
*Crème 30% matière grasse à température ambiante *un petit pot en verre avec couvercle *un tamis ou une passoire *Du sel (optionnel)   +, #Remplis 1/3 du pot avec la crème #Ferme le pot (vérifier) et secoue énergiquement. #Après 3-5 minutes tu obtiens de la '''crème fouettée''' ( plus de liquide présent dans le pot) #Ferme le pot à nouveau et secoue jusqu'à ce que la crème fouetté devienne à nouveau liquide. Une '''petite boule jaune''' se forme. #Ouvre le pot et verse son contenu dans la passoire (ou le tamis) avec un plat en dessous pour récupérer le liquide. #Ensuite passe la passoire (ou le tamis) sous l'eau et '''récolte ton beurre''' !   +
Une fois que l'on obtient une pâte homogène, il ne reste plus qu'à la transvaser dans un contenant à l'abri de l'humidité.  +, Mélanger les ingrédients suivant : *4 bonnes cuillères à soupe d’argile blanche fine *1 cuillère à café d’huile de coco *5 à 10 gouttes d’hydrolat de menthe poivrée *un peu d’eau pour obtenir une texture crémeuse <br/>  +
* Ouvrir le logiciel ''Arduino''. * Aller dans le menu ''Fichiers'', puis ''Préférences.'' * Dans le champ ''URL de gestionnaire de cartes supplémentaires'', coller l'adresse suivante : http://arduino.esp8266.com/stable/package_esp8266com_index.json * Valider en cliquant sur ''OK''.   +
Pour que l'ampoule s'allume, il faut relier un fil de l'ampoule sur la borne '''-''' (dite borne "négative") de la pile et l'autre fil de l'ampoule sur la borne + (dite borne "positive") de la pile. Si les deux fils sont reliés à la même borne, l'ampoule ne s'allume pas. Pour allumer l'ampoule, il est donc nécessaire de former un '''circuit''' à travers lequel l'électricité <u>circule</u> : #Pile ou '''générateur''' #Borne '''+''' #Fil électrique #Ampoule #Fil électrique #Borne '''-''' #Pile ou '''générateur''' <br/>  +, <u>Matériel :</u> *Découper un rectangle de carton d'environ 4cm de largeur et 6cm de longueur *Percer deux trous au deux extrémités du carton *Y insérer les deux attaches parisiennes ''Attention : les deux attaches parisiennes ne doivent pas se toucher.''  +, <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Avant de commencer ce défi, rendez-vous à la partie "Mise en garde" et lisez-la attentivement.</div> </div> <u>Matériel :</u> *Ampoule reliée à deux fils *Pile 4,5V *Le carton avec les deux attaches parisiennes *Un fil supplémentaire *Un trombone '''L'objectif est d'ajouter un interrupteur au sein du circuit électrique qui a été réalisé lors du défi 1.''' <br/>  +,
Pour fabriquer un planeur il te faut : - Un pique à brochette - Un bouchon de liège - Une plaque de carton ondulé fin (environ 40cm par 40cm) - Un crayon gris pour tracer les différentes parties du planeur - Une paire de ciseaux <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Attention aux doigts lors du découpage</div> </div><br/>  +, L'aile doit avoir une envergure (la largeur) inférieure à la taille du pic à brochette. En général l'envergure de l'aile fait la moitié de la longueur du pic à brochette, mais c'est très variable, il faut faire des essais en vol pour trouver la dimension optimale. - Découpes l'aile afin que les ondulations du carton soient dans le sens de vol et permettent d'insérer facilement le pic à brochette (voir image)  +, Passons à la réalisation de l'aileron : - Découpe un triangle rectangle (aileron) afin que les ondulations du carton soient dans le sens de vol et permettent d'insérer facilement le pic à brochette. Et maintenant les stabilisateurs : - Découpe 2 petites bandes de carton (stabilisateurs) - Perce l'aileron de deux petits pics à brochette, parallèlement à la base de l'aileron. - Assemble les deux stabilisateurs sur les pics à brochettes.  +,
Lancez l'impression 3D '''Remarque:''' Le temps d'impression final est d'environ 22 heures pour une catapulte de 19 x 10,5 x 8,5 cm (L x l x h).  +, Récupérez les pièces, et les assembler. '''Remarque''' : Vous pouvez imprimer votre catapulte en une seule impression car toutes les parties sont solidaires sauf le bras. Ajoutez les élastiques pour fixer le bras de la catapulte et pour réaliser le mécanisme de lancement. '''Bonus:''' Ajouter des roues pour qu'elle puisse se déplacer  +, Pour commencer, réunissez le matériel nécessaire : - Imprimante 3D plastique (type PLA) - Des élastiques - Colle en gel (par exemple, super glue ou colle PVC) - 4 à 8 roues (vous pouvez imprimer les roues si vous le souhaitez) (facultatif) - 2 arbres pour les roues (facultatif)  +,
- Découper dans le carton 3 rondelles de la taille d'une pièce de 2 euros - mettre ces rondelles à tremper dans du vinaigre - préparer 3 pièces de 5 cents d'euro - préparer 3 rondelles de brocilage en zinc - préparer la diode  +, - Mettre à tremper le carton dans du vinaigre - disposer le papier aluminium à plat - déposer dans cette ordre sur le papier aluminium, de manière à créer une petite tour, jusqu'à ce tout ait été utilisé : pièce en zinc, carton imbibé de vinaigre, pièce de monnaie, etc.  +, - la diode dispose de 2 côtés : un côté positif (le plus long) et un côté négatif (le plus court) - Faites en sorte que le côté le plus long vienne toucher le dessus de la pile (pièce de monnaie) - le côté le plus court doit venir toucher le papier aluminium <br/><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Sur la plupart des diodes, les côtés + et - sont représentés par des longueurs différentes. Il ne faut donc pas hésiter à essayer de faire fonctionner la diode en inversant les côtés, si nécessaire. Cela ne change rien au sens de circulation du courant électrique.</div> </div> <br/>  +
Pour installer le logiciel Arduino reportez vous au tutoriel : [[Installer l'environnement Arduino sur votre système]]  +, Côté Arduino le port USB est un peu bizarre, c'est un USB du Type B (le classique étant un Type A) ! Côté ordinateur, tout va bien, c'est comme d'hab.  +, Sauf s'il s'est lancé tout seul comme un grand en détectant le branchement de la carte.  +,
Souffler aussi fort que possible dans le Kazu comme on le ferait dans un harmonica.  +, # Découper une bande de papier, de même largeur et de longueur légèrement inférieur, à celles des bâtonnets de glace. # Couper 2 tronçons de cure-dent à l'aide de la pince coupante. Les tronçons doivent être aussi longs que la largeur des bâtonnets de glace.   +, # Réaliser un "sandwich" entre tous les éléments de l'étape précédente. # Entortiller solidement les élastiques au niveau des tronçons de cure-dent pour solidariser tous les éléments.   +,
- Mélangez à l'aide d'un fouet un verre (environ 25 cl) d'eau, un verre de farine, un quart d'un verre de sel, 9 cuillères à soupe de jus de citron ainsi qu'une cuillère à soupe d'huile et du colorant alimentaire, le tout dans une casserole de taille moyenne - Cuire à feu moyen tout en continuant de mélanger. Le mélange doit s'épaissir et former des grumeaux. - Continuez à cuire et mélanger jusqu'à ce que le mélange forme une boule au centre de la casserole. - Dès que la boule est formée, la poser sur une surface légèrement farinée. Attention à ne pas se brûler ! - Laissez la pâte refroidir, puis vous pouvez pétrir la pâte en fonction de vos besoins. - C'est prêt!  +, - Dans un saladier, mélangez un verre de farine, un demi verre de sucre ainsi que 3 cuillères à soupe d'huile. - Mélangez et ajoutez cuillère par cuillère l'équivalent d'un demi verre d'eau déminéralisée, jusqu'à ce que des morceaux de sable commencent à se former. - Sur une surface plane et farinée, déposez le mélange formé et rassemblez les morceaux afin de créer une boule. - Ajoutez à votre convenance de l'eau et de la farine pour donner à votre pâte une consistance flexible -C'est prêt!  +, Les deux pâtes sont prêtes, vous pouvez maintenant confirmer si dans la pâte n°1 l'électricité passe et que dans la pâte n°2 elle ne passe pas. Pour cela, munissez-vous d'une pile 9V, d'une led et de deux pinces crocodiles. Accrocher une pince crocodile sur chaque coté de la pile, et l'autre bout des pinces crocodiles est accroché à un morceau de pâte. Dans ce même morceau de pâte, y planter la led. <br/>  +
Verser ensuite, tout doucement, l'eau sur le papier, puis enlever délicatement le papier.  +, * Découper une lamelle de papier de la taille du diamètre du verre et la plier en 3, en formant un U.   +, Mettre la base du U à la surface du thé dans le verre, en faisant attention de juste frôler le liquide. Attention à ne pas détremper la feuille.  +
Tu as réussi à faire flotter la pâte à modeler. Penses-tu qu'elle pourrait supporter du poids et flotter quand même ? Tu peux mettre des petits objets lourds (comme des billes par exemple) pour voir si la pâte à modeler flotte malgré le poids.  +, *une boule de pâte à modeler résistante à l'eau *un récipient (si possible transparent) *un feutre<br/> <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Pour tester la résistance à l'eau de ta pâte à modeler, prends en un petit morceau et mets le dans l'eau. Si ta pâte se désintègre ou fond entre tes doigts, alors elle n'est pas résistante à l'eau et nous te déconseillons de l'utiliser pour l'expérience.</div> </div><br/>   +, Que se passe-t-il si tu poses la pâte à modeler dans le bol d'eau ? La boule tombe au fond du récipient. Si tu as un bol transparent, marque le niveau d'eau du bol contenant la boule en traçant un trait à l'extérieur du récipient.  +,
Prends une photo pour garder un souvenir de ce moment.  +, Tu auras besoin d'un appareil photo et de ta main. Ensuite part à la recherche d'une voiture à l'arrêt. <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Respecte bien les règles de sécurité pour ne pas te faire de mal sur la route.</div> </div>  +, Installe ton appareil photo de façon stable ou demande à quelqu'un de le tenir à environ 10 mètres de la voiture que tu as choisie. Positionne ta main entre la caméra et la voiture de tel façon à ce que l'on ait l'impression que la voiture soit dans ta main.  +
*3 bouteilles en plastique transparent et au bouchon peu épais, comme des bouteilles d'eau ; *Un grand bocal ou autre récipient ; *Une grande cuillère ; *Une paire de ciseaux ; *Une vis ou une vrille ; *De l'eau ; *Du gravier ; *Du sable fin ; *De la terre ; *Des brindilles ou de l'herbe ; *De tous petits cailloux ou des perles ; *Du colorant ou de l'encre ; *Optionnel : du charbon actif ; *Optionnel : un liquide odorant (fleur d'oranger par exemple) ou du vinaigre.   +, Verser la même quantité d'eau « sale » dans les trois entonnoirs et observer. Après avoir attendu que l'eau s'écoule, comparer le résultat pour chaque entonnoir, en regardant l'eau obtenue à la lumière, et en sentant le contenu du fond de bouteille. Vider le fond de bouteille situé sous l'entonnoir de charbon actif s'il est très rempli. Prendre l'entonnoir contenant le sable pour le fixer au dessus de l'entonnoir de charbon actif, puis fixer l'entonnoir contenant le gravier par dessus les deux premiers. Verser de l'eau « sale » dans l'entonnoir d'en haut et observer  +, Préparer une eau « sale » dans le grand bocal en y ajoutant de l'eau, de la terre (environ une cuillère à soupe par litre d'eau), des brindilles ou de l'herbe, de petits gravillons et/ou des perles. Ajouter quelques gouttes de colorant ou d'encre et quelques gouttes d'un produit odorant comme la fleur d'oranger. Mélanger. Couper en deux les bouteilles, conserver les deux parties. Percer ensuite deux des bouchons de ces trois demi-bouteilles avec plusieurs grands trous à l'aide de la vis, on obtient des entonnoirs. Percer le dernier bouchon de trous plus petits. Poser chaque entonnoir, bouchon vers le bas, sur l'autre moitié restante de chaque bouteille (celle avec le culot). Puis : *Remplir à moitié le premier entonnoir de gravier ; *Remplir à moitié le deuxième entonnoir, celui au bouchon percé de petits trous, de sable fin ; *Remplir à moitié le troisième entonnoir de charbon actif.  +
Rendez vous à cette adresse : [https://docs.m5stack.com/en/download Télécharger M5burner] Une fois téléchargé, installez le logiciel sur votre ordinateur NB : Il se peut que selon votre système d'exploitation vous soyez obligé d'installer les pilotes USB, ils sont disponibles sur la même page  +, #Séléctionnez à gauche votre microcontrolleur (ICI M5STICKC) #Sélectionnez le port correspondant #Cliquez sur Burn #Indiquez votre réseau Wifi (vous pouvez aussi le connecter à un partage de connexion Téléphone) #Enfin Cliquez sur START Le programme commence à flasher le M5STICKC, une fois effectué votre microcontroleur va redémarrer et se connecter à votre réseau.   +
Rien de plus simple, cliquez su fichiers et téléchargez le fichier ZIP, puis décompressez le ! Vous obtiendrez alors 2 fichiers Binaires (.bin) * petitbot_v3.ino.d1_mini.bin * petitbot_v3.spiffs.bin  +, les pilotes sont téléchargeables à cette adresse : https://www.wemos.cc/en/latest/ch340_driver.html Sous linux assurez vous d'avoir les bonnes permissions : [[Installer l'environnement Arduino sur votre système#Étape 5 - Cas Particulier les permissions sous Linux]]  +, Rendez vous sur cette adresse : https://nabucasa.github.io/esp-web-flasher/ <br/> *Branchez votre Wemos *Séléctionnez 460800 bauds *Cliquez sur connect *Sélectionnez le port USB concerné  +,
pour commencer, rassemble le matériel nécessaire à l'expérience - du papier - des ciseaux - un stylo - une assiette - de l'eau <br/>  +, Pose la "fleur de papier" sur la surface de l'eau et observe ! Que se passe-t-il ?  +, Fais la même expérience avec différentes fleurs : change la taille des pétales ou essaie avec plus ou moins des pétales. Est-ce que ça fait une différence ? Qu'observes-tu ?  +,
*Chaque insecte va récupérer du nectar de chaque fleur. Pour cela, place la trompe de l’insecte dans chaque fleur, appuie sur la bouteille puis relâche pour aspirer le liquide.   *'''Peux-tu récupérer le nectar de toutes fleurs avec tous les insectes ? Pourquoi ?''' *'''La gouache (ou la craie) est-elle transportée d’une fleur à l’autre ? Si oui, comment ?'''   +, '''Pour commencer, rassemble le matériel nécessaire à l'expérience :''' <br/> *3 bouteilles en plastique de différentes tailles avec bouchons *3 pots en verre de tailles et d’ouvertures différentes *3 pailles de différentes longueurs *du colorant alimentaire *6 disques de coton (2 par fleur) *des feuilles blanches A4 à colorier ou des feuilles de couleurs différentes *de la gouache jaune et orange ou des craies de couleur *du ruban adhésif simple et double face *une paire de ciseaux *des feutres *[https://www.wikidebrouillard.org/images/6/66/Billes_sauteuses_ANNEXE_Ailes_insecte.pdf annexe “Ailes d’insecte”] *[https://www.wikidebrouillard.org/images/1/13/Fleurs_et_insectes.pdf annexe “Fleurs et insectes”] '''Si tu as, tu peux utiliser aussi :''' *1 imprimante (facultatif) <br/>  +, '''<u>Fabriquer les insectes </u>''': <br/> *Si tu as une imprimante, imprime l’[https://www.wikidebrouillard.org/images/6/66/Billes_sauteuses_ANNEXE_Ailes_insecte.pdf annexe “ailes d’insecte”] en 3 exemplaires et découpe les ailes. *Si tu n’as pas d’imprimante, dessine 3 paires d’ailes en t’aidant du modèle de l’[https://www.wikidebrouillard.org/images/6/66/Billes_sauteuses_ANNEXE_Ailes_insecte.pdf annexe “ailes d’insecte”] et découpe les ailes. *Prends les bouteilles en plastique et perce les bouchons. Le diamètre du trou doit être légèrement plus petit que celui de la paille. *Passe chacune des pailles de longueur différente dans les bouchons. Les pailles correspondent aux trompes des insectes. *Scotche les ailes sur les bouteilles. '''<u>Fabriquer les fleurs : </u>''' <br/> *Remplis d’eau et de colorant alimentaire (= le nectar) les pots en verre. *''(optionnel) Découpe deux bandes de papier coloré (ou que tu as colorié toi-même), dépose-les sous un pot en verre, rabats-les puis scotche-les pour former des pétales.'' *Colle du scotch double sur 2 ronds de coton (qui représentent les étamines) et plie-les en deux sur le bord du récipient. *Recouvre les cotons de gouache ou de poussière de craie sur toutes les fleurs. Une couleur différente pour chaque fleur.  +,
Réalise des rouleaux de papier d'environ 3cm de diamètre en les accrochant à l'aide du ruban adhésif  +, Installe tes rouleaux de papier sur la tranche, sur une surface bien plate (table, parquet ...)  +, Pose un livre sur les feuilles, puis un autre, puis un autre, puis un autre .... Jusqu'à écroulement.  +
=== '''Le montage''' === Il suffit de faire le montage sur la plaque Labdec comme ci-dessous (cliquer sur la photo pour avoir le schéma en entier)  +, Si tout se passe bien, toutes les diodes sont alors allumées. Chaque joueur se voit attribuer 3 boutons qui éteindront respectivement une, deux ou trois LED. Les LED sont des représentations symboliques des bâtonnets. Le joueur qui éteindra la dernière source de lumière visible sur la plaque Labdec perdra immédiatement la manche. Il suffit d'appuyer sur le bouton reset de l'Arduino pour relancer une manche.  +, * Démarrer le logiciel Arduino * Copier dans le logiciel le programme ci-dessous, puis aller dans « édition » et cliquer sur « téléversement » Voici le code : // --- Programme Arduino --- //Projet Baton //par : Floran Masson, Kristen Joie, Kévin Jan, Alexandre Devalavieille, Josselin Kerdraon int i; //Utile pour les boucles //Les diodes sont stockées en mémoire dans un tableau int TABLEAUDIODE[12]={2,3,4,5,6,7,8,9,10,11,12,13}; //On associe les boutons en entrée int BOUTON14 = 14; // int BOUTON15 = 15; // int BOUTON16 = 16; // int BOUTON17 = 17; // int BOUTON18 = 18; // int BOUTON19 = 19; // //Ces variables servent à rendre les vérifications plus claires int APPUI = 1; int PAS_APPUI = 0; //Etat des boutons int ETAT_BOUTON14; int ETAT_BOUTON15; int ETAT_BOUTON16; int ETAT_BOUTON17; int ETAT_BOUTON18; int ETAT_BOUTON19; //Variables variables int nbr=13; //Nombre de bâtons restants int ordre=1; //À qui c'est de jouer ? 1 : Joueur 1, 2 : Joueur 2 void setup() { // dÉbut de la fonction setup() // --- ici instructions à exécuter au démarrage --- // ------- Broches en sortie ------- for(i=2 ; i++ ; i<=13) { pinMode(TABLEAUDIODE[i], OUTPUT); } pinMode(BOUTON14, INPUT); //met le bouton en entree pinMode(BOUTON15, INPUT); //met le bouton en entree pinMode(BOUTON16, INPUT); //met le bouton en entree pinMode(BOUTON17, INPUT); //met le bouton en entree pinMode(BOUTON18, INPUT); //met le bouton en entree pinMode(BOUTON19, INPUT); //met le bouton en entree //------- initialisation des LEDs au début = feu 1 au rouge et feu 2 au vert //Au début du jeu, toutes les diodes sont allumÉes digitalWrite(TABLEAUDIODE[0],HIGH); digitalWrite(TABLEAUDIODE[1],HIGH); digitalWrite(TABLEAUDIODE[2],HIGH); digitalWrite(TABLEAUDIODE[3],HIGH); digitalWrite(TABLEAUDIODE[4],HIGH); digitalWrite(TABLEAUDIODE[5],HIGH); digitalWrite(TABLEAUDIODE[6],HIGH); digitalWrite(TABLEAUDIODE[7],HIGH); digitalWrite(TABLEAUDIODE[8],HIGH); digitalWrite(TABLEAUDIODE[9],HIGH); digitalWrite(TABLEAUDIODE[10],HIGH); digitalWrite(TABLEAUDIODE[11],HIGH); delay(5000); } // fin de la fonction setup() void loop() { //permet la lecture des boutons ETAT_BOUTON14=digitalRead(BOUTON14); //Joueur A : retirer 1 ETAT_BOUTON15=digitalRead(BOUTON15); //Joueur A : retirer 2 ETAT_BOUTON16=digitalRead(BOUTON16); //Joueur A : retirer 3 ETAT_BOUTON17=digitalRead(BOUTON17); //Joueur B : retirer 1 ETAT_BOUTON18=digitalRead(BOUTON18); //Joueur B : retirer 2 ETAT_BOUTON19=digitalRead(BOUTON19); //Joueur B : retirer 3 //Joueur A if (ETAT_BOUTON14 == APPUI)&&(ordre == 1)) { //Retirer 1 bâton nbr-=1; //Le nombre de bâtons est diminué de 1 ordre=2; //C'est au joueur 2 de jouer } if ((ETAT_BOUTON15 == APPUI)&&(ordre == 1)) { //Retirer 2 bâtons nbr-=2; //Le nombre de bâtons est diminué de 1 ordre=2; //C'est au joueur 2 de jouer } if ((ETAT_BOUTON16 == APPUI)&&(ordre == 1)) { //Retirer 3 bâtons nbr-=3; //Le nombre de bâtons est diminué de 3 ordre=2; //C'est au joueur 2 de jouer } //Joueur B if ((ETAT_BOUTON17 == APPUI)&&(ordre == 2)) { //Retirer 1 bâton nbr-=1; //Le nombre de bâtons est diminue de 1 ordre=1; //C'est au joueur 1 de jouer } if ((ETAT_BOUTON18 == APPUI)&&(ordre == 2)) { //Retirer 2 bâtons nbr-=2; //Le nombre de bâtons est diminué de 2 ordre=1; //C'est au joueur 1 de jouer } if ((ETAT_BOUTON19 == APPUI)&&(ordre == 2)) { //Retirer 3 bâtons nbr-=3; //Le nombre de bâtons est diminué de 3 ordre=1; //C'est au joueur 1 de jouer } //Affichage for (i=2; i++; i<nbr) { digitalWrite(TABLEAUDIODE[i],HIGH); //Les bâtons restants sont allumés } for (i=nbr; i++; i<=13) { digitalWrite(TABLEAUDIODE[i],LOW); //Les bâtons retirés ne sont pas allumés } }   
Cette étape peut être longue selon la taille du fichier, les détails du squelettes, le nombre de pièces. Entre quelques heures à plusieurs jours. Par ailleurs, si il y a des problèmes d'impression, penser à imprimer la semaine avant l'activité pour ne pas être déborder ou à court de matériel le jour j.  +, Le ou les squelettes ont été imprimé.s. Il faut maintenant cacher les os dans du plâtre et du sable. Pour plâtrer 6 squelettes démontés, il faut au moins 6kg de plâtre, penser à en acheter suffisamment. Sur la boîte, les indications de préparation sont indiquées, il faut la même quantité d'eau de plâtre et mélanger le tout. Récupérer une dizaine de récipient pour un squelette et faire la préparation dedans afin d'avoir une forme à démouler une fois sec. Plâtrer chaque dinosaure et ne pas mélanger les récipients entre eux, rangez-les dans les caisses en notant quel dinosaure est dedans Le plâtre sèche en quelques heures mais attention à ne pas avoir un surplus d'eau, vider dans ce cas. Avant que l'activité commence, démouler les plâtres et les cacher dans du sable afin de compliquer légèrement la fouille. Le faire pour chaque dinosaure et noter le dinosaure de la boîte. Facultatif, vous pouvez ajouter si vous en avez, des fossiles afin de trouver autre chose dans le sable  +, Une fois l'impression terminée, séparer chaque os les uns des autres et enlever le surplus de matière liée à l'impression. Attention à ne pas perdre de pièces. Essayer de monter le squelette une fois et demander à quelqu'un d'autre de le faire aussi, afin de voir quel est la difficulté de montage. Pour ne pas mélanger les pièces si plusieurs dinosaures ont été imprimés, rangez-les dans une pochette avec le nom du contenu. Vous pouvez aussi marquer les pièces d'un point de couleur (ou les imprimer d'une couleur différente si vous avez plusieurs couleurs à disposition  +,
'''Matériel supplémentaire nécessaire spécifiquement à l'étape''' *Potence ou système permettant de suspendre verticalement un objet *Fil pour attacher *Balance Choisir un ressort d'une longueur à vide entre 10et 15 cm. Choisir un objet de forme quelconque ayant une masse de l'ordre de grandeur de 100 g. Peser cet objet au gramme près . Attacher le ressort verticalement à une potence à une des des extrémités du ressort. Attacher à l'autre extrémité du ressort l'objet pesé. Mesurer la longueur du ressort à l'équilibre ( c'est à dire la distance entre les deux extrémités du ressort à l'arrêt lorsqu'une masse y est est attachée ). Enfin , appliquer la formule : raideur = masse de l'objet m * intensité pesanteur g / ( longueur à l'équilibre - longueur à vide ) Vous avez ansi la raideur du ressort que l'on nommera k.  +, '''Matériel supplémentaire nécessaire spécifiquement à l'étape:''' *Petit et Grand socles *Cylindre *Ressort *Fil Imprimer les fichier Catia; vous aurez ainsi le cylindre ainsi que les petits et grands socles. Coller le ressort au milieu du grand socle. Coller le fil sur le ressort Coller l'autre extrémité du ressort au plus petit socle Sur le petit socle, coller une calle pour la bille Rentrer et coller le système socle ressort fil au cylindre  +, Placer sa bille sur la plateforme dans le trou du cylindre. Tirez le fil vers les bas, ce qui permet de compresser le ressort puis lâchez le d'un coup sec. Si le cylindre est a la verticale, alors la bille ira droit vers le haut. Prenez cette expérience en vidéo et relevez l'instant ou vous lâchez le fil et celui où la bille est a sa hauteur maximale. On note t tel que t est égal à la différence entre les deux instants, soit les temps écoulé entre le moment où la bille est éjectée . à cet instant t, la bille est à son son hauteur maximale et sa vitesse est nulle. On note également m, la masse de la bille utilisée lors de l'experience. Enfin, on calcule vo , la vitesse initiale de la bille telle que vo = compression du ressort ( en m, gradué sur l'objet) * racine carrée ( k /m ). Grace à des équations mécaniques, on donne alors la formule ( vo + mg/x )* exponentielle ( - x/m) - mg/x = 0 Vous avez désormais toutes les informations nécessaires pour compléter l'équation , la poser sur votre calculatrice et trouver la solution x qui est le coefficient de viscosité de l'air! <br/>  +
L'extinction a une durée de 3 ma, c'est une étape importante de l'histoire de la Terre. L'idée est d'en faire une activité à part entière. Quand vient son tour dans l'explication de la frise ou la placement des images, se lancer dans des grandes explications de cet événement, en racontant les différentes étapes (météorite, volcans, incendies, soleil, plantes, carnivores). Montrer le planisphère et demander où est situé le cratère causé par l'impact (Au centre nord du Mexique). Possibilité de faire un texte à trou en cherchant les différentes étapes et les faire deviner la réponse ou replacer dans l'ordre un texte.  +, - Prendre une ou plusieurs grande.s feuille.s, genre paperboard et tracer une ligne au crayon à papier (ou bois ou gris) et prendre comme repère 1cm pour 10 millions d'années (les 5 périodes : 250 ma) - ''Possibilité de fracturer les périodes. Prendre plusieurs feuilles de couleurs, une couleur par période, donc 5 ou 6, pour plus de visibilité'' - Marquer les débuts de chaque grandes périodes ou grands événements (Extinction Permien Trias -252 ma, Trias -252 à -200 ma, Jurassique -200 à -145 ma, Crétacé - 145 à -65 ma et l'Extinction de -65,5 à -68 ma (Début vie en 3 ma, Début écriture en 3500), Découverte squelette Iguanodon en 1822, Découverte cratère Chicxulub en 1890 ) - Noter les dates en grandes lettres pour une bonne visibilité. - Repasser la ligne au crayon par un code couleur, une pour chaque période (rouge, orange, jaune, vert, bleu, violet)  +, Pour réaliser la frise, il est indispensable d'avoir quelques informations sur le sujet comme les dates, les événements marquants... - Chercher sur Google tout ce qui est en rapport avec le sujet, même des définitions, des documentaires, des dates, des théories... - Trier et mettre au propre ses notes sur un document  +,
Essaye de dessiner le prototype de ta fusée (tu peux t'aider du matériel listé ci- dessus si besoin). Pense bien au remplissage du carburant, à la stabilité, l'aérodynamisme, au poids, à la solidité etc...  +, Pour faciliter l'ajout du bicarbonate de soude réalise des baluchons avec le papier absorbant et une ficelle. Étale une cuillère de bicarbonate sur le coté de la feuille de papier absorbant, plie la en deux et roule la entièrement. Ensuite, ferme avec un bout de ficelle (environ 20cm) le coté ouvert en faisant un double nœud. Une fois fermé, vérifie qu'il rentre bien par le goulot de la bouteille et qu'il ne fuit pas.  +, Rends toi à l'extérieur avec le matériel nécessaire, dans un espace dégagé, accompagné d'un adulte, pour tester ta fusée. Vérifie la stabilité de la zone de lancement (aide toi d'une morceau de carton si nécessaire). Verse environ 5 centimètres de vinaigre dans la bouteille principale puis insère le baluchon de bicarbonate '''sans le faire tomber dans la bouteille !''' Enfonce légèrement le bouchon de liège tout en coinçant bien la ficelle du baluchon. Il doit pendre comme sur la photo. Enfin, retourne rapidement ta fusée, secoue et pose la puis recule d'au moins 5 mètres. La réaction va démarrer et la fusée devrait se mettre à gonfler légèrement avant de décoller ! '''Sois patient''' la réaction prend du temps :)  +,
Nous allons maintenant commencer l'assemblage de la fusée. Il faudra donc venir coller les ailerons à la plus grosse des deux pailles. (Utilisez plutôt du scotch que de la colle pour que cela tienne.)  +, Une fois le matériel réuni vous pouvez réaliser la première étape.  Pour celle ci vous aurez besoin de deux pailles de deux diamètres différents que vous devrez raccourcir.  La plus grosse paille servira de corps à la fusée.  +, Pour cette seconde étape nous allons fabriquer la base de lancement de la fusée. Il vous faudra : une vrille, votre bouteille et son bouchon, de la pâte à modeler ainsi que la plus fine des deux pailles que vous aurez raccourcit pour l'étape 1. À l'aide de la vrille vous percerez un trou dans le bouchon de manière à ce que la paille puisse rentrer facilement dedans. Vous irez par la suite boucher l'air qui pourrait passer par ce trou et stabiliser la paille à l'aide de la pâte à modeler.  +,
Se munir de : * 2 grandes bouteilles en plastique de sodas (1,5 L) * Un bouchon de liège * Une pompe à vélo * Un embout gonfleur * Un cône de chantier ou un bidon d'eau de 5L dont on a découpera le goulot * Un cutter * Du ruban adhésif * De l'eau  +, * Couper une bouteille en deux, afin de réaliser l'ogive de la fusée. * Scotcher la moitié supérieure de la fusée coupée sur la partie inférieure de la bouteille entière (reservoir). ATTENTION : Le reservoir doit être en bon état, c'est cette partie qui va être mis sous pression.   +, * Couper l'extrémité du cône de chantier ou de la bouteille de 5/8L (pour garantir la stabilité de la fusée). * Percer un trou dans le cône pour y passer l'embout de la pompe à vélo.   +,
G
Remplir le premier verre d'eau du robinet. Sur un post-it, écrire "Eau douce" et le coller au verre.  +, Dans le deuxième verre, mettre quelques cuillères à café de sel, remplir d'eau et dissoudre le sel. Avec un autre post-it, écrire "Eau salée" et le coller au verre.  +, Pour cette expérience nous aurons besoin de : - 2 verres - un marqueur (ou un stylo) et des post-its - sel - une petite cuillère - un congélateur/freezer  +,
* A l’aide du cutter, découper le polystyrène pour obtenir un morceau juste un peu plus petit que la taille d’une barquette ou de l’assiette * Si l’on a du colorant à disposition, préparer environ un demi-litre d’eau colorée   +, * remplir à moitié les barquettes avec de l’eau (colorée si possible) en mettant bien la même quantité d’eau dans les deux barquettes. Si l’on utilise un thermomètre, mesurer et noter la température de l’eau * Poser le morceau de polystyrène découpé sur l’eau dans l’une des barquettes (si l’on n’a pas de polystyrène, poser une feuille blanche sur l’une des deux barquettes, mais sans la mouiller) * Installer les deux barquettes sous une source lumineuse très chaude, comme un spot, ou tout simplement au soleil * Attendre au moins une vingtaine de minutes, puis mesurer la température de l’eau dans les deux barquettes à l’aide du thermomètre ou en la touchant du bout du doigt Remarque : L’expérience peut être poursuivie plus longtemps, en contrôlant régulièrement la température, les résultats seront encore plus nets.   +, *2 barquettes ou assiettes creuses identiques *1 plaque de polystyrène blanc ou une feuille de papier blanc *de l’eau *1 projecteur ou une journée ensoleillée *1 cutter ou un couteau à dents *du colorant alimentaire bleu ou vert (ou de l'encre) *option : 1 thermomètre   +
Prépare bien tout ton matériel, aligné devant toi ! - Vinaigre Blanc - Bicarbonate de soude/sodium - Ballon de baudruche - Cuillère ou autre moyen de dosage ( exemple : bouchon de bouteille) - Entonnoir - Bouteille en verre  +, *Soulève le ballon pour faire tomber le bicarbonate dans la bouteille. Si le ballon gonfle peu, réessaye avec plus de vinaigre et bicarbonate, en respectant les proportions.   +, Dosage : 1 dose de bicarbonate pour 3 doses de vinaigre. *Verse du vinaigre dans la bouteille *Verse le bicarbonate de sodium à '''l'intérieur du ballon''' de baudruche, à l'aide de l'entonnoir. *Enfile l'ouverture ballon sur le goulot de la bouteille . Assures-toi que le ballon tient bien et que le bicarbonate ne tombe pas encore dans la bouteille. <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Attention, si tu mets trop de produit ou que ton ballon est mal positionné, le ballon risque de sauter... et toi de sentir le vinaigre pour quelques heures.</div> </div><br/>  +
*Enroule la feuille de papier en forme de cône. *Fixe le cône avec du scotch. *Traverse le cône (à proximité de la pointe) avec l'aiguille, laisse celle-ci en place en travers du papier (elle dépasse des deux côtés). *Place l'ensemble "cône/aiguille" sur un disque en lecture (qui tourne)   +
Ensuite place-toi à différents endroits par rapport à ta maquette (au-dessus, sur le côté). Regarde enfin à travers un tube en carton en te plaçant du côté de la Terre (représentée sur le modèle) afin d'observer le phénomène. <br/>  +, Imprime le modèle du fichier Grande Ourse, sur une feuille A4 Prépare ensuite : *7 pics à brochette (ou paille) *Une feuille de papier *Un crayon et une règle pour noter les distances sur la feuille de papier (ou une imprimante) *Une règle pour mesurer la taille des pics à brochette *Un crayon pour noter la taille des pics à brochette *Une paire de ciseaux pour couper les pics à brochette et la feuille *Du carton (tu peux aussi utiliser un bloc de polystyrène ou une feuille en papier épais) *De la colle *7 perles (ou billes en papier, boule de pâte à modeler, boule de pâte à sel, etc) <br/>  +, Découpe les pics à brochette (ou pailles) à la taille indiquée dans le modèle et place une bille en papier (ou des perles ou autres...) au bout de chaque. Découpe le patron et colle-le sur le polystyrène. Dispose les pailles de différentes tailles sur le support (polystyrène, carton ou autre) en fonction du plan fourni (photo 4).  +,
Refaire avec des pics à brochette et boule de polyester  +, * On dispose des pailles de différentes tailles et couleurs sur la plaque de polystyrène de manière à former un éparpillement d'éléments.   +, Ensuite on se place derrière une feuille percée en son milieu afin d'observer le phénomène  +
Essuie soigneusement le verre avec le torchon sec. Le verre doit être parfaitement sec. <br/>  +, Mets le verre dans le compartiment du réfrigérateur pendant 5 à 10 minutes.  +, Sors le verre et souffle doucement à l'intérieur. Que constates-tu?  +
Vous aurez besoin de faire 2 fois plus de trous que vous voulez mettre de cordes. Chaque trou doit avoir un autre trou en face de lui de l'autre coté de la conserve pour pouvoir y insérer les cordes.  +, Vous aurez besoin d'une planche en bois assez épaisse pour soutenir la tension des cordes (un petit centimètre c'est bien).  +, Faites autant de trous que vous voulez mettre de cordes, les trous serviront à mettre les vis qui tendront les cordes. Les trous doivent être faits vers l'extrémité de la planche  +,
Le son sortira par le haut-parleur, mais il faut pouvoir moduler le volume grâce à un potentiomètre. Il faut donc les brancher en série, comme sur la photo. Le haut -parleur est préparé en soudant, à chaque sortie, un fil dupont dont l'extrémité femelle est libre. Sur une de ces extrémités, brancher une des fiches extérieures du potentiomètre. Sur la fiche du milieu, brancher un fil dupont femelle-femelle.  +, Dans du carton (ou autre matériel), dessiner la forme de l'instrument de musique. La découper. <br/>  +, Les différents éléments vont être branchés à la carte Arduino via des embouts femelles de câbles dupont. On peut préparer les câbles dès maintenant : sur des fils dupont, dénuder une des extrémités, en gardant une extrémité femelle.  +,
On brule les cotés du trou jusqu'à se que le trou ai exactement la taille du tuyau, le tuyau dois faire 4cm de long.  +, Avec le pistolet à colle, collé le tuyau a la bouteille  +, Prendre la deuxième bouteille. En répétant étape 1/2/3, joindre les deux bouteilles  +,
<br/><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Utilisation d'électricité 220V au primaire de l'alimentation, cette partie doit être parfaitement sécurisé d'autant que l'on manipule des liquides. Une terre doit être présente sur l'alimentation !</div> </div><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">L'hydrogène est explosif au contact d'une flamme, les volumes produits doivent être minime. Il y a un risque pour les tympans. En cas de retour de flamme dans le système les bocaux peuvent exploser (le couvercle saute avant que le verre casse mais bon...)</div> </div><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Afin de minimiser et éviter les retours de flammes vers vos bocaux, Ne JAMAIS PLACER UNE FLAMME DIRECTEMENT AU TUYAU DE SORTIE. Utiliser un bulleur ou le volume des gazs sera faible, placer une mousse au tuyau de sortie, voir même ajouter un antiretour à la sortie (solution plus bas), voir même ajouter une soupape sur le bulleur. Si vous traiter des volumes de quelques cl, bulleur et mousse sont suffisant par rapport au danger.</div> </div><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Utilisation de soude pour l'électrolyte. En faible quantité mais ça reste très corrosif. Si vous faites manipuler des enfants utiliser du bicarbonnate, beaucoup moins efficace et dégrade les électrodes mais ça marche.</div> </div><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Pour l'électrolyte ne pas utiliser de sel qui produit du dichlore, gaz très toxique, une sorte de gaz moutarde ..</div> </div>  , *Les électrodes + et - se dégradent ou se salissent différemment. *Le courant monte avec le temps, c'est normal. (surtout en 12V) *La température de l'électrolyseur monte, c'est normal (d'autant plus en 12 V). *Le niveau d'eau monte dans le bulleur , c'est normal c'est du à l'évaporation dans l'électrolyseur (d'autant plus en 12V). *L'ampérage dépasse les 10 A (d'autant plus en 12 V). si vous n'avez pas de pince ampèremétrique, couper sous peine d'endommager votre multimètre. *Le courant monte rapidemement ? on s'approche du court circuit à cause de l'encrassememnt, des christaux qui se forment. *Le courant s'approche de la limite de l'alimentation, couper. *NETTOYER , en électrolisant dans de l'eau pure pendant 30s-60s. *Verifier l'isolation entre vos 2 électrodes.   +, -Electrodes : crayon de papier - Electrolyte : eau du robinet + bicarbonnate bien mélangé - Alimentation : pile 9 V ou une vrai alimentation. - mettre une flamme directement au dessus du récipient (a tester)  +,
H
- plan de masse avec les points cardinaux - cartes "pièces de la maison" - tableau d'analyse "Bioclimatique" - un crayon <br/><div class="icon-instructions pin-icon"> <div class="icon-instructions-icon"><i class="fa fa-thumb-tack"></i></div> <div class="icon-instructions-text">voir les documents joints dans l'onglet "fichiers".</div> </div><br/>  +, Ensuite, les participants remplissent la fiche « Bioclimatique » à partir du plan de la maison qu'ils ont réalisé. ''Quel est votre score ?''  +, Enfin, les participants sont invités à refaire un nouveau plan en prenant en compte les criètres de notation énergétique et remplissent à nouveau la fiche « Bioclimatique ». Comparer les 2 scores. ''Sont-ils identiques ?''  +,