===== Station météo ===== Cette station météo montre les conditions météorologiques et la température de la ville sélectionnée en temps réel. Elle utilise les données d'[[https://openweathermap.org/|OpenWeatherMap]] et un servo pour déplacer la flèche sur la bonne condition météo. Quand tu cliques sur le bouton A la température est affichée sur la matrice. {{:en:instructions:meteo_1.jpg?400|}} ==== Matériel nécessaire ==== * 1 Kniwwelino * 1 servo standard * 1 câble USB * 1 chargeur USB * 2 assiettes en carton (+- 23cm) * du papier de couleur * du scotch double-face * colle * ciseaux / cutter ==== Bricolage ==== === Modèle === Le modèle pour la station météo est disponible ici: {{ :en:instructions:model_weatherstation.pdf |}} === Instructions === * Utilise le modèle (partie A) pour dessiner et couper le trou pour le Kniwwelino. Fais un petit trou dans au milieu de l'assiette pour y placer le servo. {{:en:instructions:meteo_craft_1.jpg?400|}} \\ * Coupe le connecteur du servo et dénude chaque fil d'environ 1cm (en utilisant les ciseaux par exemple). {{:en:instructions:meteo_craft_2.jpg?400|}} \\ * Enroule les extrémités des fils sur les pins 3.3V (fil rouge), GND (fil noir ou brun) et D6 (fil orange). {{:en:instructions:meteo_craft_3.jpg?400|}} \\ * Dessine les icônes pour la météo sur les cercles du modèle (partie C) et découpe les. Recopie le grand cercle (partie B du modèle) sur du papier de différentes couleurs. Colle les icônes météo sur les cercles de couleur. {{:en:instructions:meteo_craft_4.jpg?400|}} \\ * Colle des petits morceaux de scotch double-face à côté du trou pour le Kniwwelino sur le côté intérieur de l'assiette en carton. {{:en:instructions:meteo_craft_5.jpg?400|}} \\ * Fixe le Kniwwelino, le servo, le câble USB cable et tous les fils avec du scotch double-face ou du scotch normal. {{:en:instructions:meteo_craft_6.jpg?400|}} \\ * Utilise la deuxième assiette pour fermer la station météo. Retourne la station et colle toutes les icônes sur la moitié droite de l'assiette. Dessine et coupe une flêche en utilisant le modèle (partie D) et colle-la sur le servo. {{:en:instructions:meteo_craft_7.jpg?400|}} ==== Programmation ==== Ouvrir la solution directement dans [[https://code.kniwwelino.lu/?lang=fr&xml=examples/meteostation_servo_simple.xml|KniwwelinoBlockly]]. [[https://code.kniwwelino.lu/?lang=fr&xml=examples/meteostation_servo_simple.xml|{{:fr:instructions:meteo1.jpg|}}]] ==== Simplification ==== Si tu n'as pas de servo, tu peux placer le Kniwwelino au milieu de l'assiette et afficher la flèche sur la matrice. {{:en:instructions:meteo_2.jpg?400|}} Projet ouvert à [[https://code.kniwwelino.lu/?lang=fr&xml=examples/weather_station.xml|KniwwelinoBlockly]]. [[https://code.kniwwelino.lu/?lang=fr&xml=examples/weather_station.xml|{{:fr:instructions:meteo2.jpg|}}]] ==== Extension ==== Un extension possible est d'afficher sur la matrice l'évolution des températures au cours des dernières heures. La dernière colonne représente la température actuelle, les 4 premières colonnes montrent les mesures précédentes par intervalle de 30 minutes. Si un seul pixel est affiché sur la ligne inférieure, cela signifie que la température était inférieure à 1°C. {{:en:instructions:meteo_3.jpg?400|}} Pour programmer cette extension, tu dois initialiser la variable pour chaque valeur de température précédente, ainsi qu'une minuterie. Note: pour forcer le type de la variable à être un nombre à virgule (par exemple ''15.0''), tu dois écrire ''15.0f'' dans le bloc. {{:fr:instructions:meteo2-2.png|}} Crée une fonction appelée ''rafraichir'' qui va afficher la courbe des températures sur la matrice. {{:fr:instructions:meteo3.png?850|}} Cette fonction est appelée après avoir cliqué sur le bouton A (et avoir affiché la température comme un texte défilant). {{:fr:instructions:meteo4.png?400|}} Dans la boucle principale, vérifie combien de temps s'est écoulé depuis la dernière mise à jour de la courbe de températures. Si 30 min (1800 secondes) sont passées, alors mets à jour toutes les variables, réinitialise la minuterie et rafraîchis l'écran. {{:fr:instructions:meteo5.png?500|}}