Arduino UNO Q - Module LDR
Ce tutoriel vous montre comment utiliser un Arduino UNO Q avec un module capteur de lumière LDR. Vous apprendrez :
- Comment connecter le module capteur de lumière LDR à un Arduino UNO Q
- Comment détecter la lumière en utilisant la sortie numérique (DO) du module
- Comment mesurer l'intensité lumineuse en utilisant la sortie analogique (AO) du module

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du Module Capteur de Lumière LDR
Le module capteur de lumière LDR peut être utilisé pour détecter la lumière ou mesurer les niveaux de lumière autour de lui. Il offre deux choix : une sortie numérique et une sortie analogique.
Brochage
Le module capteur de lumière LDR possède quatre broches :
- Broche VCC : Connectez-la à VCC (3,3V à 5V).
- Broche GND : Connectez-la à GND (0V).
- Broche DO : C'est une broche de sortie numérique. Elle affiche HIGH lorsqu'il fait sombre et LOW lorsqu'il y a de la lumière. Vous pouvez changer le seuil obscurité/lumière en ajustant le potentiomètre sur le module.
- Broche AO : C'est une broche de sortie analogique. La valeur de sortie diminue lorsqu'il fait plus lumineux et augmente lorsqu'il fait plus sombre.

Il possède également deux indicateurs LED :
- Une LED d'alimentation indique lorsque l'alimentation est activée.
- Une LED DO indique l'état de lumière sur la broche DO : elle s'allume en présence de lumière et s'éteint dans l'obscurité.
Fonctionnement
Pour la broche DO :
- Le module possède un potentiomètre pour définir le seuil de lumière.
- Si le niveau de lumière est supérieur au seuil défini avec le potentiomètre, la broche DO est LOW et la LED DO est éteinte.
- Si le niveau de lumière est inférieur au seuil, la broche DO est HIGH et la LED DO est allumée.
Pour la broche AO :
- La broche AO donne une lecture qui change avec le niveau de lumière.
- Lorsqu'il y a beaucoup de lumière, la lecture AO est plus faible.
- Lorsqu'il fait plus sombre, la lecture AO est plus élevée.
- Le potentiomètre n'affecte pas la broche AO — il ne change que le seuil pour la broche DO.
※ Note:
Le MCU STM32 de l'Arduino UNO Q possède un ADC 12 bits (0–4095) avec une référence de 3,3V. Les valeurs analogiques AO diffèrent de celles des cartes Arduino à 10 bits (0–1023). Adaptez toujours vos seuils en conséquence.
Schéma de Câblage
Le module capteur de lumière possède deux sorties. Vous pouvez en utiliser une ou les deux, selon vos besoins.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code MCU — Lire la valeur de la broche DO
L'Arduino UNO Q possède deux processeurs : le MCU STM32 (gère le contrôle matériel en temps réel) et le MPU Qualcomm (exécute Debian Linux). Dans cette section, seul le MCU STM32 est programmé — le côté Linux reste inactif. Une section ultérieure montrera comment les deux processeurs travaillent ensemble.
Le code lit l'état numérique de la broche DO — HIGH signifie sombre, LOW signifie lumière présente :
Étapes Rapides
- Première fois avec Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q pour préparer votre environnement de développement avant de continuer.
- Câbler les composants : Connectez VCC → 3,3V, GND → GND, DO → broche 2, AO → A0 comme indiqué dans le schéma.
- Connecter : Branchez l'Arduino UNO Q à votre ordinateur avec un câble USB-C.
- Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q.
- Créer une nouvelle application : Cliquez sur le bouton Create New App.

- Donnez un nom à l'application, par exemple : DIYables_LDRModule
- Cliquez sur Create pour confirmer.
- Vous verrez un ensemble de dossiers et fichiers générés dans votre nouvelle application.

- Trouvez le fichier sketch/sketch.ino — c'est là que vous collerez le sketch MCU.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Téléverser : Cliquez sur le bouton Run dans Arduino App Lab pour compiler et téléverser vers le STM32.

