Eenvoudige niks-mis-mee gebruikersinterface-oplossingen uit de Maker World

Door Europese uitgevers

Bijgedragen door De Europese redacteurs van DigiKey

Kleine computerkaarten, zoals de Arduino-familie, zijn meer dan alleen een gewaardeerd leermiddel. Het ecosysteem is enthousiast aangenomen door professionele ingenieurs voor het oplossen van een groot aantal detectie-en-regelproblemen. Die problemen gaan van eenvoudig verbonden sensoren tot het besturen van motoren of actuators in machines of eenvoudige robots. De combinatie van een Arduino-microcontrollerkaart en I/O of motoraandrijvings-shield kan voldoende zijn voor de bewegingscontrole van een project. Het open-source karakter van een ecosysteem als Arduino betekent dat er veel projecten online worden gepubliceerd die een lanceerplatform voor een specifieke toepassing kunnen bieden. Er zijn talrijke bronnen met kant-en-klare code te vinden op websites van fabrikanten of de onafhankelijke GitHub. Afbeelding 1 is een code-extract van GitHub voor de besturing van een Arduino-robot.

Afbeelding van code voor open-sourceprojecten

Afbeelding 1: communities van ontwikkelaars bieden een platform waarop je code voor open-sourceprojecten kunt vinden en delen.

Opties voor gebruikersinterfaces

Aan de andere kant van de verbinding is een gebruikersinterface nodig. Apparatuur zoals een robotarm of een gemotoriseerde sonde hebben niet veel meer nodig dan een set commando's voor basisbewegingen zoals vooruit/achteruit, links/rechts of rechtsom/linksom draaien.

Smartphone-app?

Eén van de oplossingen is het gebruik van een smartphone als belangrijkste gebruikersinterfacecontroller. Dit wordt op grote schaal gedaan als consumenten moeten communiceren met slimme "dingen" zoals de verwarmings- of verlichtingssystemen van het huis, beveiligingsapparatuur of drones. De smartphone heeft veel sterke punten, waaronder het kleurendisplay met hoge resolutie voor het weergeven van aantrekkelijke instrumenten, geraffineerde multi-touch-mogelijkheden en veelzijdige connectiviteit waaronder mobiel, Wi-Fi® en Bluetooth®. Ze zijn werkelijk overal aanwezig en kunnen eenvoudig in een geschikte controller worden veranderd door gewoon een app te downloaden die bij het nieuwe product is ontwikkeld.

Voor sommige projecten kan het ontwikkelen van een speciale app echter duur en tijdrovend zijn en buiten de kernvaardigheden van het ontwikkelingsteam liggen.

Via de Google Play-store zijn er diverse Android-apps beschikbaar voor het besturen van Arduino-robots via Bluetooth met een smartphone. Deze geven ontwikkelaars een reeks downloadbare, kant-en-klare gebruikersinterfaces die gratis of tegen lage kosten beschikbaar zijn. Die apps zijn echter vaak gemaakt voor radiografisch bestuurbaar speelgoed, waardoor de look en feel niet altijd ideaal zijn voor de eindtoepassing. Aan de andere kant hebben sommige apps (zoals Arduino BT Joystick) duidelijke graphics die er professioneel uit kunnen zien, of die (zoals RemoteXY) de vrijheid geven om de knoppen, toetsen en schuiven afzonderlijk te configureren.

Ontwikkelen met hardwaremodules met gebruikersinput

Er is een groot assortiment modules verkrijgbaar voor het bouwen van een aangepast bedieningspaneel en om hardware- en mechanische ontwerpuitdagingen te vereenvoudigen. Dat zijn bijvoorbeeld joysticks en drukknoppen in verschillende combinaties. Die zijn ideaal voor het besturen van bewegingen in verschillende richtingen en kunnen eenvoudig en op veel verschillende manieren worden verbonden met een microcontrollerkaart. Er zijn ook diverse opties voor het toevoegen van een radiomodule om draadloze afstandsbediening te kunnen gebruiken, met een gemak dat vergelijkbaar is met dat van een smartphone.

De SparkFun COM-09032 duim-joystick zet bewegingen vooruit/achteruit en links/rechts om in analoge spanningen en heeft een drukknop die kan worden gebruikt als "Selectie"-input, onafhankelijk van de richting van de joystick. De joystick heeft zijn eigen breakout-board om verbinding met de host te vergemakkelijken met slechts vijf draden: toevoer, aarde, uitgangsspanningen X en Y en de status van de Selectieknop. SparkFun heeft ook voorbeeldcode geleverd om de inkomende spanningen van de joystick te lezen en ze weer te geven als digitale waarden op een seriële uitgang (Afbeelding 2).

Afbeelding van Arduino-voorbeeldcode voor het lezen van waarden van een SparkFun joystick

Afbeelding 2: Arduino-voorbeeldcode voor het lezen van waarden van een SparkFun joystick.

