Gemakkelijk Arduino menu's voor Rotary Encoders


Rotary encoders met centrum - drukknoppen zijn cool invoer hardware voor projecten, vooral als u wilt kunnen om te scrollen door menu's en selecteert u opties. Hopelijk dit Instructable krijgt u het vertrouwen uit te proberen een fundamentele menusysteem en combineer het met een roterende encoder een professionele feel geven uw volgende project!

Waarom de menu's en rotary encoders code nodig

Ik wilde een menu in een komende project en het gebruik van een roterende encoder met een drukknop centrum als mijn input hardware. Dit is eigenlijk vergelijkbaar met de LCD controllers voor hellingen en Arduino MEGA 3D printers. De roterende encoder toestaat mij te bladeren door de menuopties, d.w.z. navigeren door het menu, selecteert u submenu's en ook het wijzigen van waarden binnen de sub-menus/instellingen - zeer veelzijdig voor een hardware-interface! Een microcontroller is nodig voor het beheer van dit alles en microcontrollers moeten instructies, AKA code!

Andere opties

Het probleem dat ik had met bestaande Arduino menu bibliotheken en upmenucode is dat voor eenvoudige menu's ze veel te ingewikkeld waren. Een ander nadeel van veel alternatieven was dat de code is ontworpen voor LCD-schermen en kortstondige drukknoppen, niet rotary encoders en aan te passen aan andere vertoningsoutput. Deze menu's zijn afgestemd rond selecteren tussen een klein aantal modi en waarden relatief langzaam te verhogen. We weten dat rotary encoders een grote input hardwareoptie omdat ze relatief snel invoerwaarde wijzigingen met behoud van de fijne controle op trage veroorloven. Ik wilde schrijven van de code die zou ondubbelzinnig hoogste niveau menunavigatie toestaan maar ook kunt u snel doorloopt een groot bereik van waarden binnen elke sub-menu/instelling, benutting van de sterke punten van de roterende encoder.

De aanpak

Ik besloot te volgen wat advies voor if()-instructies gebruiken voor een eenvoudige menustructuur en bewaar deze schets gebaseerde. De resulterende code bouwt voort op mijn eerdere Instructable die wilden betrouwbaar Lees de rotatie pulsen en richting. Please check it out voor achtergrond.

In deze schets, wij toevoegen van de lezing van de centrum-drukknop op de roterende encoder as, met behulp van code dat Nick Gammon ontwikkeld om de record-knop de status verandert met debouncing en zonder zich het baseren op de Arduino delay() functie waardoor de microcontroller van het uitvoeren van andere code en zou potentieel introduceren merkbare vertraging in onze schets, bijvoorbeeld vertragen de vernieuwingsfrequentie van het beeldscherm. Knopcode staat verandering is veel nuttiger dan alleen het lezen van digitale logica hoog of laag bij het gebruik van een knop om te selecteren iets als, zoals een menu-optie, zoals Hiermee kunt u voorkomen dat onbedoelde meerdere selecties voor elke druk op de knop.

Neem een blik bij wat u instellen wilt voor het gebruik van deze voorbeeldcode in stap 1.

Gerelateerde Artikelen

Ontwerp een aangepaste Menu systeem--Android/Arduino-menu's voor Beginners--absoluut geen programmering vereist

Ontwerp een aangepaste Menu systeem--Android/Arduino-menu's voor Beginners--absoluut geen programmering vereist

IntroductieDit instructable ziet u hoe u de gratis pfodDesigner beschikbaar op GooglePlay ontwerpen van een menusysteem van de Android met submenu's voor Arduino-compatibele apparaten.De tutorial is geschikt voor complete beginners. Geen codering erv
Gemakkelijk Arduino drukknop scoren voor twee Teams

Gemakkelijk Arduino drukknop scoren voor twee Teams

Hier is een eenvoudige drukknop setup voor twee teams scoren. Het heeft een up en een benedenknoop voor elk team en een resetknop om de scores terug naar 0. De scores worden in de seriële Monitor weergegeven. Ik ben zeker met minimale wijzigingen die
De generator van de code voor aangepaste Android/Arduino-menu's aan de Arduino uitgangen wissel voort en vandoor. Andriod/Arduino voor Beginners. Absoluut geen programmeerkennis vereist

De generator van de code voor aangepaste Android/Arduino-menu's aan de Arduino uitgangen wissel voort en vandoor. Andriod/Arduino voor Beginners. Absoluut geen programmeerkennis vereist

Update: een gebruiker gevraagd voor submenu ondersteuning. pfodApp altijd ondersteund submenu's maar ik sub-menu's hebt toegevoegd aan pfodDesigner. De instructable stelsel van het Gemeenschapsmodel A Custom Menu ziet u hoe u pfodDesigner wilt samens
Arduino aangedreven Rotary Encoders - ik maakte het op TechShop

Arduino aangedreven Rotary Encoders - ik maakte het op TechShop

zoals in sommige van mijn verleden instructables, arduino gaat allemaal over controle. De mogelijkheid om bepaalde dingen zoals displays, servo's, motoren, en andere elektrische mechanische apparaten op een zinvolle manier. Ik heb onder met behulp va
Gemakkelijk boren staan voor Rotary Tool

Gemakkelijk boren staan voor Rotary Tool

ik de stand van een boor nodig voor Rotary Tool. Ik vond niet ieder bruikbaar voor mijn Rotary Tool dus ik besluit te halen mijn eigen.Stap 1: Alles wat u nodig hebt is:-stuk multiplex,-2 korte lade Slide-1 pijp houder-stuk van gom-Sommige schroeven-
Vernier sensoren en Arduino (of Teensy) voor het registreren van gegevens

Vernier sensoren en Arduino (of Teensy) voor het registreren van gegevens

laten we eens kijken hoe gegevens verzamelen van Vernier educatieve sensoren met behulp van een Arduino-compatibele board voor de ontwikkeling van de microcontroller.Als u slechts wilt interface een sonde met een computer en wil alles om te werken, m
Arduino Push waarschuwingen voor deurbel, inbraakalarm, roken alarmen enz

Arduino Push waarschuwingen voor deurbel, inbraakalarm, roken alarmen enz

IoT kennisgevingen van uw deurbel, inbraakalarm, roken alarmen enz met behulp van een Arduino Uno en een Ethernet-Shield.Volledige details op mijn website hierOver Arduino Push waarschuwingsvensterMaakt gebruik van een Arduino Uno en de Ethernet-Shie
Arduino Timing circuit voor productielijn

Arduino Timing circuit voor productielijn

Waar ik werk hebben wij halfautomatische machines en een target uitvoeren snelheid.Dus ik hoe kan ik het opbouwen van een timing apparaat dacht zodat de operator een consistente snelheid houden kan van het runnen van de machine zoals ze ook de belang
Snel en gemakkelijk Arduino compatibel H-brug Shield

Snel en gemakkelijk Arduino compatibel H-brug Shield

In dit instructable ik zal in detail te beschrijven hoe ik ging over het maken van een snel en gemakkelijk, Arduino compatibel, H-brug schild. Maar eerst, een korte intro in wat kreeg me gemotiveerd om het te maken.Een paar jaar geleden, begon ik mee
Arduino Due gebruiken voor het programmeren en testen ESP8266

Arduino Due gebruiken voor het programmeren en testen ESP8266

Als u wenst te programmeren een ESP8266 (Wifi SoC) zult u normaal gebruik maken van een USB naar seriële adapter zoals deze. In het geval u geen één hebt maar u hebt kan een Arduino Due tot rond je de Arduino tuig als een brug te programmeren en test
Arduino PID code voor lijn volgende Robot

Arduino PID code voor lijn volgende Robot

In dit instructable, leert u hoe maak je Arduino PID codes voor elke taak, sommige wiskunde en ontwerp robots die efficiënter dan anderen zijn.Om te beginnen, Bekijk de video hierboven om te zien hoe de PID lijn volgende werkt, in dit voorbeeld gebru
Gemakkelijk, omkeerbare Motor controle voor Arduino (of een Microcontroller)

Gemakkelijk, omkeerbare Motor controle voor Arduino (of een Microcontroller)

dit project maakt gebruik van slechts drie hoofdcomponenten voor voorwaartse en omgekeerde bepalen voor een interne motor.  U kunt het gemakkelijk interface naar een Arduino of elke andere microcontroller.Het is zo eenvoudig - u kunt het draad van "f
Interactief ontwerp en codegeneratie van aangepaste Android menu's voor Arduino--geen Android programmeren vereist

Interactief ontwerp en codegeneratie van aangepaste Android menu's voor Arduino--geen Android programmeren vereist

UpDate: Check out de nieuwere InstructableAndriod/Arduino voor Beginners - ontwerp Custom Andriod menu's aan de Arduino uitgangen wissel voort en vandoor. Absoluut geen programmeerkennis vereistdat alle code van de Arduino voor u met behulp van de ni
Hacken van een Arduino ISP schild voor AtTiny45 / AtTiny85

Hacken van een Arduino ISP schild voor AtTiny45 / AtTiny85

Dit is hoe hack een Evil Mad wetenschappers Lab Arduino ISP Shield zodat u de Arduino omgeving gebruiken kunt sommige handige kleine microcontrollers te programmeren.De Arduino is een grote kleine ontwikkelomgeving voor het maken van de elektronische