Inhaltsverzeichnis:

Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich - Gunook
Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich - Gunook

Video: Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich - Gunook

Video: Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich - Gunook
Video: Lesson 11: What is Arduino library and How to use DHT11 Temperature and Humidity Sensor | SunFounder 2024, November
Anonim
Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich
Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich
Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich
Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich
Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich
Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich
Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich
Adafruit Feather NRF52 Custom Controls, keine Codierung erforderlich

Update 23. April 2019 -- Für Datums-/Zeit-Diagramme, die nur Arduino millis() verwenden, siehe Arduino-Date/Time-Plotting/Logging Using Millis() und PfodApp mit Arduino millis()

Update 28. November 2017 -- Mit dem Adafruit Feather nRF52 Arduino IDE Board Addon V0.7.5 werden die TX- und RX-Pins vertauscht. (Siehe Kommentare unten für Testcode). Dieses anweisbare verwendet nicht die TX / RX-Pins.

Lesen Sie dies zuerst

Bitte zuerst lesen – Brauchen Sie wirklich BLE? – BLE-Probleme und wie man sie behebt

Einführung

Adafruit Feather nRF52 ist ein BLE-Board (Bluetooth Low Energy), das Bluetooth V5 unterstützt. Jedes unterschiedliche BLE-Board verfügt über seine eigene unterstützende Bibliothek, Pinbelegung und Funktionen, die die Inbetriebnahme erschweren können.

In diesem Tutorial erfahren Sie, wie Sie benutzerdefinierte Steuerelemente auf Ihrem Android-Handy für den Adafruit Feather nRF52 erstellen. Es verwendet den kostenlosen pfodDesigner V3.3221+, um benutzerdefinierte mehrstufige Menüs, Diagramme und Datenprotokollierungen zu erstellen, die auf pfodApp (einer kostenpflichtigen App) angezeigt werden können.

Der pfodDesigner generiert den gesamten Arduino-Code, der für den Adafruit Feather nRF52 benötigt wird.

Die Allzweck-pfodApp verarbeitet die Benutzeranzeige und Interaktion auf Ihrem Android-Handy. Es ist keine Android-Programmierung erforderlich.

Was dem Benutzer auf seinem Handy angezeigt wird, wird vollständig durch den Code gesteuert, den Sie in Ihren Feather52 laden. Selbst wenn Sie sich entscheiden, pfodApp nicht zu verwenden, generiert der kostenlose pfodDesigner dennoch Vorlagencode, mit dem Sie eine nordische 'uart'-Verbindung zu Ihrem Feather52-Board einrichten können.

pfodDesignerV3.3221+ zeigt die einzigartige Auswahl an Board-Pins von Feather52 an, wenn Sie auswählen, mit welchem Pin ein Menüelement verbunden werden soll.

Dieses anweisbare ist auch online verfügbar Adafruit Feather nRF52 LE - Custom Controls mit pfodApp

Schritt 1: Teileliste

Preise Stand Nov. 2017 zzgl. Versand

  • Adafruchtfeder nRF52 LE – ~25 $
  • USB A auf Micro B – ~ 3 US-Dollar
  • Arduino IDE V1.8.5 – kostenlos
  • pfodDesignerV3 Android-App – kostenlos
  • pfodApp V3 – ~US10
  • File Transfer App (oder Kabel) – z. B. Wifi File Transfer (kostenlos) oder Wifi File Transfer Pro ~3$
  • Ein Android-Handy zum Ausführen der Apps – Muss Bluetooth Low Energy V4 unterstützen, d. h. mit Android V4.4 oder höher.
  • Ein Computer zum Ausführen der Arduino IDE

Installieren Sie die Arduino IDE auf Ihrem Computer und laden Sie dann den Board Manager für das Adafruit Feather nRF52 herunter und installieren Sie ihn. Prüfen Sie, ob Sie sich mit Ihrem Feather nRF52 Board verbinden und es programmieren können.

Schritt 2: Erstellen der benutzerdefinierten Android-Menüs für Adafruit BLE Feather52 und Generieren des Codes

Erstellen der benutzerdefinierten Android-Menüs für Adafruit BLE Feather52 und Generieren des Codes
Erstellen der benutzerdefinierten Android-Menüs für Adafruit BLE Feather52 und Generieren des Codes

Mit der kostenlosen Android-App pfodDesignerV3 V3.3221+ können Sie benutzerdefinierte Menüs erstellen und dann den gesamten Code für Ihr spezielles BLE-Modul generieren. pfodApp wird dann verwendet, um Ihr benutzerdefiniertes Menü auf Ihrem Android-Handy anzuzeigen und Ihr Modul zu steuern. Es ist keine Android- oder Arduino-Codierung erforderlich.

Der kostenlose pfodDesignerV3 wird verwendet, um das Menü im WISIWYG-Stil zu erstellen und Ihnen eine genaue Vorschau zu zeigen, wie das Menü auf Ihrem Handy aussehen wird. Der pfodDesignerV3 ermöglicht es Ihnen, Menüs und Untermenüs mit Schaltflächen und Schiebereglern zu erstellen, die optional mit I/O-Pins verbunden sind, und den Sketch-Code für Sie zu generieren (siehe die pfodDesigner-Beispiel-Tutorials), aber der pfodDesignerV3 deckt nicht alle Funktionen ab, die pfodApp unterstützt. Eine vollständige Liste mit DWG-Primitiven, Datenprotokollierung und Plotten, Mehrfach- und Einzelauswahlbildschirmen, Schiebereglern, Texteingabe usw. finden Sie in der pfodSpecification.pdf.

Erstellen Sie das benutzerdefinierte Menü, um die rote LED des Adafruit BLE Feather52 zu steuern

Das Tutorial Entwerfen eines benutzerdefinierten Menüs zum Ein- und Ausschalten der Arduino-LED enthält Schritt-für-Schritt-Anleitungen zum Erstellen dieses Menüs mit pfodDesignerV3. Wenn Ihnen die Farben der Schriftgrößen oder des Textes nicht gefallen, können Sie sie in pfodDesignerV3 ganz einfach nach Ihren Wünschen bearbeiten und eine WYSIWYG-Anzeige (What You See Is What You Get) des gestalteten Menüs anzeigen mache für Adafruit BLE Feather52 und die sind i) setze Feather52 als Ziel für den Codegenerator für das neue Menü, bevor du den Menüpunkt Led Control hinzufügst und ii) anstatt einen Ein/Aus-Regler auszuwählen, wird ein PWM-Schieberegler ausgewählt und der eingebaute ROTE LED ist als Ausgangspin eingestellt.

Schritt 3: Auswahl von Adafruit Feather NRF52 als Ziel für die Codegenerierung

Die Wahl von Adafruit Feather NRF52 als Ziel für die Codegenerierung
Die Wahl von Adafruit Feather NRF52 als Ziel für die Codegenerierung
Die Wahl von Adafruit Feather NRF52 als Ziel für die Codegenerierung
Die Wahl von Adafruit Feather NRF52 als Ziel für die Codegenerierung
Die Wahl von Adafruit Feather NRF52 als Ziel für die Codegenerierung
Die Wahl von Adafruit Feather NRF52 als Ziel für die Codegenerierung

Nachdem Sie im pfodDesigner ein neues Menü gestartet haben, müssen Sie zunächst Adafruit Feather nRF52 als Ziel für die Codegenerierung auswählen. Wenn Sie ein neues Menü starten oder ein vorhandenes Menü bearbeiten, zeigt die obere Schaltfläche die Zieltafel an. Die Standardeinstellung ist Seriell.

Klicken Sie auf die Schaltfläche Ziel, um die Zielauswahl zu öffnen.

Wählen Sie die Bluetooth Low Energy-Taste. Es gibt eine Reihe von unterstützten BLE-Boards, scrollen Sie nach unten, um sie alle zu sehen. Wählen Sie die Adafruit Feather nRF52 als Ziel

Verwenden Sie dann die Zurück-Taste des Mobiltelefons, um den Bildschirm „Zielauswahl“zu verlassen und zum Bildschirm „Menü bearbeiten“zurückzukehren.

Schritt 4: PWM-Steuerung der ROTEN LED

PWM-Steuerung der ROTEN LED
PWM-Steuerung der ROTEN LED
PWM-Steuerung der ROTEN LED
PWM-Steuerung der ROTEN LED
PWM-Steuerung der ROTEN LED
PWM-Steuerung der ROTEN LED
PWM-Steuerung der ROTEN LED
PWM-Steuerung der ROTEN LED

Sie können nun mit dem Design a Custom-Menü fortfahren, um das Arduino-Led-Tutorial zum Generieren des Codes ein- und auszuschalten, außer dass Sie PWM-Ausgang als hinzuzufügenden Menüpunkt auswählen.

Scrollen Sie dann nach unten, um einen I / O-Pin anzuschließen, und klicken Sie darauf, um ihn zu ändern

Scrollen Sie dann nach unten zur Liste der Pins, die für die PWM-Nutzung auf dem Feather52 verfügbar sind, und wählen Sie die ROTE LED.

Vervollständigen Sie den Menüpunkt, indem Sie den führenden Text bearbeiten, BOLD, Background RED einstellen und die Schriftgröße auf +5. erhöhen

Schritt 5: Einstellen der Eingabeaufforderung und Generieren des Codes

Einstellen der Eingabeaufforderung und Generieren des Codes
Einstellen der Eingabeaufforderung und Generieren des Codes
Einstellen der Eingabeaufforderung und Generieren des Codes
Einstellen der Eingabeaufforderung und Generieren des Codes
Einstellen der Eingabeaufforderung und Generieren des Codes
Einstellen der Eingabeaufforderung und Generieren des Codes
Einstellen der Eingabeaufforderung und Generieren des Codes
Einstellen der Eingabeaufforderung und Generieren des Codes

Sie können dann zum Hauptmenü zurückkehren und Eingabeaufforderung bearbeiten auf „Feather52“BOLD, Schriftgröße +6 und einen weißen Hintergrund einstellen.

Kehren Sie schließlich zum Hauptmenü zurück und sehen Sie sich Ihr Design in der Vorschau an, bevor Sie nach unten scrollen, um Code generieren auszuwählen

Beenden Sie pfodDesigner und übertragen Sie die Codedatei (pfodAppRawData\pfodDesignerV3.txt) auf Ihren Computer (siehe pfodAppForAndroidGettingStarted.pdf Seite 32)

Eine Kopie der generierten Codeskizze finden Sie hier (Feather52_Led_Chart.ino) Programmieren Sie Ihren Feather52 und erstellen Sie dann eine BLE-Verbindung in pfodApp und verbinden Sie sich mit Ihrem Board und zeigen Sie den Schieberegler an, um die ROTE LED anzupassen. Es wird genau wie die obige Vorschau angezeigt.

Schritt 6: Hinzufügen eines Plots zum Feather52-Steuerungsmenü

Hinzufügen eines Plots zum Feather52-Steuerungsmenü
Hinzufügen eines Plots zum Feather52-Steuerungsmenü
Hinzufügen eines Plots zum Feather52-Steuerungsmenü
Hinzufügen eines Plots zum Feather52-Steuerungsmenü
Hinzufügen eines Plots zum Feather52-Steuerungsmenü
Hinzufügen eines Plots zum Feather52-Steuerungsmenü

Auf der Basis des Led Controllers können Sie weitere Menüpunkte zum Lesen oder Steuern der anderen digitalen Pins und zum Lesen, Plotten und Protokollieren der analogen Eingänge, z. B. A0, hinzufügen. Sehen Sie sich die verschiedenen pfodDesigner-Tutorials zur Verwendung der verschiedenen Menüpunkte an. Das Tutorial How to Display Arduino Data on Android for Beginners behandelt das Erstellen von Plots.

Unten sehen Sie eine Vorschau mit einer hinzugefügten Diagrammschaltfläche und einer Vorschau des Diagramms von A0 mit einigen Dummy-Daten. Hinweis: Die Standardspannungsreferenz für ADC auf dem Feather52 beträgt 3,6 V, daher wurde beim Einrichten des Plots „Edit Max Display“auf 3,6 eingestellt, sodass der Messwert von 0 bis 1023 für die Protokollierung und Anzeige auf 0 bis 3,6 skaliert wurde.

Die generierte Skizze für diese Anzeige ist hier (Feather52_Led_Chart.ino)

Wenn Sie es in Ihren Feather52 geladen und über die pfodApp mit Ihrem Handy verbunden haben, können Sie den A0-Board-Pin mit Ihrem Finger berühren, um etwas zu lesen und einen Plot anzuzeigen.

Neben der grafischen Darstellung der Analogwerte werden die Messwerte auch im CSV-Format in einer Datei auf Ihrem Mobiltelefon protokolliert. Wenn Sie die Verbindung in pfodApp mit „Feather52“benannt haben, wie oben gezeigt, werden die protokollierten CSV-Daten in der Datei \pfodAppRawData\Feather52.txt gespeichert. Diese CSV-Datei können Sie zur weiteren Verwendung herunterladen.

Schritt 7: Hinzufügen eines benutzerdefinierten Steuerelements zum Feather52-Menü

Hinzufügen eines benutzerdefinierten Steuerelements zum Feather52-Menü
Hinzufügen eines benutzerdefinierten Steuerelements zum Feather52-Menü

pfodApp V3 fügt DWG-Primitive hinzu. Sie können diese Grundelemente verwenden: - Rechtecke, Kreise, Bögen, Beschriftungen, TouchZones usw., um anspruchsvolle grafische Benutzeroberflächen zu erstellen. Sie können sogar eine Grafik in eine andere einfügen und sie skalieren und schwenken. Ein Tutorial zu DWG-Primitiven finden Sie unter Custom Arduino Controls for Android. Beispiele zum Skalieren und Verschieben einer grafischen Benutzeroberfläche finden Sie unter Arduino für Anfänger.

