Knop Arduino tutorial Arduino Tutorial (1 / 6 stap)

Stap 1: Aansluiten van de knop


De knop

Dit is een pulsdrukschakelaar, met een stabiele positie (open) wanneer geen kracht wordt uitgeoefend en orkestdirectie (gesloten), wanneer gedrukt. Het is een van de eenvoudigste electro-mechanische lastafhankelijk remventiel.

Verbinding maken met de knop zoals geïllustreerd in de foto van deze stap.

(Niet onder de indruk van de grootte van mijn breadbord. Een kleine stap zullen eigenlijk handiger.)

De i/o-Pin

De AVR (aka ATmega, d.w.z. de Atmel chip voeden van de Arduino board) heeft verschillende I/O pinnen. I/O betekent dat ze kunnen worden vrij geconfigureerd door software als input of output.

Pin 2 zullen een goede keuze voor ons voorbeeld. Het zal worden gebruikt voor het meten van de status van de knop: ingedrukt of losgelaten.

Pull-up weerstand

De PIN-code moet worden aangesloten op ergens via de knop. De vraag is: waar.

Een eerste idee zou zijn om te gaan naar de VCC. VCC is de gebruikelijke benaming voor de voedingsspanning, hier 5V.
Dus wanneer de knop is ingedrukt, de pin op VCC zou worden aangesloten, en de software HIGH lezen zou. Maar wanneer de knop wordt losgelaten, de pin is verbonden met nergens, aka "drijvende", en zal worden blootgesteld aan lawaai, en de software zal hoge en lage lezen op een grillige manier.

Dus is de oplossing het gebruik van een zogenaamde pull-up of pull-down weerstand. Een dergelijke weerstand zorgt ervoor dat de pin altijd met GND of VCC, rechtstreeks of via de weerstand, afhankelijk van de positie van de knop verbonden is.

Gelukkig, de AVR-chip heeft intern een 20 kOhm pull-up weerstand die verbonden kan worden met de pin (intern). De PIN-code moet worden geconfigureerd als input, en zijn waarde, in dit geval vertelt of de pull-up is aangesloten (anders de waarde definieert, wanneer de pin is geconfigureerd als uitgang, de uitgang staat).

Met deze pull-up, we de pin met GND via de knop verbinding maken, en hebben deze situaties wanneer de knop wordt losgelaten, respectievelijk ingedrukt:

  Button not pressed: VCC | 20K | | internal | | pull-up |_| | | _____ input ––––*––––––o–––––––––o o––––– GND pin released button 

Input is geïsoleerd van de GND, dus alleen aangesloten op VCC via de weerstand. Geen huidige stromen.
Zonder de pull-up weerstand, zou de input "zweven".

  Button pressed: VCC | : 20K | | : internal | | : pull-up |_| : some current flows | `- - - - - - - - - -> | input ––––*––––––o–––––––––o–––––o––––– GND pin pushed button 

Ingang is nu rechtstreeks verbonden GND. Sommige huidige stroomt door de weerstand.

In beide gevallen hebben we nu een duidelijk omschreven situatie.

Consumptie

Wanneer de knop is ingedrukt, de weerstand krijgt een spanningsverschil gelijk is aan de VCC, en een huidige ik stroomt:

IK = VCC / R
= 5 / 20.000 = 0,25 mA

Overeenkomt met het consumeren van de kracht P:

P = VCC2 / R
= 52 / 20.000 = 1,25 mW

Dit is niet veel, en alleen wanneer de knop is ingedrukt wordt verbruikt. Pull-up en pull-down weerstanden hebben vaak nog meer waarden, dus minder energie verbruikt. Als u geen bijzondere redenen, gebruik dit handige 20 k interne pull-up.

Polariteit

Hadden we een pull-down tot onze beschikking hebben, we zouden hebben aangesloten de pin op VCC in plaats van de GND en lezen hoog op pers, die logischer is. Maar aangezien we alleen een pull-up hebben, we moeten de polariteit omkeren door software, bij pin bemonstering.

Volg voor meer informatie over I/O pinnen, http://www.arduino.cc/en/Tutorial/DigitalPins.

Programmering

De configuratie van de AVR-pin (als input en met pull-up ingeschakeld) wordt beschreven in de onderstaande code.

Code

––––––––––8<––––––––––

 #define BUTTON_PIN 2 void setup() { ... pinMode(BUTTON_PIN, INPUT); digitalWrite(BUTTON_PIN, HIGH); // connect internal pull-up ... } void loop() { ... } 

––––––––––>8––––––––––

Gerelateerde Artikelen

LED te activeren met behulp van knop--Arduino voorbeeld Video

LED te activeren met behulp van knop--Arduino voorbeeld Video

de toont me het circuit op pagina 43 van aan de slag met Arduino, door Massimo Banzi monteren.In het volgende voorbeeld is een zeer goed uitgangspunt bij het gebruik van de Arduino systeem.  Het is de basis van mijn project Blinky visHier is hoe het
Ingebouwde Hackduino (Arduino) ultrasone parkeren gids

Ingebouwde Hackduino (Arduino) ultrasone parkeren gids

Dit is een gids voor het parkeren van hackduino die in een oude doos voor werk, past dus het kan ingebouwd worden in aan de muur in uw garage. Oorspronkelijk wilde ik met de Arduino en de ultrasone afstandssensor bepalen van een werkelijke verkeersli
Arduino gecontroleerd Marble doolhof

Arduino gecontroleerd Marble doolhof

dit is een eenvoudig project van Arduino om controle van een marmeren doolhof.  De Marble doolhof (u kunt het online) komt uit een project bij de TeleToyland, en de bouw instructies die op het dit Instructable.  Voor een recente show moest ik toestaa
MIDI controle Cubase met Arduino gebaseerd

MIDI controle Cubase met Arduino gebaseerd

Een vriend van mij wilde Cubase, zijn audio-opname-software, met een drukknop controle zodat hij kon stoppen en opnames op afstand opstarten zonder te hoeven overgaan tot de computer en type op het toetsenbord. U kunt mogelijk om dit te doen in ander
De opname met behulp van ultrasone sensor met arduino

De opname met behulp van ultrasone sensor met arduino

Ik heb in de IOT ruimte voor een flink aantal maanden en proberen om dingen te integreren met Arduino board, onlangs kwam ik ultrasone sensor, het is interessant. Dus ik dacht van het creëren van een klein project. Het doel van het project is het vas
Gebouw van de Android APP naar besturingselement Arduino Smart auto (製作Android APP控制Arduino 智慧車)

Gebouw van de Android APP naar besturingselement Arduino Smart auto (製作Android APP控制Arduino 智慧車)

Dit is een steekproefcode gemaakt van MIT APP inventor2. Om te tonen hoe verbinden Andruino via BT. U kunt het aanmaken om te voldoen aan welke functie die u wilt wijzigen. Bassically, het is echt gemakkelijk om te bouwen van een APP ter ondersteunin
Het gebruik van de flowsensor van de Water - Arduino tutorial Arduino Tutorial

Het gebruik van de flowsensor van de Water - Arduino tutorial Arduino Tutorial

In deze tutorial leert u hoe u één water flowsensor met een Arduino board.De flowsensor water bestaat uit een kunststof ventiel onderstuk, een water-rotor en de sensor van een hall-effect. Wanneer het water door de rotor stroomt, rotor rollen en de s
Het gebruik van de DHT-11 sensor-Arduino Tutorial

Het gebruik van de DHT-11 sensor-Arduino Tutorial

De DHT-11 is een digitale-uitgang relatieve vochtigheid en temperatuursensor. Het maakt gebruik van een capacitieve vochtigheid sensor en een thermistor voor het meten van de omringende lucht. Vergeleken met de DHT22, deze sensor is minder nauwkeurig
Het gebruik van de Adafruit Flora-bestuur - Arduino tutorial Arduino Tutorial

Het gebruik van de Adafruit Flora-bestuur - Arduino tutorial Arduino Tutorial

In deze tutorial leert u hoe u het bord Adafruit Flora en hoe kun je gemakkelijk programmeren met Codebender!FLORA is Adafruit van draagbare elektronica volledig-gekenmerkte platform. Het is een ronde, sewable, compatibel is met Arduino microcontroll
ESP8266 controle WS2812 Neopixel LEDs met behulp van de Arduino IDE - A Tutorial

ESP8266 controle WS2812 Neopixel LEDs met behulp van de Arduino IDE - A Tutorial

Hallo iedereen,Als u als me bent, hebt u zoekend rond het internet een goede tutorial over het gebruik van de ESP8266 met neopixel LEDs (AKA de WS2812 of WS2812b), geprogrammeerd via de Arduino IDE. Ik heb niet gevonden het allen in één plaats, in he
Het gebruik van de L298 Motor Driver Module - Arduino tutorial Arduino Tutorial

Het gebruik van de L298 Motor Driver Module - Arduino tutorial Arduino Tutorial

Dit dubbele bidirectionele motor stuurprogramma is gebaseerd op de zeer populaire L298 Dual H-Bridge Motor Driver IC. Deze module kan je gemakkelijk en onafhankelijk controle twee motoren van tot 2A in beide richtingen.Het is ideaal voor robotic toep
Arduino Tutorial: Krijgen reisde afstand met behulp van ADNS-9800 Sensor voor de muis van de Laser

Arduino Tutorial: Krijgen reisde afstand met behulp van ADNS-9800 Sensor voor de muis van de Laser

De sensor van de gaming ADNS-9800 Laser bestaat uit sensor en VCSEL in één chip-on-board (COB) pakket. ADNS-9800 biedt verbeterde functies zoals programmeerbare frame rate, programmeerbare resolutie, configureerbare slaap en wakker van de tijd versch
Arduino Tutorials (deel 3-17 Tutorial Pack)

Arduino Tutorials (deel 3-17 Tutorial Pack)

Dit is de Arduino Tutorial Pack deel 3.Het 1ste deel is hier beschikbaar:Het 2de deel hier:In tegenstelling tot andere tutorials hier geven niet ik elke achtergrond in theorie hoe het werkt. Het is hoe te bereiken - metingen uit veel van sensoren en,
Het gebruik van de bodem Hygrometer Module - Arduino tutorial Arduino Tutorial

Het gebruik van de bodem Hygrometer Module - Arduino tutorial Arduino Tutorial

In deze tutorial zullen we een bodem hygrometer module gebruiken voor het meten van bodemvocht van een pot.De module kan geven ons een digitaal signaal wanneer de bodem noodzaak drenken en deze uitgang kunnen worden aangepast door de potmeter. Of het