Control mit Bluetooth Nano



Mit ein wenig’ der zur Verfügung stehenden Zeit dachte ich an eine der Umsetzung über Bluetooth Steuer. Die Sache ist ganz einfach die Module auf dem Markt mit. Ich nahm einen HC-06, die es ermöglicht, eine einfache Kommunikation über die serielle Daten. Das Projekt ist nicht neu, einen Mangel an Unerfahren vergeben.

Ich habe auch versucht mit einem PIC 16F84A, mit einigem Erfolg, aber für Planungsprobleme ausgesetzt Mikrocontroller ich das Projekt. Ein Mikro eher veraltet, aber ich denke, ich es mit einem 16F628A oder 16F182x tun könnte, die kompatibel sind Pin. Auch, weil jetzt habe ich nicht mehr auf diese Mikrocontroller in Schubladen.

Es ist ein einfacher Vorgang des Verbindens der Ausgänge der’ Arduino mit folgenden Modulen und eine Handvoll von diskreten Komponenten einen Lautsprecher anzutreiben, und die zu entfernen,’ Energie zu dem Bluetooth-Modul, um zu trennen von angeschlossenen Geräten, wenn man vergisst.

Beschreibung

Ein Projekt besteht aus Arduino Nano, ein Bluetooth-Modul und ein Relais’ opto-isolierte.

Das Projekt umfasst einige Besonderheiten :

  • Die Anzahl der Ausgänge und Ports sind konfigurierbar über Firmware. Sie müssen einstellen 2 Variablen [1].

  • Die Ausgänge sind konfigurierbar hoch oder niedrig aktive. Im Standardprogramm aktiv niedrig Ausgänge genommen.

  • Die Ausgänge können entweder so konfiguriert werden, als feste oder als timed. L’ Arduino kümmert Haltung Zahl, selbst wenn diejenigen, die den Befehl nennen, ist nicht mehr vorhanden. Ich tue dies, weil ich Timing-Programme mit Ihrem Smartphone bemerkte, was muss die Zählung der Frist übernehmen. Das bedeutet eine ständige Verbindung mit dem Telefon.

  • Befehle [2] Sie senden einen Befehl Ende durch Leerzeichen oder ein Return-to-head, bis an die Grenze, wenn sie wurden geschickt 6 Zeichen Es endet allein. Warum diese, für die einfache Tatsache, dass viele Programme, pro Android, gibt nicht die Fähigkeit, nicht druckbare Zeichen hinzuzufügen, wie Return-to-head.
    Ich entschied mich für das Programm
    DCmote. Etwas spartanisch für die Konfiguration, aber dann leicht zu verstehen. Vor allem für diejenigen, die nicht wissen viel l’ Verwendung von Smartphone-Funktionen kompliziert. L’ Interface-Spezifikation, und so einfach wie möglich und ermöglicht einen schnellen Zugriff auf die Befehle, nach der mit der Steuerung verbunden haben.

  • Die Steuer trennt die’ Benutzer inaktiv (ohne Zeilenumbrüche) nach 30 Sekunden. Auf diese Weise können andere Benutzer die Steuerung zugreifen. Vielleicht ist es eine Bluetooth-Empfänger Lücke, anstatt einer Verbesserung. Auf diese Weise, wenn man vergisst, die aktive Verbindung, Es ist nicht angeschlossen und die anderen Mitglieder (meiner Familie) Sie können Befehle zugreifen.

  • blinkend, nur um zu sehen, dass das System zum Laufen.

  • Ein Befehl, um einen Alarm ertönen oder ein ein anderer Ton.

    Le-Mail [1] e [2] siehe unter.

Elektro-Schema

Offensichtlich sind die Transistoren sind nicht kritisch, jeder NPN und PNP die Arbeit. Der R2 hat einen Wert von 330 Ohm, um eine LED zu fahren setzen auf der Behälterplatte zu.


Die Brücken werden für Vor-Ort-Programmierung verwendet werden, sie entfernen könnte man das Programm’ Arduino, ohne Störung, aber so geneigt I so, daß ich Huf erwartet, dass der Nano aufzunehmen. Dadurch wird vermieden, mögliche Spannungslecks in Richtung der’ Netzteil.

L’ Stromversorgung muss von 5 Volt stabilisiert und etwas robust das Relais an die Macht, wenn von der Karte mit Strom versorgt. Besser als beide ein Ampere.

L’ Arduino nicht’ im Druck enthalten. In diesem Diagramm zeigt es eine Reihe von Anschlüssen (4 die 8 poli) zur Aufnahme der’ Arduino.

Printed Circuits

BELOW OBEN

 

VORSICHT !

Die unten gedruckt corretzu, um es auf dem Gesicht kupferrot.

 

FUNKTIONALITÄT Programm

Wie durch die Besonderheiten definiert sind, können Sie auch die Firmware modifizieren, um die Flexibilität zu erhalten gewünscht.

[1] Die Variablen, die die folgenden verwendet werden, um zu konfigurieren:

#definieren ACTIVE_LOW wenn es darum geht, mit Kommentarzeile, die Ausgänge aktiv werden hohe. I rele’ Früher habe ich arbeiten, anstatt in negativer Logik.

#definieren BufLen Sie geändert werden, wenn Sie eine andere Kapazität von dem seriellen Eingang verwenden können. Für diejenigen, die die Firmware für verschiedene Zwecke zu modifizieren.

