-
-
CONCOURS
Internet of Things : une serre intelligente qui prend soin de vos plantes
Découvrez le projet de serre intelligente présenté dans EDUvision Saison 3 Épisode 02. Ce projet utilise le kit Explore IoT pour construire une serre qui prend soin de vos plantes à votre place ! Les capteurs internes et les relais du MKR IoT sont utilisés pour activer un humidificateur et une pompe à eau.
Matériel nécessaire
- Kit IoT (capteurs d'humidité, de température, de lumière et d'humidité, module relais, carte de développement et support)
- Serre
- Plantes
- Ordinateur
- Humidificateur
- Pompe à eau
- Téléphone (facultatif)
Ce kit comprend le matériel, les software et les supports pédagogiques nécessaires pour réaliser 10 activités couvrant un large éventail de sujets (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 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 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 vous avez besoin et, en plus, vous pouvez connecter le capteur d'humidité à l'aide du câble plug-and-play. Pour contrôler l'humidificateur, vous pouvez le modifier 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 connectable 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 vous cliquez sur le bouton Configurer, une nouvelle fenêtre s'ouvrira. Vous devrez alors saisir vos identifiants pour votre réseau Wi-Fi et cliquer sur le bouton Enregistrer.
Tableau de bord
Une fois les variables créées, vous pouvez 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. Vous devez maintenant choisir différents widgets pour visualiser les données. Si vous cliquez sur le bouton Ajouter en haut à gauche, vous pouvez choisir parmi une large gamme de widgets, certains étant plus adaptés aux données que vous suivrez.
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)