Hoe toegang krijgen tot 5 knoppen via 1 ingang van de Arduino (6 / 8 stap)

Stap 6: Codering het.


Om de code, gewoon nam ik de knop voorbeeld debounced en bewerkt dat als u wilt instellen een staat gebaseerd op welke knop is ingedrukt in plaats van slechts een eenvoudige hoog of laag staat.

U kunt het downloaden van de bijgevoegde schets. Het is eigenlijk heel simpel. De eerste sectie is ingesteld van alle variabelen en constanten die we zullen gebruiken.

Const int buttonPin = 0;     het nummer van de pin van de drukknoppen
Const int ledPin = 13;      het nummer van de LED-pin voor het testen


Het bovenstaande stelt slechts de pinnen gebruikt. Dan moet u elke knop en het bereik van waarden voor de desbetreffende knop instellen:

Const int BUTTON1 = 1;
...
Const int BUTTON1LOW = 970;
Const int BUTTON1HIGH = 1024;
...

In het Configuratiemenu, we gewoon de pin Staten en beginnen met de seriële poort (welke knop is ingedrukt wordt weggeschreven naar de uitgang voor seriële):

pinMode (buttonPin, INPUT);
pinMode (ledPin, OUTPUT);
Serial.begin(9600);

Dan we bij het interessante deel komen. Het eerste deel van de programma lus is waar de magie gebeurt er eigenlijk, maar het gewoon controleert welke knop werd gelezen gebaseerd op de waarde die we van analogRead() kregen:

int lezing = analogRead(buttonPin);
int tmpButtonState = laag;             de huidige lezing van de invoer pin

Als (lezen > BUTTON5LOW & & lezing //Read schakelaar 5
tmpButtonState = BUTTON5;
} else if (lezen > BUTTON4LOW & & lezing //Read schakelaar 4
tmpButtonState = BUTTON4;
} else if
....
} else {}
Geen toets wordt ingedrukt;
tmpButtonState = laag;
}

Het volgende deel debounces alleen de druk op de knop. Kortom, zonder deze druk op de knop lijkt de code als meerdere persen. Meestal dit zou u toestaan om gebruik van de knop als een tuimelschakelaar zo goed, maar ik doe dat niet.

Ik ben van plan over het gebruik van de knoppen als reset knoppen, zodat ik alleen hoef te detecteren wanneer ze worden geduwd en opnieuw instellen van een specifieke variabele.

Als (tmpButtonState! = lastButtonState) {}
lastDebounceTime = millis();
}

Als ((millis()-lastDebounceTime) > debounceDelay) {}
buttonState = tmpButtonState;
}
lastButtonState = tmpButtonState;

Het laatste deel van het programma is gewoon een switch statement die door verschillende code op basis van welke knop werd ingedrukt worden uitgevoerd. Voor het testen overschakelen ze alle net op de ingebouwde LED op pin 13.

switch(buttonState) {}
geval laag:
digitalWrite (ledPin, laag);
breken;
Case BUTTON1:
digitalWrite (ledPin, hoge);
breken;
...
}

En dat is in wezen hoe gemakkelijk het is om meerdere bedieningsknoppen. Ik heb niet dit in mijn project nog geïmplementeerd, zodat ik zou kunnen doen een bibliotheek voor het op een gegeven moment, als ik wil.

Gerelateerde Artikelen

Hoe toegang krijgen tot uw Media overal door het hosten van uw eigen Cloud!

Hoe toegang krijgen tot uw Media overal door het hosten van uw eigen Cloud!

IK HEB BIJGEWERKT DEZE GIDS ***Gelieve te bekijken de nieuwe versie van deze handleiding hier.Heeft u ooit gedroomd van toegang tot uw media overal in de wereld? Dit leerprogramma zal u tonen hoe voor het hosten van uw eigen wolk thuis die u toelaten
Hoe toegang krijgen tot uw muziek zonder Itunes!

Hoe toegang krijgen tot uw muziek zonder Itunes!

Dit Instructable zal u tonen hoe toegang tot de muziek op je iPod touch, iPhone of iPad zonder iTunesStap 1: Download Sharepod1. Ga naar uw browser van het web2. Kopieer en plak de link hieronderhttp://www.getsharepod.com/Download/3. downloaden Share
Hoe toegang krijgen tot uw muziek overal met uw Mac Mini

Hoe toegang krijgen tot uw muziek overal met uw Mac Mini

dit instructable verandert uw computer in een server van het particuliere aandeel. Het zal omhoog uw muziek hosten, zodat alleen u op het krijgen kunt. Maar, ervan uitgaande dat uw internetverbinding snel genoeg is, zult u kunnen krijgen bij het van
Hoe toegang krijgen tot een webpagina die Is geblokkeerd op uw School of werk

Hoe toegang krijgen tot een webpagina die Is geblokkeerd op uw School of werk

Hallo jongens ik ben het maken van deze video omdat ik besteed veel tijd aan de Universiteit en ik altijd op het web surfen ben maar ze altijd geblokkeerd sommige webpagina's die ik wil gebruiken zoals Facebook, WhatsApp, Twitter, Tumbler, Youtube, k
Hoe toegang krijgen tot de zekeringen in de BMW 1-serie (E81 E82 E87 E88)

Hoe toegang krijgen tot de zekeringen in de BMW 1-serie (E81 E82 E87 E88)

Voor toegang tot de cabine zekeringen in de BMW 1-serie moet je het uitbrengen van het dashboardkastje in uw auto.Stap 1:Openen van de autoNeem de passagiers stoel.Open het dashboardkastje.Zoek schokdemper aan de kant en koppelt u deze los.Zoek twee
Hoe toegang krijgen tot de vergrendelde Sites op School de gemakkelijke manier!

Hoe toegang krijgen tot de vergrendelde Sites op School de gemakkelijke manier!

Heb je ooit wilde kijken naar een video, of check uw myspace terwijl in school, maar de site is geblokkeerd? Nou is hier het antwoord.Ik heb veel dingen vertellend u hoe te omzeilen de firewall waarmee websites die zou kunnen worden geblokkeerd door
Hoe toegang krijgen tot scherm recorder op Mac

Hoe toegang krijgen tot scherm recorder op Mac

Quicktime Player voor het eerst opent.Stap 1: Nu ga bestand, nieuwe Screen Recording. Gedaan.
Hoe toegang krijgen tot vergrendelde websites door school ethernet in 20 seconden zonder houweren

Hoe toegang krijgen tot vergrendelde websites door school ethernet in 20 seconden zonder houweren

link.de woorden zijn in Portugese want ik had geen tijd om een andere versie te maken, maar de woorden niet zeggen iets nuttig.UPDATEmeer links naar proxy sites omdat de vorige site is in onderhoudfreeproxyHideMyAss1proxy
Hoe toegang krijgen tot verborgen instellingen in uw xbox 360 tweede versie (laatst een was een failiure)

Hoe toegang krijgen tot verborgen instellingen in uw xbox 360 tweede versie (laatst een was een failiure)

gewoon doen in als er een probleem optreedt voel je vrij om me e-mail op sem_on123
Hoe maak je een enkele LED knipperen met behulp van een Arduino Uno Board

Hoe maak je een enkele LED knipperen met behulp van een Arduino Uno Board

Vandaag, we zullen worden ter illustratie van hoe maak je een enkele LED knipperen met behulp van een Arduino Uno-board. Door elke stap te volgen, zal je dit doel bereiken.U zal het volgende nodig:Een Arduino BoardBrood bordUSB-connectorkabelEEN LED3
5 knoppen toegang via 1 pin van de Arduino - Revisited

5 knoppen toegang via 1 pin van de Arduino - Revisited

ik heb gemaakt van de oorspronkelijke Instructible dat dit is gebaseerd op meer dan een jaar geleden (je ziet het hier en Bekijk enkele van de theorie rond hoe dit werkt:). Om een lang verhaal kort, ik verplaatst naar een ander land een paar weken na
Seriële Servo Controller w/Arduino - controle tot 12 Servos tegelijk met behulp van de Arduino en een USB-verbinding

Seriële Servo Controller w/Arduino - controle tot 12 Servos tegelijk met behulp van de Arduino en een USB-verbinding

ik ga u laten zien hoe je Arduino gebruik maximaal 12 servo's tegelijk met minimale jitter control.  Met behulp van een eenvoudige seriële interface kunt u de positie van maximaal 12 servo kanalen.  Maximaal 10 momentopname posities kan worden opgesl
Hoe maak je een bekabelde Rc auto met behulp van een Arduino

Hoe maak je een bekabelde Rc auto met behulp van een Arduino

Ik ga u tonen hoe te maken van een RC auto met een arduinoStap 1: materialen2 Arduino unos (dat is net wat ik gebruikt.)Jumper draden en Male naar vrouwelijke draden2 Arduino joysticks2 9v batterijenoplaadbare RC accu van 1 9.6v1 tower Pro Servo1 mot
Gemakkelijk toegang krijgen tot Casino Gaming Online

Gemakkelijk toegang krijgen tot Casino Gaming Online

Ontdek het plezier van online casino gokken in Amerika en winnen grote geld jackpots met deze video. U kunt alles wat die u weten moet over het spelen van online hier leren, of u kunt kiezen voor een casino en begin meteen te spelen! Bezoek vandaag G