Inhaltsverzeichnis:

Arduino Wireless-Kombinationsschloss mit NRF24L01 und 4-stelliger 7-Segment-Anzeige - Gunook
Arduino Wireless-Kombinationsschloss mit NRF24L01 und 4-stelliger 7-Segment-Anzeige - Gunook

Video: Arduino Wireless-Kombinationsschloss mit NRF24L01 und 4-stelliger 7-Segment-Anzeige - Gunook

Video: Arduino Wireless-Kombinationsschloss mit NRF24L01 und 4-stelliger 7-Segment-Anzeige - Gunook
Video: Arduino Mikrocontroller programmierung Tastatur erstellen Teil 5 2024, November
Anonim
Arduino Wireless-Kombinationsschloss mit NRF24L01 und 4-stelliger 7-Segment-Anzeige
Arduino Wireless-Kombinationsschloss mit NRF24L01 und 4-stelliger 7-Segment-Anzeige

Dieses Projekt begann als eine Übung, etwas mit einer 4-stelligen 7-Segment-Anzeige zu tun.

Was ich mir ausgedacht habe, war die Möglichkeit, eine 4-stellige Kombinationsnummer einzugeben, aber als es fertig war, war es ziemlich langweilig. Ich habe es mit einem Arduino UNO gebaut. Hat funktioniert, aber sonst nichts.

Ich hatte dann die Idee, dass es eine Taste zum Akzeptieren der ausgewählten Nummer und vielleicht eine weitere Taste zum Ändern der Kombination und möglicherweise eine LED haben sollte, um jederzeit den Zustand anzuzeigen, in dem sie sich befindet. Das klang zwar nach einem Plan, bedeutete aber auch, dass mir die Pins an der UNO ausgehen würden. Es kann eine Möglichkeit geben, dieses Gerät zu multiplexen, aber ich bin mir nicht sicher, wo ich anfangen soll, also griff ich nach dem Arduino Mega.

Jetzt, da ich ein größeres Board benutzte und mehr Pins zum Spielen hatte, beschloss ich auch, Wi-Fi-Funktionen hinzuzufügen, um mit einem anderen Arduino zu kommunizieren, der tatsächlich eine Art Schalter steuern würde.

Schritt 1: Anforderungen und Teileliste

Anforderungen und Teileliste
Anforderungen und Teileliste

Nachdem ich über all das nachgedacht habe, habe ich jetzt eine Liste von Anforderungen:

  • Um eine 4-stellige Kombination eingeben zu können.
  • Um mit einer fest codierten Standardkombination zu beginnen.
  • Um die Kombination ändern und die neue Kombination im EEPROM des Arduino speichern zu können.
  • Den Status des Schlosses mit einer roten LED für verriegelt und einer grünen LED für geöffnet anzeigen.
  • Zeigen Sie den Status beim Ändern der Kombination mit einer blauen LED an.
  • Wenn der Zustand entsperrt ist, bleiben Sie eine Zeit lang und kehren Sie dann in den gesperrten Zustand zurück.
  • Übertragen Sie den gesperrten / entsperrten Zustand an ein anderes Arduino.
  • Zeigen Sie den gleichen Zustand mit roten und grünen LEDs auf dem empfangenden Arduino an.
  • Verwenden Sie zu Demonstrationszwecken ein Servo, das basierend auf dem empfangenen Zustand als Sperrmechanismus fungiert.

Aus den Anforderungen kann ich nun eine Stückliste erstellen:

Der Sender:

  • Arduino-Mega.
  • Steckbrett.
  • 4-stellige 7-Segment-Anzeige.
  • 2 x Taster, mit Kappen.
  • 1 X RGB-LED.
  • 9 x 220 Ohm Widerstände. 8 für das Display und 1 für die RGB-LED.
  • 2 x 10kOhm Widerstände. Ziehen Sie die Widerstände für die 2 Tasten herunter. (Ich habe tatsächlich 9,1 kOhm verwendet, weil ich das hatte)
  • 1 X 10k Potentiometer.
  • 1 X NRF24L01
  • [optional] 1 X YL-105 Breakout-Board für den NRF24L01. Dies ermöglicht eine 5-V-Verbindung und eine einfachere Verkabelung. Überbrückungsdrähte

Der Empfänger:

  • Arduino UNO.
  • Steckbrett.
  • 1 X RGB-LED.
  • 1 x 220 Ohm Widerstand. Für die LED.
  • 1 X-Servo. Ich habe einen SG90 nur zu Demonstrationszwecken verwendet.
  • 1 X NRF24L01
  • optional] 1 X YL-105 Breakout-Board für den NRF24L01. Dies ermöglicht eine 5-V-Verbindung und eine einfachere Verkabelung.
  • Überbrückungsdrähte

Schritt 2: Das Display

Der Bildschirm
Der Bildschirm
Der Bildschirm
Der Bildschirm

Ich habe eine 4-stellige 7-Segment-Anzeige verwendet

Getestet mit SMA420564 und SM420562K (Pins sind gleich)

Pin 1 und 12 sind markiert.

Pin-Anordnung von oben nach unten 12, 11, 10, 9, 8, 7 1, 2, 3, 4, 5, 6

Pins 12, 9, 8, 6 schalten die Ziffer 1 bis 4 von links nach rechts ein oder aus

Schritt 3: Verdrahten des Arduino Mega:

Verdrahten des Arduino Mega
Verdrahten des Arduino Mega

Anzeige zu Arduino-Pin-Anordnung

  • 1 zu Pin 6 über 220 Ohm Widerstand (E)
  • 2 an Pin 5 über 220 Ohm Widerstand (D)
  • 3 an Pin 9 über 220 Ohm Widerstand (DP) hier nicht verwendet
  • 4 zu Pin 4 über 220 Ohm Widerstand (C)
  • 5 zu Pin 8 über 220 Ohm Widerstand (G)
  • 6 bis Pin 33 (Stelle 4)
  • 7 zu Pin 3 über 220 Ohm Widerstand (B)
  • 8 bis Pin 32 (Stelle 3)
  • 9 bis Pin 31 (Ziffer 2)
  • 10 zu Pin 7 über 220 Ohm Widerstand (F)
  • 11 zu Pin 2 über 220 Ohm Widerstand (A)
  • 12 bis Pin 30 (Stelle 1)

10kOhm Potentiometer zum Ändern der Zahl auf der angezeigten Stelle

  • Äußerer Stift an 5V
  • Mittelstift auf A0
  • Anderer äußerer Pin zu GND

Nummerntaste akzeptieren

  • An Pin 36.
  • Und Pin 36 über einen 10kOhm Pulldown-Widerstand an GND

Schaltfläche Kombinationsnummer ändern

  • An Pin 37.
  • Und Pin 37 über einen 10kOhm Pulldown-Widerstand an GND

RGB-LED (gemeinsame Kathode)

  • Kathode zu GND über 220 Ohm Widerstand
  • Rot an Pin 40
  • Grün an Pin 41
  • Blau an Pin 42

NRF24L01 mit Breakout-Board:

  • MISO an Pin 50 (obligatorisch durch dedizierten Pin)
  • MOSI an Pin 51 (obligatorisch durch dedizierten Pin)
  • SCK an Pin 52 (obligatorisch durch dedizierten Pin)
  • CE an Pin 44 (optionale Pinnummer aber in der Skizze definiert)
  • CSN an Pin 45 (optionale Pinnummer aber in der Skizze definiert)
  • Vcc zu Arduino 5v (oder 3.3v, wenn das Breakout-Board nicht verwendet wird)
  • GND zu Arduino GND

Schritt 4: Verdrahten des Arduino UNO:

Verdrahten des Arduino UNO
Verdrahten des Arduino UNO

RGB-LED (gemeinsame Kathode)

  • Kathode zu GND über 220 Ohm Widerstand
  • Rot an Pin 2 Grün an Pin 3
  • Blau (wird hier nicht verwendet)

Servo:

  • Rot zu Arduino 5v oder separate Versorgung, falls verwendet
  • Braun auf Arduino GND und separate Versorgung, falls verwendet
  • Orange an Pin 6

