Enkla men spännande användargränssnittslösningar från tillverkarvärlden

Av Europeiska redaktörer

Bidraget med av DigiKeys europeiska redaktörer

Små datorkort som Arduino-familjen är mer än bara ett värdefullt utbildningsredskap. Ekosystemet har tagits emot entusiastiskt av professionella tekniker för att lösa otaliga utmaningar inom detektering och styrning. Det kan vara allt från enkla anslutna givare till styrmotorer eller ställdon i maskiner eller enkla robotar. Kombinationen av ett Arduino mikrokontrollerkort och I/O- eller motordrivningsskärmning kan uppfylla rörelsestyrningsbehoven i ett projekt. Den öppna källkodsnaturen hos ekosystem som Arduino innebär att det finns många projekt som publicerats online som kan utgöra startramp för en anpassad tillämpning. Det finns många källor till färdig kod på tillverkarwebbplatser eller det oberoende GitHub. Figur 1 visar ett utdrag av kod för att styra en Arduino-baserad robot från GitHub.

Bild av kod för projekt med öppen källkod

Figur 1: Utvecklargrupper tillhandahåller en plattform för att hitta och dela kod för projekt med öppen källkod.

Användargränssnittsval

I den andra änden av anslutningen behövs ett användargränssnitt. Utrustning som en robotarm eller en motoriserad sond kräver inte mycket mer än ett antal reglage för grundläggande rörelser som framåt/bakåt, vänster/höger eller medurs/moturs rotation.

Smartphone-app?

En lösning är att använda en smartphone som huvudsaklig användargränssnittsstyrenhet. Detta är vanligt förekommande när konsumenter behöver interagera med smarta "saker" som hushållsuppvärmning eller belysningssystem, säkerhetsanordningar eller drönare. Smarta telefoner har många styrkor, inklusive högupplösta färgskärmar där det går att visa estetiskt tilltalande instrument, sofistikerade multipekfunktioner och mångsidiga anslutningsmöjligheter via mobilnät, Wi-Fi® och Bluetooth®. De förekommer överallt och kan enkelt göras om till en lämplig styrenhet bara genom att läsa in en app som är kopplad till den nya produkten.

För vissa projekt kan utvecklandet av en specialiserad app vara dyrt, kräva mycket tid och ligga utanför utvecklingsteamets huvudkunskapsområde.

Det finns ett stort antal Android-appar i Google Play-butiken som kan styra Arduino-baserade robotar via Bluetooth med en smartphone. De ger utvecklarna ett urval av hämtningsbara, färdiga användargränssnitt som är tillgängliga kostnadsfritt eller till en låg kostnad. Apparna är dock oftast framtagna för radiostyrda leksaker och utseendet och känslan kanske inte är idealiskt för det slutliga användningsområdet. Å andra sidan kan vissa appar (som Arduino BT Joystick) ha avskalad grafik som kan ge ett professionellt utseende, eller (som RemoteXY) innehålla möjligheter att anpassa rattar, knappar och skjutreglage individuellt.

Utveckling med hårdvarubaserade användarinmatningsmoduler

Det finns ett stort utbud av moduler som kan hjälpa till att öppna en anpassad kontrollpanel och förenkla designutmaningar för maskinvara och mekaniska konstruktioner. Dessa moduler innefattar joysticks och tryckknappar i olika kombinationer. De är idealiska för att styra rörelser i olika riktningar och kan enkelt anslutas till ett mikrokontrollerkort på olika sätt. Det finns även många olika alternativ för hur du kan ansluta en radiomodul för att implementera trådlös fjärrstyrning på jämförbar nivå som en smartphone.

SparkFun COM-09032 tumjoystick omvandlar rörelser framåt/bakåt och vänster/höger till analoga spänningar och integrerar en tryckknapp som kan användas som välja-reglage oberoende av joystickrörelsens riktning. Den levereras med eget utbrytningskort som förenklar anslutningen till värden med endast fem kablar: matning, jord, X- och Y-utgångsspänningar och välja-knappens status. SparkFun har också tillhandahållit exempelkod för att läsa av ingångsspänningarna från joysticken och presentera dem som digitala värden vid en serieutgång (figur 2).

Exempelbild på Arduino-kod för att läsa av värden från en SparkFun-joystick

Figur 2: Exempel på Arduino-kod för att läsa av värden från en SparkFun-joystick.

Anslutning till andra maskinvaruekosystem

