Inhaltsverzeichnis:
- Schritt 1: Verdrahten der NRF24L01-Module und -Schaltung
- Schritt 2: Codieren des Senders
- Schritt 3: Codieren des Empfängers
- Schritt 4: FERTIG
Video: Drahtlose Arduino Light-Matching-LED-Lampe mit Fotowiderstand - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Dieses instructable beschreibt die Schritte, die notwendig sind, um eine rudimentäre drahtlose lichtempfindliche LED-Lampe mit Arduino Unos und einem Fotowiderstand zu konstruieren. Eine mögliche Anwendung für dieses Gerät wäre, einen Raum ohne Fenster mit künstlichem Sonnenlicht zu beleuchten und in Echtzeit den tatsächlichen Lichtverhältnissen draußen anzupassen. Lass uns anfangen!
Versorgungsliste:
Arduino Uno x2
NRF24L01 Drahtloser Transceiver x2 (Optional - NRF24L01 Rucksack x2)
TIP120 Darlington-Transistor
Fotowiderstand
5mm LEDs x3
Druckknopf
100 Ohm Widerstand x3
10k Ohm Widerstand x3
Verschiedene Überbrückungsdrähte
Schritt 1: Verdrahten der NRF24L01-Module und -Schaltung
In diesem Projekt fungiert ein Arduino als Sender und sendet Lichtpegeldaten vom Fotowiderstand, wenn der Taster gedrückt wird. Das andere Arduino dient als Empfänger, nimmt diese Daten und wandelt sie in das Signal an die LEDs um. Das erste Bild zeigt das Senderdiagramm und das zweite den Empfänger.
Hinweis: Auf den Fotos meines Projekts werden Sie feststellen, dass die NRF24L01-Transceiver an einer anderen Platine befestigt sind. Dies ist ein Rucksackmodul für die Transceiver, das als Leistungsregler fungiert. Diese Rucksäcke erleichtern nicht nur die Verkabelung, sondern regulieren auch die Stromaufnahme für den NRF24L01 und ermöglichen so die Verwendung einer 5V-Stromversorgung. Ich habe diese Rucksäcke in meinem Diagramm der Übersichtlichkeit halber weggelassen.
(Wenn Sie sich für die Verwendung der Rucksäcke entscheiden, finden Sie unter diesem Link ein Diagramm der Pin-Positionen in Bezug auf die Lagernummer NRF24L01).
Unten angehängt ist eine PDF-Kopie der Schaltung zum leichteren Zoomen/detaillierten Betrachten.
Schritt 2: Codieren des Senders
Der letzte Schritt ist die Codierung. Zur Verwendung mit den NRF24L01-Modulen müssen Sie die RadioHead-Bibliothek oder eine gleichwertige Bibliothek installieren.
Für dieses Projekt verwenden die Sender- und Empfänger-Arduinos jeweils einen anderen Code. Hier der Code für den Sender:
Ich habe auch die.ino-Datei (NRF_Send) der Einfachheit halber angehängt.
#enthalten
#enthalten
RH_NRF24 nrf24; //Initialisierung eines Transceivers als nrf24
int-Taste = 5; // Einstellung der Pinwerte für die Taste und den Fotowiderstand
int pWiderstand = A0; int-Wert = 0; // Lichtwert von 0-1023
Void-Setup ()
{ Serial.begin (9600); pinMode (Taste, EINGANG); pinMode (pWiderstand, EINGANG); if (!nrf24.init()) // Warnt den Benutzer, wenn die Initialisierung des Moduls fehlschlägt Serial.println("init failed"); // Standardwerte nach Init sind 2,402 GHz (Kanal 2), 2Mbps, 0dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF failed"); }
Leere Schleife ()
{ if (digitalRead (button)) {// Nachricht senden, wenn die Taste gedrückt wird value = analogRead (pResistor); // Lesen Sie den Wert des Fotowiderstands (0-1023) uint8_t data = {value}; // Setzt ein Array namens "data" mit dem Lichtwert nrf24.send(data, sizeof(data)); // Senden Sie das Array an den Empfänger nrf24.waitPacketSent(); // Warten Sie, bis das Paket gesendet wurde Serial.println ("Light Value: " +String (value)); //Drucken Sie den Lichtwert in den seriellen Monitor}}
Schritt 3: Codieren des Empfängers
Für den Empfänger verwendet der Code auch die RadioHead Library.
#enthalten
#enthalten
RH_NRF24 nrf24;
int LEDPin = 3;
int-Wert = 0; // Lichtwert von 0-1023
Void-Setup ()
{ Serial.begin (9600); pinMode (LEDPin, AUSGANG); if (!nrf24.init()) Serial.println("init fehlgeschlagen"); // Standardwerte nach Init sind 2,402 GHz (Kanal 2), 2Mbps, 0dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF failed"); }
Leere Schleife ()
{ // Auf eine Nachricht warten uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN]; //Speichere die empfangene Nachricht als Array namens "buf" uint8_t len = sizeof(buf); //Speichere die Größe von buf als "len" while (nrf24.waitAvailableTimeout(200) && nrf24.recv(buf, &len)) //Empfängt die Nachricht für 200 Millisekunden oder bis die ganze Nachricht empfangen wurde { value = buf[0]; // Setzt den Wert auf den ersten Index von buf , der das Int vom Fotowiderstand analogWrite (LEDPin, map (value, 0, 1023, 0, 255)) ist; // Setzt den PWM-Pin, um einen skalierten Wert zwischen 0-255 für die LED-Helligkeit auszugeben Serial.println (String (Wert)); } analogWrite (LEDPin, 0); }
Schritt 4: FERTIG
Viel Spaß beim Spielen mit verschiedenen Lichtstufen und beobachten Sie, wie die LEDs dazu passen! Der Fotowiderstand kann manchmal pingelig sein und funktioniert am besten in einem dunklen Raum mit einer lokalisierten Lichtquelle (kann aber auch draußen mit der Sonne arbeiten).
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Beginnen Sie mit Light Painting (kein Photoshop): 5 Schritte (mit Bildern)
Beginnend mit Light Painting (kein Photoshop): Ich habe vor kurzem eine neue Kamera gekauft und einige ihrer Funktionen untersucht, als ich im Internet auf Light Painting oder Langzeitbelichtung gestoßen bin. Die meisten von uns werden die Grundform des Lightpaintings mit einem Foto in einer Stadt mit einer Straße gesehen haben
Drahtlose Kopfhörer Teil 2: 3 Schritte
Drahtlose Kopfhörer Teil 2: Für dieses Upgrade verwenden:Neue Bluetooth-EmpfängerTastenDrähte können aus Twisted Pair entnommen werden
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: 4 Schritte (mit Bildern)
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: Im ersten Teil dieser Anleitung habe ich gezeigt, wie man einen PIC12F1822 mit MPLAB IDE und XC8-Compiler programmiert, um einen einfachen String drahtlos mit billigen TX / RX 433 MHz-Modulen zu senden. Das Empfängermodul wurde über einen USB mit UART TTL verbunden Kabel-Werbung