Aansluiting op andere hardware-ecosystemen

Er zijn joystickmodules van diverse andere fabrikanten te koop die eenvoudig via software kunnen worden verbonden met een Arduino-kaart, zoals het voorbeeld in Afbeelding 2. Aansluiting op andere hardware-ecosystemen kan de ontwikkelaar bovendien nog meer opties geven. De Maxim MAXREFDES72 adapter geeft een voorbeeld door Arduino-gebruikers in staat te stellen om perifere modules van het PMod™ ecosysteem te verbinden met hun projecten. Deze handige interface met PMod geeft ontwikkelaars toegang tot een veelheid aan modules, waaronder niet alleen de Diligent JSTK2 PMod™ joystickmodule, maar ook de Diligent PmodBTN drukknopschakelaarmodule, die vier schakelaars bevat voor besturingsfuncties voor de gebruiker en vele andere modules, inclusief een toetsenblok met 16 toetsen.

Alles-in-één besturingskaart

Een joystick en drukknoppen zijn samen een bewezen combinatie die zeer veel verschillende mogelijke gebruikersinputs kan besturen - vraag maar aan een gamer! De lay-out en functies van een typische gaming-controller, waarin de joystick naast de drukknoppen staat, zijn intuïtief en geschikt voor commando's als het bewegen, plaatsen en bedienen van een mechanisme als een portaalkraan, robotarm of grijper.

De DFRobot DFR0008 geeft een joystick en vier drukknoppen, met verschillende kleuren, als volledig gemonteerde module die extra stiftlijsten heeft voor Xbee-radiomodules. Door ontwikkelaars in staat te stellen om het XBee-ecosysteem te gebruiken, vereenvoudigt de DFR008 het toevoegen van draadloze connectiviteit door te kiezen uit het brede assortiment XBee-modules dat op de markt is. Dat zijn bijvoorbeeld de Digi XB24-API-001 IEEE 802.15.4 2.4 GHz radiokaart en de XB8-DMUS-002 sub-GHz 868 MHz-module, die geschikt is voor licentievrij gebruik in Europa.

Voor ontwikkelaars die willen experimenteren met XBee draadloze connectiviteit in Arduino-projecten, bevat Digi's XBee/Arduino Educational Pack Arduino microcontrollerkaarten, diverse XBee modules en drukknoppen en een joystickmodule die ideaal zijn om verschillende soorten gebruikersinterfaces te bouwen. XBee-gebruikers kunnen bovendien vertrouwen op ontwikkelingsmiddelen zoals softwaretools en voorbeeldcode om te helpen bij de ontwikkeling.

De GUI-optie open houden

Open-source ecosystemen geven ontwikkelaars ook de vrijheid om hun technische vaardigheden sterk te verbeteren als ze dat willen, bijvoorbeeld door hun eigen ingebedde grafische gebruikersinterface te ontwikkelen met een module als de 4D Systems ULCD-32PTU-AR 3,2 inch kleuren-TFT met geïntegreerd resistief touchscreen. In de verpakking zit ook een adapter voor verbinding met de Arduino-kaart via de standaard stiftlijsten en een kabel om de adapter met het display te verbinden. De Arduino-stiftlijsten blijven vrij voor het stapelen van andere Arduino-shields zoals een radiomodule. Er zijn diverse toolsets beschikbaar die de ontwikkeling van de grafische gebruikersinterface makkelijker kunnen maken. Dit zijn bijvoorbeeld een omgeving op instapniveau voor het ontwikkelen van code, de grafische-ontwerptool ViSi die helpt bij codegeneratie door middel van het plaatsen van objecten via klikken-en-neerzetten en de geavanceerde ViSi-Genie omgeving. In ViSi Genie legt de gebruiker de objecten eenvoudigweg neer, stelt de gebeurtenis in die ze aandrijft en de code wordt automatisch gegenereerd.

Conclusie

Er zijn meerdere wegen in de Maker World die naar succesvolle projecten leiden. Er zijn veel voorbeelden en kits beschikbaar om ontwikkelaars te helpen om moeilijke uitdagingen te overwinnen en software draaiend te krijgen op de doel-hardware.

Er kan een gebruikersinvoerapparaat voor het bedienen en aansturen van bewegingen worden opgezet door een smartphone-app te verbinden via Bluetooth, of het kan worden geconfigureerd met hardware als afzonderlijke modules of een volledig geïntegreerd joystick/schakelaar-shield. Ontwikkelaars kunnen ook gebruik maken van invoerapparaten of draadloze modules van andere ecosystemen zoals PMod en XBee, die extra wegen naar een succesvol project bieden. De modules hebben een betaalbare prijs en zijn eenvoudig te integreren door te vertrouwen op code en kennis binnen de open-source community.

 
DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Achtergrondinformatie over deze auteur

Europese uitgevers

Over deze uitgever

De Europese redacteurs van DigiKey