ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino

9 Schritt:Schritt 1: Wie man verwendet ArduDroid Schritt 2: ArduDroid Komponenten & Downloads Schritt 3: Verdrahtung der Schaltung Schritt 4: Wie Sie das ArduDroid Begleitprogramm ändern Schritt 5: Kontrolle analogWrite Stifte Schritt 6: Kontrolle digitalStifte Schritt 7: Senden Sie Text / Befehl von Android zu Arduino Schritt 8: Holen Sie Text / Befehl von Arduino Schritt 9: Dinge zu prüfen,

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino

UPDATES:
19. November 2031: MEINUNG: The Amazing Synergie zwischen Arduino & Android. 30. Oktober 2013: Andruino ist nun offiziell ARDUDROID und wird auf Google Verfügung Wiedergabe kurz. Diese Namensänderung in Konflikt mit einem anderen app on Google Play zu vermeiden. 31. August 2013: Ich habe eine Anleitung, wie man die Standardeinstellungen für die HC-05-Modul ändern veröffentlicht. 10. Juli 2013: auf MAKEZINE Beliebte http://makezine.com 8. Juli 2013: auf hackaday Beliebte http://goo.gl/Lim0W 4. Juli 2013: auf Dangerous Prototypes Beliebte http://goo.gl/HZatN
ANFORDERUNGEN
Brotschneidebrett-Verkabelung und Elektronik Fähigkeiten. Arduno Uno. HC-05 Bluetooth serielle Modul.

EINFÜHRUNG

ArduDroid (früher Andruino) ist ein einfaches Werkzeug, um Ihren Arduino (oder Klon) von Ihrem Android-Handy zu steuern. Es ist sowohl eine Android-App und ein Arduino-Programm. ArduDroid hat eine einfache Benutzeroberfläche, um Android 1) kontrollieren Arduino digitale und PWM Pins 2) senden Textbefehle an Arduino 3) und Empfangen von Daten von Arduino über Bluetooth serielle mit dem beliebten und wirklich billig ( weniger als 10 € von ebay ) HC- 05 Bluetooth-Modul über serielle. Diese App wurde getestet und für die HC-05 Serieller Bluetooth-Modul entwickelt. Andere Bluetooth-Module kann oder auch nicht. Sehen Sie bitte Kommentarfeld für Benutzer, die andere Bluetooth-Module mit dieser App ausprobiert.

Software von Google Play
https://play.google.com/store/apps/details?id=com.techbitar.android.Andruino

ArduDroid sollte mit anderen Bluetooth-Module mit einigen Optimierungen zu arbeiten, aber ich habe nur getestet mit dem HC-05. Dies ist eine Alpha-Version, die auf meinem Samsung Galaxy S2 Plus-läuft gut. Bitte teilen Sie Ihre Erfahrungen läuft ArduDroid auf Ihrem Handy. Auch während ich Arduino Uno in diesem Prototyp ist, können Sie mit anderen Modellen von Arduino experimentieren. Bitte teilen Sie Ihre Erfahrungen, mir zu helfen diese App zu verbessern.

Ich habe eine Anleitung, bevor auf den Aufbau und die Programmierung einer Schaltung mit dem HC-05 Bluetooth-Modul und Arduino veröffentlicht, aber ich werde noch einmal kurz beschreiben in dieser Anleitung, wie man die Schaltung mit einem Steckbrett und Drahtbrücken verbinden.

ArduDroid ist eine App, die während einer meiner Entwicklungsprojekten entwickelt. Besonderer Dank geht an Jafar Quttaineh zum Testen der App und für seinen unschätzbaren Eingangs Ingenieur.

Schritt 1: Wie man verwendet ArduDroid



ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino
Sie können ArduDroid verwenden, um Befehle zu senden Arduino, um ein Relais zu steuern, um elektrische Geräte an / aus schalten, steuern einen Roboter Servo, Zunahme / Abnahme Drehzahl eines Motors und Rückwärtsrichtung, ein Licht zu dimmen, beschleunigen einen Ventilator, und so weiter. Darüber hinaus können Sie Arduino Pins lesen und Sensoren dann die Daten zu übertragen zurück zu Ihrem Android-Smartphone.

Schritt 2: ArduDroid Komponenten & Downloads

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino

1) Installieren Sie ArduDroid von Google Play:

Für frühere Version von meiner Website downlowded, ist dies die Bescheinigung Fingerabdrücke:
MD5: BA: 80: C2: 6A: 68: 31: 8F: 21: D6: FC: 08: 8E: 09: D8: F5: CF
SHA1: 04: EA: 2E: 47: 80: 71: BE: D9: D2: ED: 86: 5F: 15: 1F: 1E: 9E: 77: 62: DB: 85
2) Laden Sie die Arduino Programm: ardudroid.ino (erfordert Arduino IDE 1.05 oder höher)
HARDWARE Android-Gerät mit Version 2.3.3 oder höher mit Bluetooth. Arduino Uno oder Klon. CD4050 Pegelumsetzer IC oder 2K Ohm & 1K Ohm Widerstände als Spannungsteiler. HC-05 Bluetooth-Modul. Andere Bluetooth über serielle Module sollten mit einigen Änderungen zu arbeiten. Brotschneidebrett und Drahtbrücken. Energiequelle. Schritt 3: Verdrahtung der Schaltung

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino
Bitte beachten Sie, dass während meiner eigentlichen Prototyp wie im Video gezeigt und Foto benutzt die IC CD4050 zu Pegelverschiebung von 5 V auf 3,3 V, in dem Schaltplan Ich bin mit einem Spannungsteiler, weil ich glaube, es wird einfacher für die meisten Menschen die erwerben Widerstände als der IC. Sie müssen nur die Arduino TX Spannung auf 3,3 V fallen, um den RX des HC-05 entsprechen. Die Arduino RX Pin kann die HC-05 ankommenden Signals, TX 3,3 V ist zu behandeln.

Ich habe 2K und 1K Ohm Widerstände in meinem Schaltplan zu fallen 5 V bis 3,3 V, aber Sie können verschiedene Widerstandswerte zu verwenden. Google "Spannungsteiler-Rechner" und verwenden Sie die unzähligen Taschenrechner, um festzustellen, was andere Widerstandswerte am besten für you.Step 4: Wie Sie das ArduDroid Begleitprogramm ändern

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino
Auf der Arduino Seite habe ich eine Skelett-Programm (im Lieferumfang enthalten ardudroid.ino ), die Abschnitte und die ArduDroid Befehle von Ihrem Android-Gerät ausgegeben verarbeitet. Sie können die Arduino-Code entsprechend Ihren Projektanforderungen zu aktualisieren.

ArduDroid ist eine Android App, die / empfängt Daten von Arduino mit der Hilfe von einem Arduino Sketch ardudroid.ino benannt In dieser Skizze sendet, gibt es vier Codeblöcke unterstützen die vier Schlüsselfunktionen ArduDroid. Sie können diese Codeblöcke zu ändern, um Ihren Anforderungen zu entsprechen.

Die Blöcke werden nach ihrer Funktion in einer Kommentarzeile am Anfang jedes Codeblock bezeichnet. I eingesetzt Kommentar "// fügen Sie Ihren Code hier" zu helfen, finden und legen Sie Ihren Code, aber Sie können entscheiden, wie Sie die Funktionscodes blocks.Step 5 ändern möchten: Steuer analogWrite Stifte

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino
Dies ist der Code-Block, der die PWM-Wert von 0 bis 255, die Sie von Android zu senden, um den Arduino Uno Pins 11,9,10,5,4,3 bezeichnet PWM-Steuerung erhält. Sie können Code, um einen Motor für einen Roboter oder Lüftersteuerung hinzufügen, zum Beispiel, um es zu beschleunigen oder zu verlangsamen. Oder Sie können einen Befehl aus, um ein Licht zu dimmen zu senden.

// 3) GET analogWrite DATEN AUS ARDUDROID
if (ard_command == CMD_ANALOGWRITE) {
analogWrite (pin_num, pin_value);
// Ihr Code Fügen Sie hier
zurück; // Fertig. zurück zum Loop ();
} Schritt 6: Kontrolle digitalStifte

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino
Dies ist der Code-Block, die von Android die Pin-Nummer und die ON / OFF (HIGH / LOW) Wert erhält, um den entsprechenden Stift wechseln. Sie können eine Relais-Ein / Ausschalten, um ein elektrisches Gerät wechseln. Bitte beachten Sie, dass dieser Code-Block eine Funktion set_digitalwrite (), die einen Schalter / Case-Struktur, um Ihnen Raum, um Code zu schreiben, um an jedem Stift getrennt handeln zu geben hat nennt.

// 2) GET digitalDATEN AUS ARDUDROID
if (ard_command == CMD_DIGITALWRITE) {
if (pin_value == PIN_LOW) pin_value = LOW;
else if (pin_value == PIN_HIGH) pin_value = HIGH;
andernfalls kehren; // Fehler in pin-Wert. zurückzukehren.
set_digitalwrite (pin_num, pin_value); // Aufruf Funktion zur Verarbeitung digitaler Stift #
zurück; // Vom Beginn der Schleife zurück ()
}

// 2a) wählen Sie die gewünschte Pin # für digital Aktion
Leere set_digitalwrite (int pin_num, int pin_value)
{
Schalter (pin_num) {
Fall 13:
pinMode (13, OUTPUT);
digital (13, pin_value);
// Ihr Code Fügen Sie hier
Unterbrechung;
. . .
. . .

. . .

Fall 2: pinMode (2, Ausgang);
digital (2, pin_value);
// Ihr Code Fügen Sie hier
Unterbrechung;
// Standard:
// Wenn sonst nichts passt, machen die Standard
// Standard ist optional
}}

Ich habe pin 0 und Pin 1 ausgeschlossen, weil sie für Arduino Uno serielle Kommunikation standardmäßig verwendet. Ich könnte diese beiden Stifte in zukünftigen Versionen der App aktivieren und überlassen es dem Benutzer zu bestimmen, welche Stifte für die Arduino serielle Kommunikation verwendet wird Schritt 7:. Senden Sie Text / Befehl von Android zu Arduino

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino
Dies ist der Code-Block, der den Text, den Sie als nächstes in das Feld eingeben, um Schaltfläche Daten senden Griffe. Zum Beispiel können Sie ein Passwort, um / login in ein System zu aktivieren versenden. Oder Sie können Text auf ein LCD zu Arduino verbunden, etwas anzuzeigen senden.

// 1) GET COMMAND TEXT VON ARDUDROID
if (ard_command == CMD_TEXT) {
intext = ""; // Löscht Größe für neue Eingabe
while (Serial.available ()) {
char c = Serial.read (); // Wird ein Byte aus seriellen Puffer
Verzögerung (5);
if (c == END_CMD_CHAR) {// wenn wir die komplette Zeichenfolge gelesen wurde
// Ihr Code Fügen Sie hier
Unterbrechung;
}
else {
if (c! = DIV_CMD_CHAR) {
intext + = c;
Verzögerung (5);
}}}} Schritt 8: Holen Sie Text / Befehl von Arduino

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino
Dieser Codeblock sendet alles, was Sie von Arduino möchten Ihre Android. In meiner Beispielcode, schicke ich den Wert des Analogstift 0, wenn ich drücken Sie die Schaltfläche Daten importieren. Da analoge Stift ist mit nichts in der Demo-Video angeschlossen ist, war ich immer der Umgebungslärmwerte. Bitte beachten Sie, dass es keine Fehlererkennung / Korrektur in meinem Code-Block. Wenn Genauigkeit entscheidend, um Ihre Anwendung sicher, dass Sie die Fehlererkennung hinzufügen, wie visuelle Marker umschließen die Daten gesendet oder eine Prüfsumme.

// 4) Daten an ARDUDROID
if (ard_command == CMD_READ_ARDUDROID) {
// Char send_to_android [] = "Legen Sie Ihren Text hier." ;
// Serial.println (send_to_android); // Beispiel: Senden von SMS-
Serial.print ("Analog 0 =");
Serial.println (analogRead (A0)); // Beispiel: Lesen und Senden Analog pin Wert auf Arduino
zurück; // Fertig. zurück zum Loop ();
}} Schritt 9: Dinge zu prüfen,

ArduDroid: Eine einfache 2-Wege-Bluetooth-basierten Controller für Android Arduino
Alternativen zu ArduDroid

Es gibt durchaus ein paar Lösungen für Android-Arduino-Integration zu ermöglichen. Die teureren und komplexeren beinhalten spezialisierte und teure Hardware wie Google ADK, aber bei weitem der billigste und meiner Meinung nach die einfachste ist die Bluetooth-Integration mit dem HC-05 Transceiver. Ich erwarte, WiFi, um schließlich ersetzen Bluetooth mit Hilfe von WiFi Direct (zeigen Sie auf WiFi-Kommunikation ohne Router-Punkt), aber sein ist ein paar Jahre auf der Straße.

Wie für Bluetooth-basierte Lösung für Android zu Arduino Kommunikation, Ihnen ein paar Ansätze zu finden, um aus je nach Projektanforderungen und der Grad der Abstraktion, die Sie suchen zu pflücken. Einige Ansätze verwenden Sie einen Terminal-App auf dem Android wie Blueterm um rohe Textdaten von Arduino über Bluetooth SPP senden und empfangen. Andere Lösungen setzen eine umfassende Bibliothek wie Amarino . Meine ArduDroid sitzt in der Mitte.

Hinweise zum Support und Updates

Ich werde mein Bestes tun, um zu unterstützen ArduDroid und ich hoffe, dass diejenigen, die dieses Tool nützlich finden, um Ihr Know-how mit anderen Benutzern teilen. Bitte lassen Sie mich wissen, wenn Sie in irgendwelche Bugs oder Probleme bei der Ausführung ArduDroid auf dem Gerät ausgeführt werden. Bitte beachten Sie das Gerätemodell und Betriebssystem-Version, sowie andere nützliche Informationen.

Bitte zögern Sie nicht einen Kommentar zu hinterlassen, wenn Sie technische Fragen haben.