Arduino Uno menusjabloon (3 / 3 stap)

Stap 3: Programmeren knoppen aan taken

Deze LCD schild heeft 6 knoppen, die slechts 4 waarvan ik gebruik in mijn programma. Er is een select, omhoog, omlaag, naar links, rechts, en reset knop. Het resetten is moeilijk bedraad in de Arduino Uno-reset, dus er is niets die wij ermee kunnen doen. De knop selecteren blijft off van mijn programma en ik gebruikte de rechterknop in plaats daarvan. Voor sommige reden dat de knop selecteren worden tot nu toe links van op en neer voelde onnatuurlijk voor menunavigatie.

De functie die bepaalt welke knop u gewoon ingedrukt heet evaluateButton(). Vlak voordat u roept u die functie moet je lezen van het analoge signaal van de A0 ingang op de Uno en bewaar het aan de readKey-variabele. Wanneer u roept de functie evaluateButton() maken het evaluateButton(readKey). Dit stuurt dat het signaal van A0 functie en de functie zal bepalen welke knop die is gekoppeld en de knop getal in geheel getal vorm retourneren.

Hier is een voorbeeld van roeping voor een knop-controle:

 int button; // Declares a fresh button variablereadKey = analogRead(0); // Reads the analog signal from A0 and saves it to readKey if (readKey < 790) { // If the signal drops below 790 that means a button was // pressed. The if statement delays the program for 100 microseconds // to debounce the button press and let voltage stabilize delay(100); readKey = analogRead(0); // Once the voltage has stabilized read the signal again } button = evaluateButton(readKey); // Call the evaluateButton function and send it the readKey data // Whatever integer comes back save it to the button variable 

De evaluateButton() functie ziet er zo uit:

 int evaluateButton(int x) { int result = 0; if (x < 50) { result = 1; // right } else if (x < 195) { result = 2; // up } else if (x < 380) { result = 3; // down } else if (x < 790) { result = 4; // left } return result; } 

De gemakkelijkste en schoonste manier om die knop variabele te gebruiken is met een switch/case. Een switch/case-functie kijkt naar die knop variabele in wezen en komt overeen met het "zaak". De programmering in dat geval wordt uitgevoerd als het overeenkomt met de ingedrukte knop. Bijvoorbeeld:

 switch (button) { case 0: // When button returns as 0 break; case 1: // When button returns as 1 lcd.clear(); lcd.print("Forward Button"); break; case 2: // When button returns as 2 lcd.clear(); lcd.print("Up Button"); break; case 3: // When button returns as 3 lcd.clear(); lcd.print("Down Button"); break; } 

Idealiter zal u nest de knop evaluatie oproep en de schakeloptie/case binnenkant van een Ken / terwijl of while lus dat uitvoeren blijven zal tot een knop is ingedrukt.

Gerelateerde Artikelen

Glas van computers op basis van Arduino Uno

Glas van computers op basis van Arduino Uno

Aan mijn meesters graduate project ("Gowing Computers, aansluiten van organen, knippen het snoer") van Konstfack College van kunstnijverheid en Design (keramiek en glas/CRAFT) heb ik gemaakt 3 glazen computers op basis van de specificaties van d
Ambilight systeem voor elke input aangesloten op uw TV. WS2812B Arduino UNO Raspberry Pi

Ambilight systeem voor elke input aangesloten op uw TV. WS2812B Arduino UNO Raspberry Pi

Ik heb altijd al wilde ambilight toevoegen aan mijn TV. Het ziet er zo cool! Ik eindelijk deed en ik was niet teleurgesteld!Ik heb veel video's en veel tutorials over het maken van een Ambilight-systeem voor uw TV, maar ik heb nooit gevonden een voll
DIY - Hoe te gebruiken de Arduino Uno voor het verzenden van een E-mail, SMS en maken een stem bellen

DIY - Hoe te gebruiken de Arduino Uno voor het verzenden van een E-mail, SMS en maken een stem bellen

Wonder op welke manier voor het verzenden van e-mails via uw Arduino Uno? Maak je niet druk... Deze video tutorial zal verlichten u over het proces stap voor stap aan e-mails, SMS-berichten versturen, evenals stem bellen met behulp van de 3G/GPRS-shi
Verbind uw Raspberry Pi en Arduino Uno!

Verbind uw Raspberry Pi en Arduino Uno!

Zowel de Raspberry Pi en Arduino Uno zijn zeer krachtige apparaten, goed op verschillende dingen. De Arduino boards Arduino boards zijn geweldig lezing in- en uitgangen van diverse verschillende dingen. De Raspberry Pi is in feite een mini, open-sour
Ultrasone afstandsmeter met LCD-scherm van Arduino UNO

Ultrasone afstandsmeter met LCD-scherm van Arduino UNO

In deze tutorial gaan we zien een ander gebruik van de HC-SR04 ultrasone module. In deze module wordt vaak gebruikt op robots en speelgoedauto's te vinden van belemmeringen, maar het kan worden gebruikt voor het meten van afstanden ook.Afstanden geme
ARDUINO UNO LED kubus dansen lichten

ARDUINO UNO LED kubus dansen lichten

laat zien hoe maak je dansende lichten LED kubus met behulp van de arduino uno.Voor dit project arduino uno is must en 64 LED's u nodig hebt voor uw kleurkeuze.Ik heb blauwe LED's gebruikt voor dit project.U wilt alle soldeer 64 leidde de laag voor l
Arduino Uno DHT11 LCD weerstation DIY

Arduino Uno DHT11 LCD weerstation DIY

Dit DYI is over hoe te maken van uw weerstation met behulp van de Arduino Uno, DHT11 temperatuur en vochtigheid sensor, LCD DFRobot 2 x 16 scherm met toetsenbord. Meestal kan je Arduino, DHT11 en LCD afzonderlijk en sindsdien elk apparaat hs is het e
Verbinden met Blynk met behulp van ESP8266 als Arduino Uno wifi schild (alleen Mac)

Verbinden met Blynk met behulp van ESP8266 als Arduino Uno wifi schild (alleen Mac)

Dit is een leerprogramma om u te tonen hoe u verbinding met Blynk met behulp van een ESP8266 - 01 als een Arduino Uno wifi schild. Deze tutorial is zeer gedetailleerd om te helpen die erg nieuw voor dit spul zijn.-Benodigde hardware:Arduino UnoMale n
Shapeoko 2, Arduino UNO R3, grbl 9g, 8 bit Laser Diode foto graveren

Shapeoko 2, Arduino UNO R3, grbl 9g, 8 bit Laser Diode foto graveren

Mij en mijn zoon ontwikkelde uitgevonden/een nieuw concept van de "On-The Fly" 8 bit Diode Laser graveren foto's meer dan twee jaar geleden. Met dit concept, de Laser Diode nooit uitgeschakeld door de hele foto gravure proces. Het verschilt gewo
Extreme Ambilight systeem met behulp van [ws2801 + arduino uno]

Extreme Ambilight systeem met behulp van [ws2801 + arduino uno]

de kleuren in werkelijkheid zijn 99% waar werden de blanken in deze video meer paarse sinds im opname met behulp van mijn iphone :DDus, hier is het jongens, de ultieme ambilight-kloon die u kunt maken.wat we proberen te bereiken is het scannen van de
Arduino Uno - passieve infrarood (PIR)

Arduino Uno - passieve infrarood (PIR)

Hallo iedereen...Ik heb geprobeerd om meer Instructables als de tijd het toelaat.In dit Instructable gaan we aan de draad van een passieve infrarood (PIR) sensor aan onze Arduino Uno in de hoop een manier om te detecteren verkeer van een toekomstig h
Arduino Uno - vlamsensor

Arduino Uno - vlamsensor

In dit Instructable, ik laten zien hoe ik bedraad, geprogrammeerd, en een vlamsensor OSEPP met mijn Arudino Uno bekijken.Dit kleine apparaat gaat komen handig met mijn toekomstige doelstellingen in de automatisering, evenals sommige netjes rond het h
Tijdwaarneming op ESP8266 & arduino uno zonder een RTC (Real Time CLock)?

Tijdwaarneming op ESP8266 & arduino uno zonder een RTC (Real Time CLock)?

Zoals de titel al zegt, ik heb getest het bijhouden van tijd op mijn arduino uno en de ESP8266 / Wemos D1 planken (geprogrammeerd met arduino) zonder het gebruik van Bibliotheken, het internet of een RTC-eenheid. Een heleboel grote instructables hier
Arduino Uno in C Language Program

Arduino Uno in C Language Program

Hallo vrienden,In dit instructable, ik heb aangetoond hoe Arduino Uno programmeren in C taal.Arduino gebruikt eigen taal programma Arduino boards Arduino boards, omdat haar programmeertaal gemakkelijk is te begrijpen.Maar het kan ook worden geprogram