-
-
CONCOURS
Greenhouse
Dans EDUvision Saison 3 Épisode 02, nous avons présenté un projet qui utilise le kit Explore IoT pour construire une serre qui prend soin de vos plantes à votre place ! Dans ce projet, nous tirons parti des capteurs internes et des relais du MKR IoT Carrier pour activer un humidificateur et une pompe à eau.
Matériel nécessaire
- Découvrez le kit IoT (capteurs d'humidité, de température, de lumière et d'humidité, module relais, carte de developpement et support)
- Serre
- Plantes
- Ordinateur
- Humidificateur (en option)
- Pompe à eau (en option)
- Téléphone (facultatif)
Ce kit comprend le matériel, les logiciels et les supports pédagogiques nécessaires pour réaliser 10 activités étape par étape couvrant un large éventail de sujets, allant de la collecte de données et la création d'appareils électroménagers simples aux solutions d'agriculture urbaine et aux systèmes de surveillance météorologique.
Matériel informatique
- Carte Arduino MKR WiFi 1010
- Transporteur IoT MKR
- Boîtier en plastique
- Câble micro USB
- Capteur d'humidité
- Capteur de pression
- Câbles prêts à l'emploi pour tous les capteurs
Logiciel Le kit Explore IoT comprend un essai gratuit de 12 mois du plan Arduino Create Maker. Arduino Create est une plateforme en ligne qui permet à tout un chacun d'écrire du code, d'accéder à du contenu, de configurer des cartes et de partager des projets. Avec le plan gratuit Arduino Create, vous pouvez utiliser l'éditeur Web pour programmer votre carte, connecter plusieurs appareils à l'Arduino IoT Cloud, parcourir une collection de projets sur Arduino Project Hub et vous connecter à distance à vos cartes avec Arduino Device Manager. Avec le plan Arduino Create Maker, vous avez accès à des fonctionnalités supplémentaires et augmentez la productivité de vos outils.
Transporteur IoT MKR
Le MKR IoT Carrier est une extension de la carte MKR WiFi 1010 et a été développé pour le kit Explore IoT. Le carrier n'est pas équipé d'un microcontrôleur, ce qui signifie qu'il doit être utilisé avec une carte Arduino. L'utilisation d'un carrier nous permet de débloquer de nombreuses fonctionnalités utiles et intéressantes, telles qu'un écran, des LED RVB, un gyroscope et différents capteurs. Par exemple, les relais nous permettent d'utiliser une carte Arduino pour contrôler des circuits de puissance supérieure à ceux que la carte Arduino est capable de contrôler elle-même.
Le support MKR IoT comprend :
- Deux relais 24 V
- Support pour carte SD
- Cinq boutons tactiles
- Connecteurs prêts à l'emploi pour différents capteurs
- Capteur de température
- Capteur d'humidité
- Capteur de pression
- RGBC, geste et proximité
- IMU
- Écran RVB 1,20 pouces
- Support pour batterie rechargeable Li-Ion 18650 (batterie non incluse)
- Cinq LED RVB
Câblage
Le MKR IoT Carrier intègre tous les capteurs dont nous avons besoin et, en plus, nous pouvons connecter le capteur d'humidité à l'aide du câble plug-and-play. Pour contrôler l'humidificateur, nous l'avons modifié en coupant le câble USB fourni avec le produit et en le connectant au relais du MKR IoT Carrier. De la même manière, la pompe à eau est également connectée au relais.
Configuration du cloud IoT Arduino
Ouvrez Arduino IoT Cloud et connectez-vous à l'aide de votre compte Arduino. Avec le forfait Create Base gratuit, vous pouvez disposer d'un objet IoT avec 5 variables. Cliquez sur le bouton Créer un objet. Pour commencer, vous devez d'abord donner un nom à votre objet, puis configurer votre appareil. Pour configurer votre carte Arduino, connectez-la à l'ordinateur à l'aide du câble USB, cliquez sur le bouton Sélectionner un appareil et choisissez l'option Configurer un appareil Arduino.
Variables
Cliquez sur le bouton Ajouter une variable. Une nouvelle fenêtre s'ouvrira, dans laquelle vous pourrez choisir le nom, le type de données, les paramètres de mise à jour et les paramètres d'autorisation.
Détails du réseau Wi-Fi®
Si nous cliquons sur le bouton Configurer, une nouvelle fenêtre s'ouvrira. Nous devrons alors saisir nos identifiants pour notre réseau Wi-Fi® et cliquer sur le bouton Enregistrer. N'oubliez pas que le nom du réseau et le mot de passe sont toujours sensibles à la casse.
Tableau de bord
Une fois les variables créées, nous pouvons passer à la création de l'interaction pour celles-ci. Cela se fait via les tableaux de bord. Cliquez sur le bouton Créer un tableau de bord et nommez-le. Nous devons maintenant choisir différents widgets pour visualiser les données. Si nous cliquons sur le bouton Ajouter en haut à gauche, nous pouvons choisir parmi une large gamme de widgets, certains étant plus adaptés aux données que nous suivons.
Code
#include "thingProperties.h"
#include "Arduino_MKRIoTCarrier.h"
MKRIoTCarrier carrier;
int timer_delay = 2000;
int timer_start = 0;
int humidity_histeresys = 10;
int moisture_histeresys = 20;
void setup() {
pinMode(A6, INPUT);
// Initialize serial and wait for port to open:
Serial.begin(9600);
Serial.println("started");
// This delay gives the chance to wait for a Serial Monitor without blocking if none is found
delay(1500);
// Defined in thingProperties.h
initProperties();
// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
/*
The following function allows you to obtain more information
related to the state of network and IoT Cloud connection and errors
the higher number the more granular information you’ll get.
The default is 0 (only errors).
Maximum is 4
*/
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
carrier.begin();
carrier.display.print("Initializating");
humidity = 100;
moisture = 1023;
}
void loop() {
ArduinoCloud.update();
// Your code here
//carrier.display.fillScreen(ST77XX_BLACK);
if(timer()){
updateReadings();
work();
}
}
bool timer(){
if ((millis() - timer_start) > timer_delay){
timer_start = millis();
return true;
}else{
return false;
}
}
void work(){
if(moisture > target_moist - (moisture_histeresys / 2) ){
water(false);
} else if(moisture < target_moist + (moisture_histeresys / 2) ){
water(true);
}
if (humidity > target_humidity - (humidity_histeresys / 2)) {
humidify(false);
} else if(humidity < target_humidity + (humidity_histeresys / 2) ){
humidify(true);
}
}
void updateReadings(){
//temperature = carrier.Env.readTemperature();
humidity = carrier.Env.readHumidity();
moisture = analogRead(A6);
Serial.println("Reading sensors");
/*Serial.print("Temperature: \t");
Serial.println(temperature);*/
Serial.print("Humidity: \t");
Serial.println(humidity);
Serial.print("Moisture: \t");
Serial.println(moisture);
Serial.print("Target humid: \t");
Serial.println(target_humidity);
}
void printData(){
}
void printEmoji(){
}
void humidify(bool status){
if(status){
carrier.Relay2.open();
}else{
carrier.Relay2.close();
}
}
void onHumidifierActiveChange() {
// Do something
humidify(humidifier_active);
}
void water(bool status){
if (status){
carrier.Relay1.open();
}else{
carrier.Relay1.close();
}
}
void onWaterPumpActiveChange() {
// Do something
water(waterPump_active);
}
void onTargetHumidityChange() {
// Do something
}
void onTargetMoistChange() {
// Do something
}
Articles similaires
-
18/11/2025
Hour of Code - Une heure de code avec VEXcode VR
Publié dans: Posts03/12/2020Nettoyez le récif de corail avec VEXcode VR! Pendant cette activité, les élèves doivent ramasser le plus de déchets... -
19/11/2025
Les STEM dans la robotique éducative
Publié dans: Posts21/01/2021La robotique éducative développe la collaboration, la pensée algorithmique, la résolution de problèmes, la logique...... -
23/11/2025
La robotique à l'école ? Pour quoi faire ?
Publié dans: Posts16/02/2021La robotique éducative permet aux élèves d'acquérir des connaissances techniques en STEM tout en développant des soft... -
23/11/2025
Enseigner Python avec la plateforme VEXcode VR
Publié dans: Posts29/05/2021Découvrez comment enseigner le langage de programmation Python grâce à la plateforme en ligne VEXcode VR -
23/11/2025
Comment rédiger une demande de subvention
Publié dans: Posts07/06/2021Le processus de demande de financement peut sembler décourageant, surtout si c'est la première fois que vous...
.png)
.png)
.png)
.png)