NRF24L01 mit Breakout-Board:

MISO an Pin 12 (obligatorisch durch dedizierten Pin)

MOSI an Pin 11 (obligatorisch durch dedizierten Pin)

SCK an Pin 13 (obligatorisch durch dedizierten Pin)

CE an Pin 7 (optionale Pinnummer aber in der Skizze definiert)

CSN an Pin 8 (optionale Pinnummer aber in der Skizze definiert)

Vcc zu Arduino 5v (oder 3.3v, wenn das Breakout-Board nicht verwendet wird)

GND zu Arduino GND

Schritt 5: Wie es funktioniert

Image
Image
Wie es funktioniert
Wie es funktioniert
Wie es funktioniert
Wie es funktioniert
Wie es funktioniert
Wie es funktioniert

Sobald beide Steckbretter fertig sind und die entsprechende Skizze darauf hochgeladen ist, können wir es jetzt testen.

Wenn beide Boards eingeschaltet sind.

Die roten LEDs sollten auf beiden Platinen leuchten.

Das Display zeigt an der ersten Stelle eine Zahl an. Diese Zahl hängt davon ab, wo das Potentiometer derzeit eingestellt ist.

Drehen Sie das Potentiometer, um die gewünschte Zahl zu erhalten.

Sobald die Nummer gefunden wurde, drücken Sie die Annahmetaste. In meinem Fall ist es der links vom Potentiometer.

Machen Sie dasselbe für die anderen drei Zahlen.

Wenn die eingegebene Kombination richtig ist, wird das Wort OPEn angezeigt, die grüne LED leuchtet auf beiden Platinen und das Servo dreht sich um 180 Grad.

Das Display erlischt und die grüne LED leuchtet ca. 5 Sekunden länger.

Sobald die Entsperrzeit abgelaufen ist, leuchten beide LEDs rot und das Servo dreht sich um 180 Grad zurück zum Start.

Wenn die eingegebene Kombination nicht korrekt ist, wird das Wort OOPS angezeigt und die roten LEDs bleiben an.

In der Skizze von 1 1 1 1 gibt es eine hartcodierte Standardkombination.

Um die Kombination zu ändern, müssen Sie zuerst die richtige Kombination eingeben.

Sobald das Wort OPEn erlischt, haben Sie etwa 5 Sekunden Zeit, um die andere Taste zu drücken.

Sobald Sie die Änderungskombinationssequenz eingeben, leuchtet die LED der Hauptplatine blau, während die andere grün bleibt und daher geöffnet ist.

Geben Sie wie zuvor eine neue Kombination ein.

Sobald die neue Kombination akzeptiert wurde (beim letzten Tastendruck), wird sie im EEPROM gespeichert.

Beide Arduinos gehen nun in den gesperrten Modus.

Geben Sie Ihre neue Kombination ein und sie wird wie erwartet freigeschaltet.

Sobald eine Kombination geändert und im EEPROM gespeichert wurde, wird die fest codierte Vorgabe von 1 1 1 1 ignoriert.

Schritt 6: Alles fertig

Ich baute dies mit dem Basis-NRF24L01 mit eingebauter Antenne und schaffte eine gute Kommunikation von etwa 15 Fuß durch eine Wand.

Da das Arduino Mega-Steckbrett etwas mit Drähten im Weg war, habe ich an einigen Stellen direkte Jumper verwendet. Dies, mit der Tatsache, dass sich viel auf einem Steckbrett befindet, macht es schwierig, den Bildern zu folgen.

Ich denke jedoch, dass ich alles Pin für Pin erklärt habe und selbst wenn Sie ein Anfänger sind, sollten Sie in der Lage sein, dieses kleine Projekt zu bauen, indem Sie nur einen Draht oder Pin auf einmal nehmen.

Beide Skizzen sind zur besseren Lesbarkeit vollständig kommentiert und stehen hier zum Download bereit.

Die Skizze für den Arduino Mega ist ziemlich groß, etwa 400 Zeilen, ist aber in überschaubare Stücke aufgeteilt und sollte daher leicht befolgt werden.

Empfohlen: