Inhoudsopgave:

Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist - Ajarnpa
Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist - Ajarnpa

Video: Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist - Ajarnpa

Video: Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist - Ajarnpa
Video: The Wireless Feather Bluefruit Sense test flight with Web Bluetooth! 2024, November
Anonim
Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist
Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist
Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist
Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist
Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist
Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist
Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist
Adafruit Feather NRF52 aangepaste bedieningselementen, geen codering vereist

Update 23 april 2019 -- Voor datum/tijd grafieken met alleen Arduino millis() zie Arduino Datum/tijd plotten/logging met Millis() en PfodApp De nieuwste gratis pfodDesigner V3.0.3610+ genereerde complete Arduino schetsen om data te plotten tegen datum/tijd met behulp van Arduino millis()

Update 28 november 2017 -- Met behulp van Adafruit Feather nRF52 Arduino IDE board add-on V0.7.5 worden de TX- en RX-pinnen verwisseld. (zie opmerkingen hieronder voor testcode). Deze instructable maakt geen gebruik van de TX/RX-pinnen.

Lees dit eerst

Lees dit eerst - Heb je BLE echt nodig? - BLE-problemen en hoe u ze kunt oplossen

Invoering

Adafruit Feather nRF52 is een BLE-bord (Bluetooth Low Energy) dat Bluetooth V5 ondersteunt. Elk ander BLE-bord heeft zijn eigen ondersteunende bibliotheek, pin-outs en mogelijkheden die het moeilijk kunnen maken om aan de slag te gaan.

Deze tutorial behandelt het maken van aangepaste bedieningselementen op je Android-mobiel voor de Adafruit Feather nRF52. Het gebruikt de gratis pfodDesigner V3.3221+ om aangepaste menu's met meerdere niveaus, plots en datalogging te maken die kunnen worden weergegeven op pfodApp (een betaalde app).

De pfodDesigner genereert alle Arduino-code die nodig is voor de Adafruit Feather nRF52.

De pfodApp voor algemene doeleinden zorgt voor de gebruikersweergave en interactie op uw Android-mobiel. Er is geen Android-programmering vereist.

Wat de gebruiker op zijn mobiel te zien krijgt, wordt volledig gecontroleerd door de code die u in uw Feather52 laadt. Zelfs als u besluit pfodApp niet te gebruiken, genereert de gratis pfodDesigner nog steeds sjablooncode waarmee u een Nordic 'uart'-verbinding met uw Feather52-bord kunt opzetten.

pfodDesignerV3.3221+ toont Feather52's unieke selectie van board-pins wanneer je kiest met welke pin je een menu-item wilt verbinden.

Deze instructable is ook online beschikbaar Adafruit Feather nRF52 LE - Custom Controls met pfodApp

Stap 1: Onderdelenlijst

Prijzen per nov 2017 exclusief verzendkosten

  • Adafruit Feather nRF52 LE – ~US$25
  • USB A naar Micro B - ~ US $ 3
  • Arduino IDE V1.8.5 – gratis
  • pfodDesignerV3 Android-app – gratis
  • pfodApp V3 – ~US10
  • Bestandsoverdracht-app (of kabel) – b.v. Wifi-bestandsoverdracht (gratis) of Wifi-bestandsoverdracht Pro ~ US $ 3
  • Een Android-mobiel om de apps uit te voeren - Moet Bluetooth Low Energy V4 ondersteunen, d.w.z. met Android V4.4 of hoger.
  • Een computer om de Arduino IDE uit te voeren

Installeer de Arduino IDE op uw computer en download en installeer vervolgens de Board Manager voor de Adafruit Feather nRF52 Controleer of u verbinding kunt maken met uw Feather nRF52-kaart en deze kunt programmeren.

Stap 2: De aangepaste Android-menu's voor Adafruit BLE Feather52 maken en de code genereren

De aangepaste Android-menu's voor Adafruit BLE Feather52 maken en de code genereren
De aangepaste Android-menu's voor Adafruit BLE Feather52 maken en de code genereren

Met de gratis pfodDesignerV3 V3.3221+ Android-app kun je aangepaste menu's maken en vervolgens alle code voor je specifieke BLE-module genereren. pfodApp wordt vervolgens gebruikt om uw aangepaste menu op uw Android-mobiel weer te geven en u uw module te laten bedienen. Er is geen Android- of Arduino-codering vereist.

De gratis pfodDesignerV3 wordt gebruikt om het menu op een WISIWYG-manier te maken en u een nauwkeurig voorbeeld te laten zien van hoe het menu eruit zal zien op uw mobiel. Met de pfodDesignerV3 kunt u menu's en submenu's maken met knoppen en schuifregelaars, optioneel verbonden met I/O-pinnen, en de schetscode voor u genereren (zie de pfodDesigner-voorbeeldtutorials), maar de pfodDesignerV3 dekt niet alle functies die pfodApp ondersteunt. Zie de pfodSpecification.pdf voor een volledige lijst inclusief dwg-primitieven, datalogging en plotten, schermen met meerdere en enkele selecties, schuifregelaars, tekstinvoer, enz.

Maak het aangepaste menu om de Adafruit BLE Feather52 RODE LED te bedienen

De tutorial Ontwerp een aangepast menu om de Arduino Led aan en uit te zetten, bevat stapsgewijze instructies voor het maken van dit menu met pfodDesignerV3. Als u de kleuren van lettergroottes of de tekst niet mooi vindt, kunt u deze eenvoudig in pfodDesignerV3 bewerken tot wat u maar wilt en een WYSIWYG-weergave (What You See Is What You Get) van het ontworpen menu zien. Er zijn twee wijzigingen in maak voor Adafruit BLE Feather52 en de zijn i) stel Feather52 in als het doel voor de codegenerator voor het nieuwe menu voordat het menu-item Led-bediening wordt toegevoegd en ii) in plaats van een Aan/Uit-bediening te selecteren, wordt een PWM-schuifregelaar geselecteerd en de ingebouwde RODE LED is ingesteld als de uitgangspin.

Stap 3: Adafruit Feather NRF52 kiezen als doelwit voor het genereren van codes

Adafruit Feather NRF52 kiezen als doelwit voor het genereren van codes
Adafruit Feather NRF52 kiezen als doelwit voor het genereren van codes
Adafruit Feather NRF52 kiezen als doelwit voor het genereren van codes
Adafruit Feather NRF52 kiezen als doelwit voor het genereren van codes
Adafruit Feather NRF52 kiezen als doelwit voor het genereren van codes
Adafruit Feather NRF52 kiezen als doelwit voor het genereren van codes

Nadat u een nieuw menu in pfodDesigner hebt gestart, moet u eerst Adafruit Feather nRF52 kiezen als het doel voor het genereren van de code. Wanneer u een nieuw menu start of een bestaand menu bewerkt, toont de bovenste knop het doelbord. De standaard is Serieel.

Klik op de knop Doel om de doelselecties te openen.

Kies Bluetooth Low Energy-knop. Er worden een aantal BLE-borden ondersteund, scroll naar beneden om ze allemaal te zien. Selecteer de Adafruit Feather nRF52 als doel

Gebruik vervolgens de terugknop van de mobiel om het scherm Doelselecties te verlaten en terug te keren naar het scherm Menu Bewerken.

Stap 4: PWM-besturing van RODE Led

PWM-besturing van RODE Led
PWM-besturing van RODE Led
PWM-besturing van RODE Led
PWM-besturing van RODE Led
PWM-besturing van RODE Led
PWM-besturing van RODE Led
PWM-besturing van RODE Led
PWM-besturing van RODE Led

U kunt nu doorgaan met het Design a Custom-menu om de Arduino Led-tutorial aan en uit te zetten om de code te genereren, behalve dat u PWM-uitvoer selecteert als het menu-item dat u wilt toevoegen.

Wanneer u vervolgens naar beneden scrolt om een I/O-pin aan te sluiten en erop klikt om te wijzigen

Scroll vervolgens naar beneden naar de lijst met pinnen die beschikbaar zijn voor PWM-gebruik op de Feather52 en kies de RODE Led.

Voltooi het menu-item door de voorlooptekst te bewerken, BOLD, Achtergrond ROOD in te stellen en de lettergrootte te vergroten naar +5

Stap 5: De prompt instellen en de code genereren

De prompt instellen en de code genereren
De prompt instellen en de code genereren
De prompt instellen en de code genereren
De prompt instellen en de code genereren
De prompt instellen en de code genereren
De prompt instellen en de code genereren
De prompt instellen en de code genereren
De prompt instellen en de code genereren

U kunt dan teruggaan naar het hoofdmenu en Edit Prompt instellen op "Feather52" BOLD, lettergrootte +6 en een witte achtergrond.

Ga ten slotte terug naar het hoofdmenu en bekijk een voorbeeld van uw ontwerp voordat u naar beneden scrolt om Code genereren te selecteren

Sluit pfodDesigner af en breng het codebestand (pfodAppRawData\pfodDesignerV3.txt) over naar uw computer (zie pfodAppForAndroidGettingStarted.pdf pagina32)

Een kopie van de gegenereerde codeschets is hier (Feather52_Led_Chart.ino) Programmeer uw Feather52 en maak vervolgens een BLE-verbinding in pfodApp en maak verbinding met uw bord en geef de schuifregelaar weer om de RODE Led aan te passen. Het wordt precies zo weergegeven als het voorbeeld hierboven.

Stap 6: Een plot toevoegen aan het Feather52-bedieningsmenu

Een plot toevoegen aan het Feather52-bedieningsmenu
Een plot toevoegen aan het Feather52-bedieningsmenu
Een plot toevoegen aan het Feather52-bedieningsmenu
Een plot toevoegen aan het Feather52-bedieningsmenu
Een plot toevoegen aan het Feather52-bedieningsmenu
Een plot toevoegen aan het Feather52-bedieningsmenu

Met de Led Controller als basis kun je meer menu-items toevoegen voor het uitlezen of aansturen van de andere Digitale pinnen en voor het lezen, plotten en loggen van de Analoge ingangen, bijvoorbeeld A0. Bekijk de verschillende pfodDesigner-tutorials over het gebruik van de verschillende menu-items. De tutorial Arduino-gegevens weergeven op Android voor beginners behandelt het maken van plots.

Hieronder is een voorbeeld met een toegevoegde grafiekknop en een voorbeeld van de grafiek van A0 met enkele dummy-gegevens. Opmerking: De standaard spanningsreferentie voor ADC op de Feather52 is 3,6 V, dus bij het opzetten van de plot was de "Edit Max Display" ingesteld op 3,6, zodat de waarde van 0 tot 1023 werd geschaald naar 0 tot 3,6 voor logging en weergave.

De gegenereerde schets voor dit scherm is hier (Feather52_Led_Chart.ino)

Wanneer geladen in je Feather52 en verbonden met je mobiel, via pfodApp, kun je de A0-bordpin met je vinger aanraken om wat te lezen en een plot te tonen.

Naast het plotten van de analoge waarden, worden de meetwaarden ook in CSV-formaat vastgelegd in een bestand op uw mobiel. Als u de verbinding in pfodApp de naam "Feather52" hebt gegeven, zoals hierboven weergegeven, dan worden de gelogde CSV-gegevens opgeslagen in het bestand \pfodAppRawData\Feather52.txt. U kunt dit CSV-bestand downloaden voor verder gebruik.

Stap 7: Een aangepast besturingselement toevoegen aan het Feather52-menu

Een aangepast besturingselement toevoegen aan het Feather52-menu
Een aangepast besturingselement toevoegen aan het Feather52-menu

pfodApp V3 voegt dwg-primitieven toe. U kunt deze primitieven gebruiken: - rechthoeken, cirkels, bogen, labels, aanraakzones, enz. om geavanceerde grafische gebruikersinterfaces te maken. U kunt zelfs de ene afbeelding in de andere opnemen en deze schalen en pannen. Zie Aangepaste Arduino-besturingselementen voor Android voor een zelfstudie over dwg-primitieven. Zie Arduino voor beginners voor voorbeelden van het schalen en pannen van een grafische gebruikersinterface.

Het gebruik van primitieve afbeeldingen geeft u volledige controle over het scherm, maar vereist meer werk om uw interface te maken. De pfodDwgControl-bibliotheek biedt een aantal vooraf gebouwde bedieningselementen, aan/uit-knoppen, meters, schuifregelaars, die u gewoon in uw afbeelding kunt plaatsen. Met de pfodDesigner kunt u een eenvoudig grafisch menu-item invoegen met slechts een aan/uit-knop, zodat uw gegenereerde code een sjabloon heeft die u later kunt wijzigen om uw eigen afbeeldingen toe te voegen.

Afbeeldingen zijn gewoon een ander menu-item en kunnen aan elk menu worden toegevoegd. Hier is de gegenereerde code voor dit menu, Feather52_Led_Chart_Dwg.ino. Voor deze schets moeten eerst de pfodParser.zip en pfodDwgControls.zip bibliotheken worden geïnstalleerd.

Grafische gebruikersinterfaces kunnen een aantal berichten bevatten om alle gebruikte primitieven, kleuren, labels enz. te definiëren. pfodApp beperkt elk bericht van uw apparaat tot 1024 bytes, maar staat toe dat een afbeelding door meerdere berichten wordt gedefinieerd. De gegenereerde code heeft een voorziening voor 2 berichten, maar de tweede is gewoon leeg en dus weet pfodApp niet om een derde te vragen. U kunt dit uitbreiden naar zoveel berichten als u nodig heeft om uw display op te bouwen. Arduino101 Starter, bestuurd door Android/pfodApp gebruikt 8 berichten. pfodApp slaat het menu en alle afbeeldingen in de cache op tegen de parserversiereeks, zodat u de volgende keer dat u verbinding maakt niet alleen de hele afbeelding opnieuw hoeft te verzenden, alleen de eventuele updates.

Stap 8: Voorbeeldschermen en andere aangepaste bedieningselementen

Voorbeeldschermen en andere aangepaste bedieningselementen
Voorbeeldschermen en andere aangepaste bedieningselementen
Voorbeeldschermen en andere aangepaste bedieningselementen
Voorbeeldschermen en andere aangepaste bedieningselementen

De pfodDesignerV3 ondersteunt slechts een subset van de schermen die pfodApp ondersteunt. Voor een volledige lijst zie de pfodSpecification.pdf. De SampleAdafruitFeather52Screens.ino-schets bevat extra schermen die worden ondersteund door pfodApp, maar niet zijn opgenomen in de pfodDesigner. De meeste schermen hebben geen opmaak om de berichten duidelijk en eenvoudig te houden. U kunt uw eigen kleuren en lettertypestijlen toevoegen, waarbij u de pfodDesignerV3 als richtlijn gebruikt. Zie ook de pfodDemo Android app voor andere voorbeelden.

Voor de schets SampleAdafruitFeather52Screens.ino moeten eerst de bibliotheken pfodParser.zip en pfodDwgControls.zip worden geïnstalleerd.

Een van de schermen in de SampleAdafruitFeather52Screens.ino bevat twee aangepaste bedieningselementen. Een aangepaste schuifregelaar om de RODE led te bedienen en een meter om de huidige instelling te tonen. Dat scherm gebruikt pfodApp-tekenprimitieven om de bordbedieningen te tekenen en om de aanraakzones en acties van de gebruiker te definiëren. Terwijl u uw vinger over de schuifregelaar beweegt, wordt het scherm onmiddellijk bijgewerkt om de nieuwe instelling weer te geven. Nogmaals, deze update is NIET ingebouwd in pfodApp maar wordt volledig gecontroleerd door de code in je Feather52, zodat je hem naar wens kunt aanpassen.

De tutorial Custom Arduino Controls voor Android behandelt hoe je je eigen custom controls kunt coderen en de Arduino101 Starter, bestuurd door Android/pfodApp tutorial, beschrijft hoe Zoom en Pan werken.

Conclusie

Deze tutorial heeft laten zien hoe je eenvoudig kunt communiceren met en het besturen van het Adafruit Feather nRF52 board. Er is geen Android-programmering vereist. pfodApp regelt dat allemaal. Er is geen Arduino-codering vereist. De (gratis) pfodDesignerV2 genereert volledige schetsen voor deze en een verscheidenheid aan andere BLE-modules, evenals ESP8266 en WiFi-, Bluetooth- en SMS-schilden.

Aanbevolen: