Table des matières:
- Étape 1: Câblage des modules et du circuit NRF24L01
- Étape 2: Codage de l'émetteur
- Étape 3: Codage du récepteur
- Étape 4: FAIT
Vidéo: Lampe LED sans fil Arduino assortie à la lumière utilisant une photorésistance : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Cette instructable détaille les étapes nécessaires pour construire une lampe LED rudimentaire à détection de lumière sans fil à l'aide d'Arduino Unos et d'une photorésistance. Une application possible pour cet appareil serait d'éclairer une pièce sans fenêtres avec une lumière artificielle du soleil, correspondant aux conditions d'éclairage réelles à l'extérieur en temps réel. Commençons!
Liste d'approvisionnement:
Arduino Uno x2
Émetteur-récepteur sans fil NRF24L01 x2 (En option - sac à dos NRF24L01 x2)
Transistor Darlington TIP120
Photorésistance
LED 5 mm x3
Bouton
Résistance 100 ohms x3
Résistance 10k ohms x3
Divers fils de cavalier
Étape 1: Câblage des modules et du circuit NRF24L01
Dans ce projet, un Arduino agira comme un émetteur, envoyant des données de niveau de lumière à partir de la photorésistance lorsque le bouton-poussoir est enfoncé. L'autre Arduino servira de récepteur, prenant ces données et les transformant en signal aux LED. La première image montre le schéma de l'émetteur et la seconde montre le récepteur.
Remarque: sur les photos de mon projet, vous remarquerez que les émetteurs-récepteurs NRF24L01 sont attachés à un autre PCB. Il s'agit d'un module dorsal pour les émetteurs-récepteurs, qui agit comme un régulateur de puissance. En plus de faciliter le câblage, ces sacs à dos régulent l'alimentation du NRF24L01, permettant l'utilisation d'une alimentation 5V. J'ai omis ces sacs à dos dans mon schéma par souci de clarté.
(Si vous décidez d'utiliser les sacs à dos, veuillez vous référer à ce lien pour un diagramme des emplacements des broches en référence au stock NRF24L01).
Vous trouverez ci-dessous une copie PDF du circuit, pour un zoom/une visualisation plus facile.
Étape 2: Codage de l'émetteur
La dernière étape est le codage. Vous devrez installer la bibliothèque RadioHead ou une bibliothèque équivalente à utiliser avec les modules NRF24L01.
Pour ce projet, l'émetteur et le récepteur Arduinos utilisent un code différent sur chacun. Voici le code de l'émetteur:
J'ai également joint le fichier.ino (NRF_Send) pour plus de commodité.
#comprendre
#comprendre
RH_NRF24 nrf24; //Initialisation d'un transceiver en nrf24
bouton int = 5; //Définition des valeurs de broche pour le bouton et la photorésistance
int pRésistance = A0; valeur entière = 0; //Valeur de lumière de 0-1023
void setup()
{ Serial.begin(9600); pinMode(bouton, INPUT); pinMode(pRésistor, INPUT); if (!nrf24.init()) //Avertit l'utilisateur si l'initialisation du module échoue Serial.println("init failed"); // Les valeurs par défaut après l'initialisation sont 2,402 GHz (canal 2), 2 Mbps, 0 dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF a échoué"); }
boucle vide()
{ if (digitalRead(button)) { //Envoyer un message si le bouton est enfoncé value = analogRead(pResistor); //Lire la valeur de la photorésistance (0-1023) uint8_t data = {value}; //Définit un tableau appelé "data" contenant la valeur de lumière nrf24.send(data, sizeof(data)); //Envoyer le tableau au destinataire nrf24.waitPacketSent(); //Attendez que le paquet ait été envoyé Serial.println("Light Value: " +String(value)); //Imprime la valeur de la lumière dans le moniteur série } }
Étape 3: Codage du récepteur
Pour le récepteur, le code utilise également la bibliothèque RadioHead.
#comprendre
#comprendre
RH_NRF24 nrf24;
int LEDPin = 3;
valeur entière = 0; //Valeur de lumière de 0-1023
void setup()
{ Serial.begin(9600); pinMode (LEDPin, SORTIE); if (!nrf24.init()) Serial.println("l'initialisation a échoué"); // Les valeurs par défaut après l'initialisation sont 2,402 GHz (canal 2), 2 Mbps, 0 dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF a échoué"); }
boucle vide()
{ // Attend un message uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN]; //Stocke le message reçu sous forme de tableau appelé "buf" uint8_t len = sizeof(buf); //Stocke la taille de buf comme "len" while (nrf24.waitAvailableTimeout(200) && nrf24.recv(buf, &len)) //Reçoit le message pendant 200 millisecondes ou jusqu'à ce que le message entier soit reçu { value = buf[0]; //Définit la valeur sur le premier index de buf, qui est l'entier de la photorésistance analogWrite(LEDPin, map(value, 0, 1023, 0, 255)); // Définit la broche PWM pour produire une valeur mise à l'échelle entre 0 et 255 pour la luminosité de la LED Serial.println(String(value)); } analogWrite(LEDPin, 0); }
Étape 4: FAIT
Amusez-vous à jouer avec différents niveaux de lumière et à regarder les LED les assortir ! La photorésistance peut parfois être capricieuse et fonctionne mieux dans une pièce sombre avec une source de lumière localisée (mais peut également fonctionner à l'extérieur avec le soleil).
Conseillé:
Comment utiliser une photorésistance pour allumer une LED avec Aurduino : 12 étapes
Comment utiliser une photorésistance pour allumer une LED avec Aurduino : bonjour/après-midi/soirée à tous les amateurs d'Arduino ! Aujourd'hui, je vais vous montrer comment utiliser une photorésistance (photocellule) pour allumer une LED. Le code fourni avec ce Instructable laissera la LED s'assoir normalement, mais clignotera wh
Robot Arduino sans fil utilisant le module sans fil HC12 : 7 étapes
Robot Arduino sans fil utilisant le module sans fil HC12 : Salut les gars, bon retour. Dans mon article précédent, j'ai expliqué ce qu'est un circuit de pont en H, un circuit intégré de pilote de moteur L293D, un circuit de pilote de moteur L293D superposé pour piloter des pilotes de moteur à courant élevé et comment vous pouvez concevoir et fabriquer votre propre carte de pilote de moteur L293D
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino - Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor - Hélicoptère Rc - Avion Rc utilisant Arduino: 5 étapes (avec photos)
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino | Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor | Hélicoptère Rc | Avion Rc utilisant Arduino: Pour faire fonctionner une voiture Rc | Quadricoptère | Drone | Avion radiocommandé | Bateau RC, nous avons toujours besoin d'un récepteur et d'un émetteur, supposons que pour RC QUADCOPTER nous ayons besoin d'un émetteur et d'un récepteur à 6 canaux et que ce type de TX et RX soit trop coûteux, nous allons donc en faire un sur notre
Point d'accès sans fil de 50 mètres de portée avec adaptateur sans fil USB TP Link WN7200ND sur Raspbian Stretch: 6 étapes
Point d'accès sans fil de 50 mètres de portée avec adaptateur sans fil USB TP Link WN7200ND sur Raspbian Stretch : Raspberry Pi est idéal pour créer des points d'accès sans fil sécurisés mais il n'a pas une bonne portée, j'ai utilisé un adaptateur sans fil USB TP Link WN7200ND pour l'étendre. Je veux partager comment le fairePourquoi est-ce que je veux utiliser un Raspberry Pi au lieu d'un routeur ?T
Pirater une sonnette sans fil dans un interrupteur d'alarme sans fil ou un interrupteur marche/arrêt : 4 étapes
Piratage d'une sonnette sans fil dans un interrupteur d'alarme sans fil ou un interrupteur marche/arrêt : j'ai récemment construit un système d'alarme et je l'ai installé dans ma maison. J'ai utilisé des interrupteurs magnétiques sur les portes et les ai câblés à travers le grenier. Les fenêtres étaient une autre histoire et leur câblage n'était pas une option. J'avais besoin d'une solution sans fil et c'est