Det finns joystickmoduler från många andra tillverkare som enkelt kan anslutas till ett Arduino-kort med programvara som provet i figur 2. Att ansluta till andra maskinvaruekosystem kan vara ett alternativ för att utöka utvecklarnas möjligheter ytterligare. Maxim MAXREFDES72-adaptern ger ett exempel genom att göra det möjligt för Arduino-användare att ansluta perifera moduler från PMod™-ekosystemet till sina projekt. Det här praktiska gränssnittet till PMod ger utvecklarna tillgång till ett stort urval av moduler, som inte bara inkluderar Digilent JSTK2 PMod™-joystickmodulen utan även Digilent PmodBTN-omkopplingsmodulen för tryckknappar som inkluderar fyra strömställare för användarstyrda funktioner samt många fler moduler inklusive en knappsats med 16 knappar.

Allt-i-ett-styrkort

En joystick och tryckknappar är en beprövad kombination som kan styra ett stort antal möjliga användarinmatningar – fråga vilken spelentusiast som helst. Layouten och funktionerna hos en typisk spelkontroll, där joysticken sitter bredvid tryckknapparna är intuitiva och väl anpassade för kommandon som att förflytta, positionera och aktivera en mekanism som en travers, robotarm eller gripare.

DFRobot DFR0008 har en joystick och fyra färgkodade tryckknappar i en färdigmonterad modul med ytterligare stiftlister för XBee-radiomoduler. Genom att göra det möjligt för utvecklare att utnyttja XBee-ekosystemet gör DFR008 det enklare att lägga till trådlösa anslutningsmöjligheter med ett stort urval av XBee-moduler som är tillgängliga på marknaden. Dessa innefattar Digi XB24-API-001 IEEE 802.15.4 2,4 GHz radiokort samt XB8-DMUS-002 sub-GHz 868 MHz-modulen som är lämplig för licensfri användning i Europa.

För utvecklare som vill experimentera med XBees trådlösa möjligheter i Arduino-projekt innehåller Digis XBee/Arduino Educational Pack Arduino-mikrokontrollerkort, ett urval av XBee-moduler samt tryckknappar och en joystickmodul som är idealiska för att bygga olika typer av användargränssnitt. XBee-användare kan även förlita sig på utvecklingsresurser inklusive programvaruverktyg och exempelkod för att underlätta utvecklingen.

Hålla GUI-alternativet öppet

Ekosystem med öppen källkod ger även utvecklarna frihet att tillämpa sina tekniska färdigheter i hög grad om de vill, som genom att utveckla egna inbäddade grafiska användargränssnitt med en modul som 4D Systems ULCD-32PTU-AR 3,2-tums färg-TFT med integrerad resistiv pekskärm. Förpackningen innehåller en adapter som ansluts till Arduino-kortet via standardstiftlisterna och en kabel som ansluter adapterns till displayen. Arduino-stiftlisterna är fria att stapla över andra Arduino-skärmningar som en radiomodul. Det finns flera tillgängliga verktygssatser med syfte att förenkla utvecklingen av det grafiska användargränssnittet. Dessa innefattar en basnivåmiljö för att utveckla kod, ett grafiskt utvecklingsverktyg som heter ViSi som underlättar kodgenereringen genom objektplacering med klicka och dra-funktioner och den avancerade ViSi-Genie-miljön. I ViSi-Genie lägger användaren ut objekten och ställer in de händelser som driver dem så genereras koden automatiskt.

Slutsatser

Det finns flera vägar till framgångsrika projekt i tillverkarvärlden. Många exempel och satser finns för att hjälpa utvecklarna att övervinna svåra utmaningar och kunna köra programvaran på målmaskinvaran.

En användarinmatningsenhet som hanterar rörelsestyrning och aktivering kan ställas in genom att ansluta en smartphone-app via Bluetooth eller genom att använda maskinvara som individuella moduler eller en helt integrerad joystick/switchskärmning. Utvecklarna kan även dra nytta v inmatningsenheter eller trådlösa moduler från andra ekosystem som PMod och XBee, som ger ytterligare möjliga vägar till framgångsrika projekt. Modulerna har konkurrenskraftiga priser och är enkla att integrera genom att förlita sig på kod och kunskaperna i det öppna källkodssamhället.

 
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.

Om skribenten

Europeiska redaktörer

Om utgivaren

DigiKeys europeiska redaktörer