Die Verwendung primitiver Grafiken gibt Ihnen die vollständige Kontrolle über die Anzeige, erfordert jedoch mehr Arbeit, um Ihre Benutzeroberfläche zu erstellen. Die pfodDwgControl-Bibliothek bietet eine Reihe von vorgefertigten Steuerelementen, Ein/Aus-Schaltflächen, Anzeigen, Schieberegler, die Sie einfach in Ihre Grafik einfügen können. Mit dem pfodDesigner können Sie ein einfaches grafisches Menüelement mit nur einem Ein/Aus-Button einfügen, sodass Ihr generierter Code eine Vorlage hat, die Sie später ändern können, um Ihre eigenen Grafiken hinzuzufügen.

Grafiken sind nur ein weiterer Menüpunkt und können zu jedem Menü hinzugefügt werden. Hier ist der generierte Code für dieses Menü, Feather52_Led_Chart_Dwg.ino Für diesen Sketch müssen zuerst die Bibliotheken pfodParser.zip und pfodDwgControls.zip installiert werden.

Grafische Benutzeroberflächen können eine Reihe von Nachrichten annehmen, um alle verwendeten Grundelemente, Farben, Beschriftungen usw. zu definieren. pfodApp begrenzt jede Nachricht von Ihrem Gerät auf 1024 Byte, ermöglicht jedoch die Definition einer Grafik durch mehrere Nachrichten. Der generierte Code ist für 2 Nachrichten vorgesehen, aber die zweite ist nur leer und pfodApp weiß daher, dass sie nicht nach einer dritten fragen muss. Sie können dies auf so viele Nachrichten erweitern, wie Sie zum Aufbau Ihres Displays benötigen. Arduino101 Starter, gesteuert von Android/pfodApp, verwendet 8 Nachrichten. pfodApp speichert das Menü und alle Grafiken gegen den Parser-Versionsstring, sodass Sie beim nächsten Verbindungsaufbau nicht die gesamte Grafik erneut senden müssen, sondern nur die Updates, falls vorhanden.

Schritt 8: Beispielbildschirme und andere benutzerdefinierte Steuerelemente

Beispielbildschirme und andere benutzerdefinierte Steuerelemente
Beispielbildschirme und andere benutzerdefinierte Steuerelemente
Beispielbildschirme und andere benutzerdefinierte Steuerelemente
Beispielbildschirme und andere benutzerdefinierte Steuerelemente

Der pfodDesignerV3 unterstützt nur eine Teilmenge der Bildschirme, die pfodApp unterstützt. Eine vollständige Liste finden Sie in der pfodSpecification.pdf. Die Skizze SampleAdafruitFeather52Screens.ino enthält zusätzliche Bildschirme, die von pfodApp unterstützt werden, aber nicht im pfodDesigner enthalten sind. Die meisten Bildschirme haben keine Formatierung, um die Nachrichten klar und einfach zu halten. Sie können Ihre eigenen Farben und Schriftarten hinzufügen, indem Sie den pfodDesignerV3 als Leitfaden verwenden. Weitere Beispiele finden Sie in der pfodDemo-Android-App.

Für die Skizze SampleAdafruitFeather52Screens.ino müssen zuerst die Bibliotheken pfodParser.zip und pfodDwgControls.zip installiert werden.

Einer der Bildschirme in SampleAdafruitFeather52Screens.ino enthält zwei benutzerdefinierte Steuerelemente. Ein benutzerdefinierter Schieberegler zur Steuerung der ROTEN LED und eine Anzeige zur Anzeige der aktuellen Einstellung. Dieser Bildschirm verwendet pfodApp-Zeichnungsprimitive, um die Steuerelemente des Boards zu zeichnen und die Berührungszonen und Aktionen des Benutzers zu definieren. Wenn Sie Ihren Finger über den Schieberegler bewegen, wird der Bildschirm sofort aktualisiert, um die neue Einstellung anzuzeigen. Auch dieses Update ist NICHT in pfodApp integriert, sondern wird vollständig durch den Code in Ihrem Feather52 gesteuert, sodass Sie es nach Ihren Wünschen anpassen können.

Das Tutorial zu benutzerdefinierten Arduino-Steuerelementen für Android beschreibt, wie Sie Ihre eigenen benutzerdefinierten Steuerelemente codieren, und das Arduino101 Starter, gesteuert von Android/pfodApp-Tutorial beschreibt, wie Zoom und Pan funktionieren.

Abschluss

Dieses Tutorial hat gezeigt, wie Sie einfach mit dem Adafruit Feather nRF52-Board kommunizieren und es steuern können. Es ist keine Android-Programmierung erforderlich. pfodApp übernimmt all das. Es ist keine Arduino-Codierung erforderlich. Der (kostenlose) pfodDesignerV2 generiert komplette Skizzen für dieses und eine Vielzahl weiterer BLE-Module sowie ESP8266 und WiFi-, Bluetooth- und SMS-Shields.

Empfohlen: