Beginner Arduino (10 / 15 stap)

Stap 10: knop


Tijd voor een nieuw type van circuit, nu gaan we kijken naar het gebruik van drukknoppen met Arduino. Knoppen zijn een soort van schakelaar, het type knop die we gebruiken heet een "normaal open pulsdrukschakelaar". "Normaal open" betekenen wanneer de knop niet is ingedrukt, geen huidige vloeien via de knop, zullen omdat de twee partijen zijn niet verbonden - als open circuit vormt (Zie de eerste afbeelding hierboven). "Tijdelijke" verwijst naar het feit dat deze schakeloptie op alleen gesloten zolang u druk met uw vinger; Dit maakt het duidelijk verschilt van een tuimelschakelaar, die wordt er geschakeld tussen een open en gesloten staat telkens wanneer u het op.

Het circuit van de knop dat we gebruiken bestaat uit twee componenten - een drukknop en een weerstand. In tegenstelling tot het LED-circuit, zijn we niet bezorgd over de hoeveelheid stroom doorgeven via de knop (op zeer hoge niveaus van huidige we zorgen te maken wellicht over het smelten van de knop, maar de Arduino is niet zo krachtig), dus de weerstand niet handelt zoals de beperking van de huidige weerstand in het LED-circuit. In plaats daarvan fungeert deze weerstand als een pull-down weerstand. Een pull-down weerstand banden een knop aan grond, zodat de spanning op de kruising tussen de knop en de weerstand te meten zal altijd 0V (geaard) wanneer de knop niet is ingedrukt (en het circuit geopend is). In dit circuit, de waarde van de pull-down weerstand maakt eigenlijk niet uit, ik graag gebruik maken van iets rond de 10kOhms.

Hier is de schets van de knop:

 //Button Press Detection int buttonPin = 7; void setup(){ pinMode(buttonPin, INPUT);//this time we will set the pin as INPUT Serial.begin(9600);//initialize Serial connection } void loop(){ if (digitalRead(buttonPin)==HIGH){//if button pressed Serial.println("pressed"); } else { Serial.println("unpressed"); } } 

De knop schets introduceert enkele nieuwe ideeën:

digitalRead(pinNumber) - vergelijkbaar met digitalWrite(), maar gebruikt een waarde van hoog of laag in onze schakeling te meten. digitalRead() neemt één argument - het pin-nummer dat we uit aan het lezen bent. Wij moeten ook zorgen ervoor dat de invoer pin correct te initialiseren:

pinMode (buttonPin, INPUT);

Seriële communicatie - seriële communicatie laat de Arduino berichten naar uw computer stuurt terwijl een programma wordt uitgevoerd, het nuttig voor debugging is, het verzenden van berichten naar andere apparaten of apps, of gewoon om een beter gevoel van wat is in je schakeling gaande er. Om te schakelen van seriële communicatie in uw schets, hebt u voor het initialiseren van de seriële aansluiting in de Arduino de Setup functie met de opdracht Serial.begin(). Serial.begin() neemt één argument, de baud-rate, dat de snelheid van data-overdracht tussen de Arduino en uw computer is, 9600 is een goede baud-rate voor nu. In het volgende schema gebruiken we Serial.println() voor het afdrukken van berichten in de Arduino IDE (Tools >> seriële Monitor).

if/else - If/else statements geeft ons meer controle over welke opdrachten worden uitgevoerd wanneer. In de sketch knop gebruikte ik de volgende if/else statement:

Als (digitalRead(buttonPin)==HIGH) {}

Serial.println("pressed");

} else {}

Serial.println("unpressed");

}

Als het resultaat van digitalRead(buttonPin) als resultaat hoog daarna de Arduino prints, het woord "ingedrukt", als digitalRead(buttonPin) als iets anders dan HIGH (zoals LOW resultaat), de Arduino afgedrukt het woord "ongeperst". Als verklaringen kunnen controleren == ("gelijk aan"),! = ("niet gelijk is aan"), >, <>, =, en < =. Probeer de volgende if-instructie in de loop van de Arduino:

Als (4 > 3) {}

Serial.println("True");

} else {}

Serial.println("false");

}

Wijzig de als verklaring voor de evaluatie van andere dingen.

Gerelateerde Artikelen

Verkeerslichten [Beginner Arduino Project]

Verkeerslichten [Beginner Arduino Project]

dit is een beginners-project voor de Arduino. Ik ben met behulp van de Arduino Uno, maar zou moeten werken met weinig of geen wijzigingen op andere modellen van de arduino.Instellen van de hardware is zeer eenvoudig. Dit project is meer een trainings
Beginner Arduino - met behulp van een 1.8-Inch-TFT-Display

Beginner Arduino - met behulp van een 1.8-Inch-TFT-Display

Dit is uw inleidende gids voor het gebruik van een 1.8 in Duimtft vertoning met een Arduino. Ik houd van de 1.8 op display voor zijn kleine grootte en lage kosten. Ik heb de mijne voor ongeveer $10 op ebay, hier. Het komt niet met instructies maar me
Blinky Blockhead (beginner Arduino project)

Blinky Blockhead (beginner Arduino project)

Dit is enkel een pret weinig toevoeging aan uw bureau.Dank aan mijn zus voor het maken van de papieren kubus en de haren!Stap 1: Verzamel uw leveringen.Stap 2: Teken een rechthoek die is 2 1/2 X 10 "Stap 3: Tekent u lijnen die 2 1/2 uit elkaar.Stap 4
Lcd met gids van de Beginner Arduino interface

Lcd met gids van de Beginner Arduino interface

Deel te worden opgestart1. JHD162A LCD2. Arduino board3. potentiometer4. jumper dradenWat is LCD?LCD (vloeibare kristalvertoning) is de technologie die wordt gebruikt voor displays in notitieboekje en andere kleinere computers. Net als light - emitti
Een Beginner Arduino Project: Tri-Colour door een Bi-Colour LED

Een Beginner Arduino Project: Tri-Colour door een Bi-Colour LED

Hi en welkom op mijn 7e instructable. Ditmaal ben ik spelen met mijn nieuwe TRduino duemilanove. Eigenlijk het is een kloon van Arduino gemaakt door Thinnkware en hebben de 328 ATMega.Arduino is een zeer goede programmeur en het is ook open bron (het
Arduino Beginner en elementaire elektronica Kit Primer

Arduino Beginner en elementaire elektronica Kit Primer

ik leerde dat een van mijn nichtjes had een belang in de programmering.  Ze werkte met robotica op middelbare school en heeft een zomer stage waar ze Arduinos hadden.  Ik denk dat ze was in staat om te lenen van een Arduino om te experimenteren met t
Hoe maak je een LED 7-segment display met Arduino

Hoe maak je een LED 7-segment display met Arduino

Ik ga u tonen hoe te maken van een 7 segment display met LED's. Combineren met Arduino aftelproceduretijdopnemers, eenvoudige tekst, en meer te maken. Ik willen maken van de oorspronkelijke projecten. Ik zocht de hele instructables en als dit niet vi
Android praat met Arduino

Android praat met Arduino

dit project iets wijzigt de Google Android monster app genaamd "Bluetooth Chat" zodat u kunt een bericht typen in de Android app en die dezelfde boodschap op een LCD-scherm die is gekoppeld aan een Arduino Uno verschijnt.Functionaliteit: Android
Arduino - Theremin met 7 Segment LED-Display

Arduino - Theremin met 7 Segment LED-Display

In dit instructable, ik zal u tonen hoe maak je een eenvoudige speelgoed die combinatie van de LED flitser en de Theremin. We gonna met behulp van enkele elementaire elektronica gebouwd op de top van een Arduino. Het basisidee van de 7 Segment LED-Di
Gemakkelijk bouwen self balancing elektrische skateboard

Gemakkelijk bouwen self balancing elektrische skateboard

Wat is het?Dubbele wielen skateboard dat als een Segway werkt. Elektrische skateboards bestaan al met aangedreven achterwielen. Plan hier was om iets te bouwen als een Segway, maar in de vorm van een skateboard. Het weet welke kant is "up" via e
Arduibag: een aangesloten rugzak voor fiets renners

Arduibag: een aangesloten rugzak voor fiets renners

Arduibag is een aangesloten rugzak voor fiets renners. Het is ook een open source project gemaakt door twee gepassioneerde Franse jongens: Michaël D'AURIA en Stéphane DE GRAEVE.Als u weten meer over Arduibag ga dan wilt naar: http://www.arduibag.comH
Plot klok voor dummies.

Plot klok voor dummies.

Herzieningen:1. de DS1307 real-time klok module instructies toegevoegd.Dit is niet mijn idee, maar ik zal proberen aan te tonen hoe ik dit eindelijk werkt.De briljante jongens die maken deze spul, vergeet vaak dat er zijn idioten (zoals ik) rond, die
Low-Power pomp voor Gravity watertank

Low-Power pomp voor Gravity watertank

het ideeDit project startte als een test om te zien de minste energie nodig om water van de pomp in een gravity tank hoog van de grond. We wilden vinden de meest efficiënte pomp mogelijke, misschien slechts een paar watt. Het interessante deel leek d
Gekwetter Laser Tripwire met Webcam Capture

Gekwetter Laser Tripwire met Webcam Capture

Dit instructable zal u tonen hoe te bouwen van een laser tripwire dat kan twitter en pak een afbeelding van een webcam, evenals elk commando kun je in een bash-script.Dit instructable is eigenlijk vrij eenvoudig en is ook geschikt als een beginner ar