- Tester : Bloquez et débloquez la lumière sur le module LDR avec votre main. Utilisez la section Bridge ci-dessous pour voir les résultats via le Moniteur.
- Si la LED reste allumée tout le temps ou est éteinte même en présence de lumière, tournez le potentiomètre pour ajuster la sensibilité du module.
Code MCU — Lire la valeur de la broche AO
Le code lit la valeur d'intensité analogique de la broche AO (ADC 12 bits : 0–4095 sur Arduino UNO Q) :
Étapes Rapides
- Remplacez le sketch DO par le code AO ci-dessus (collez-le dans sketch/sketch.ino).
- Téléversez à nouveau et utilisez la section Bridge ci-dessous pour voir les lectures analogiques via le Moniteur.
Programmation Bridge Linux + MCU
L'Arduino UNO Q possède deux processeurs qui travaillent ensemble : le MPU (Qualcomm, exécute Debian Linux) et le MCU (STM32, exécute Zephyr OS avec votre sketch Arduino). Ils communiquent via RPC grâce à la bibliothèque Arduino_RouterBridge — jamais via des ports série bruts.
- Le module LDR est connecté au MCU (STM32) — la broche DO se connecte à une entrée numérique et la broche AO se connecte à l'entrée analogique A0 sur le STM32.
- Le MPU ne peut pas lire ces broches directement — il doit appeler une fonction sur le MCU via Bridge.call() pour demander les lectures DO ou AO.
- Le MPU dispose du Wi-Fi — comme le MPU exécute Debian Linux complet avec Wi-Fi, il peut recevoir des commandes Telegram et envoyer des lectures de capteurs à distance.
- Communication : Bridge.call() du côté Linux invoque les fonctions Bridge.provide() du côté MCU (la lecture numérique/analogique est sûre — aucune écriture GPIO matérielle nécessaire)
- ⚠️ Réservé : /dev/ttyHS1 (Linux) et Serial1 (MCU) sont utilisés par le routeur Arduino — ne les ouvrez jamais directement
En résumé : Le MPU demande une lecture → le MCU lit DO/AO → le MCU affiche le résultat sur le Moniteur.
Sketch MCU — lecture du module LDR avec Bridge et sortie Moniteur :
Script Python (Arduino App Lab) — demander des lectures depuis Linux toutes les secondes :
- Remarque : Assurez-vous que Bridge.begin() est appelé dans le sketch MCU et que le sketch est téléversé avant d'exécuter le script Python du côté Linux.
- ⚠️ Avertissement : N'ouvrez jamais directement /dev/ttyHS1 (sur Linux) ou n'utilisez jamais Serial1 (sur le MCU) dans votre code — ceux-ci sont réservés par le routeur Arduino et y accéder cassera le Bridge.
Étapes Rapides
- Téléverser le sketch MCU : Ouvrez Arduino App Lab, créez une nouvelle application, collez le sketch MCU Bridge dans sketch/sketch.ino, installez la bibliothèque Arduino_RouterBridge, et cliquez sur Run.
- Ajouter le script Python : Collez le code Python ci-dessus dans l'onglet Python de la même application.
- Exécuter l'application : Cliquez sur Run — Python demande les lectures DO et AO toutes les secondes.
- Vérifier la console : Ouvrez l'onglet Console → sous-onglet Moniteur MCU pour voir les lectures.
Sortie de la Console App Lab
Intégration Telegram
Lisez le module LDR à distance depuis n'importe où via Telegram.
Si vous n'avez pas encore de bot Telegram, consultez Arduino UNO Q - Bot Telegram pour obtenir votre token de bot avant de continuer.
Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente — aucune modification nécessaire. Assurez-vous qu'il est déjà téléversé et en cours d'exécution sur le STM32 avant de continuer.
Script Python (Arduino App Lab) — bot Telegram pour la lecture du module LDR :
- Remarque : Remplacez YOUR_BOT_TOKEN par le token obtenu depuis @BotFather sur Telegram.
- Envoyez /do pour lire la sortie numérique (état lumière/sombre).
- Envoyez /ao pour lire la sortie analogique (0–4095).
- Envoyez /read pour lire à la fois DO et AO en même temps.
Étapes Rapides
- Téléverser le sketch MCU : Utilisez le sketch MCU Bridge de la section précédente (téléversez-le d'abord si ce n'est pas déjà fait).
- Coller le script Telegram : Copiez le code Python ci-dessus dans l'onglet Python de votre application dans Arduino App Lab.
- Définir votre token : Remplacez YOUR_BOT_TOKEN dans le script par votre vrai token de bot.
- Exécuter l'application : Cliquez sur Run — le bot commence à écouter les messages Telegram.
- Tester : Envoyez /do — le bot répond avec l'état numérique. Envoyez /ao — le bot répond avec la valeur analogique. Envoyez /read — le bot répond avec les deux.
Sortie de la Console App Lab
ArduinoBot
Intégration d'OpenClaw
Vous pouvez adapter OpenClaw à ce tutoriel en vous référant aux instructions du tutoriel Arduino UNO Q - OpenClaw.
Idées d'Application/Projets
- Veilleuse automatique : Déclencher le contrôle de l'éclairage lorsque le module détecte l'obscurité
- Rideau intelligent : Utiliser les lectures AO pour surveiller les niveaux de lumière changeants tout au long de la journée
- Moniteur de plante : Alerter via Telegram lorsque l'exposition à la lumière d'une plante tombe en dessous d'un seuil
- Système de sécurité : Détecter les changements de lumière dans une pièce (par exemple, quelqu'un allumant les lumières la nuit) et envoyer des alertes
- Enregistreur de données : Enregistrer les niveaux de lumière dans le temps en utilisant le système de fichiers Linux du MPU pour analyse
Défiez-vous
- Facile : Renvoyer l'état numérique réel ("Lumière présente" ou "Sombre") à l'utilisateur Telegram via le Moniteur MCU
- Moyen : Envoyer la valeur AO réelle directement à l'utilisateur Telegram sans qu'il ait besoin de vérifier le Moniteur
- Avancé : Définir un seuil via Telegram (par exemple, /threshold 2000) et envoyer automatiquement des alertes lorsque la valeur AO le dépasse