#definieren OUTPUTMASK Er definiert diese Ausgänge, die durch eine allgemeine Zündung nicht beeinträchtigt werden. In meinem Fall, Ich kann mich nicht geschlossenen Kontakt für den Befehl für den Einsatz definiert halten Impuls um das Tor zu bewegen,. Die Toranlage hat bereits seine Wertpapiere, offensichtlich.

#definieren NUMTIMER Sie verändert, wenn Sie können bestimmen, wie viele Ausgänge Sie binden möchten. Ich habe ein Modul 4 Relais, so setzen sich vier. Aber Sie können bis zu acht unter Berücksichtigung erhöhen, dass durch das Programm definierten Zuordnungen sind die 12,11,10,9 Beine, A0, A1, A2, A3. Diese können werden, leicht geändert, siehe unten.

#definieren INPUT_TMO eine Definition des Begriffs, wie lange zu warten, bevor eine inaktive Benutzer trennen. Der Wert ist in Sekunden Mittel. Der Maximalwert ist 255 (über 4 Minuten), ohne andere Teile des Programms zu beeinflussen.

Array port_pin[] Sie können festlegen, welche Füße zuweisen. Von links als erste zugeordnet.

Wie Sie die Werte wurden auf eine Liste gesetzt erraten könnte’ Start Firmware. Für diejenigen, die die Programmierung verstehen wird es einfach sein zu beschmutzen.

[2] Die Befehle an die Steuerung gesendet werden sollen, wie beispiels:

  1. Zur Zündung einer festen Ausgabe wird mit einem Buchstaben gesteuert Kapital die EIN ein H. Interverrein’ die Grenze, die durch wie viele Ausgänge auferlegt hat mit konfiguriert NUMTIMER.

  2. So starten Sie eine Melodie einen Brief mit p, unabhängig davon, ob aktiviert oder miniscola. Die Melodien werden nacheinander durchgeführt. Für den erfahrenen können Sie es so konfigurieren, sogar eine Art Sirene oder andere spielen. Nur auf die Liste gesetzt const uint16_t Melodie und Veränderung TUNENUM die feststellt, wie viele sind. Es gibt eine Grenze bei der Mon-Ghezza eines Arrays, das ist 127. Zur Sicherheit Funktion die nur die erste Ladung 126 Werte oder Anschläge mit zwei Nullen conseguitivi. Um zu klären,, die Funktion erwartet ein Paar von Werten, die die Frequenz und die Dauer sind.

  3. So deaktivieren Sie alle Ausgänge den Brief mit x winzig einschließlich Ausgänge timed.

  4. für die’ Zündung aller Ausgänge, mit einem Brief X Kapital. Sie werden diejenigen, die nicht zugänglich von der Ausgabemaske definiert werden ausgeschlossen.

  5. Für Befehle mit Timer die folgende Zeichenfolge verwenden:


    t (Hauptdarstellers)
    Definition, um anzuzeigen, einen Timer, Ganz gleich, ob Groß- oder Kleinschreibung.

    eine Zahl von 0 die Zahl der Timer
    durch die Firmware definiert. VORSICHT dass’ HEX Gebühr für 4 Ausgänge. (zweites Zeichen). Jetzt ist es nur zählt 4. Wenn es die serielle Kommunikation aktiviert, sehen Sie die Fehlermeldungen. So zum Beispiel, 0 ein 3. Die Indizierung beginnt bei Null.

    s die m oder h
    Definition vereinigt’ Maßnahmen Set. mit s Es zeigt die Sekunden, m Es wird die Minuten angeben und h die Stunden.

    durch einen dreistelligen
    Tapferkeite den Zeitgeber mit der vorherige Größe einzustellen gewünschten. Für Stunden ist die Grenze in 9 Erz. Es kann ein Problem einzustellende 999 Minuten. Ich denke, wir werden das Programm aktualisieren früh.

    ein Raum
    Er schließt die Zeichenfolge erhalten. DCmote dann sollte das Programm die Kontrollen mit einem Abschluss mit Platz gesetzt. Die Return-to-head Ende.

    Zum Beispiel, t3s45, wenn übersetzt l’ Ausfahrt 4 aktiv für 45 Sekunden.

Grenzfall, durch einen Nullwert auf einen Zeitgeber zu senden, Dies wird gefolgert,.

die Paket Es ist immer in seiner Gesamtheit einschließlich der Skizze für Arduino. Wenn es einige Schwierigkeiten es bei der Zusammenstellung, lassen Sie mich wissen.

 

 

Ich habe auch das Programm, das in wandelt RTTTL Werte in C zu ladende. Wie Sie aus der Liste feststellen können, gibt es mehrere melodie I umgewandelt mein Programm. eingeschlossen in Paket. Zur Funktion Notwendigkeit Python-Version 3.5 .

 

1 Antwort
  1. Amilcare
    Amilcare sagt:

    Sind Sie sicher, können Sie nicht ein in nur Gesicht gedruckt werden extrem einfacher für einen Bastler zu erreichen, Ich beabsichtige, es zu meiner Garage / Werkstatt zu tragen, wenn ich ein zuverlässiges Wi-Fi-Netzwerk erstellt habe
    Im Moment kann ich Internet dort nur die Linie auf die Kabel der 230V Stromversorgung und dekodieren Website lagert tragen. Ich habe starke Einschränkung in der Datenmenge, während das Ziel zu erreichen, die es vermitteln können, andere Lösungen haben sich als teurer und weniger effizient oder weniger zuverlässig sein.

Dein Kommentar

Möchten Sie an der Diskussion teilzunehmen?
Fühlen Sie sich frei zu tragen!

Hinterlasse eine Antwort