Knop Arduino tutorial Arduino Tutorial (3 / 6 stap)

Stap 3: Opsporen van randen


Edges

Wanneer we vangen randen of overgangen willen, moeten we iets verbeteren het programma van de vorige stap.

We voeren een algemene variabele (button_was_pressed) die dat de laatste lezen staat, onthoudt zodat wij een verandering van staat kan detecteren.

In dit voorbeeld, wij sporen de overgang van niet ingedrukt om de geperst, en zal hen signaal door een gebeurtenis, zoals op de eerste afbeelding van deze stap.

Programmering

Bij elke iteratie, als we een evenement, sturen we een caret-teken naar de seriële lijn, anders een punt. Zie de tweede afbeelding van deze stap. Nogmaals, voor een lange druk op en twee korte persen. Merk op dat de lange druk op slechts één gebeurtenis heeft gegenereerd.

In de onderstaande code, moet u ook rekening mee dat ik variabelenamen (button_now_pressed) die een hoog niveau van abstractie (de knop staat), en niet de elektrische toestand (startknop gekozen heb, uitvoeren of niet, noch een elektrische waarde lezen op de pin) vertegenwoordigen.

Pro/Cons

Nog eenvoudige implementatie. De invoering van globale variabelen begint te dreigen met de schaalbaarheid van het programma. Nog heel oke maar voor één knop.

Code

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

 #define BUTTON_PIN 2 // Button #define DELAY 20 // Delay per loop in ms boolean button_was_pressed; // previous state void setup() { pinMode(BUTTON_PIN, INPUT); digitalWrite(BUTTON_PIN, HIGH); // pull-up Serial.begin(9600); button_was_pressed = false; } boolean handle_button() { boolean event; int button_now_pressed = !digitalRead(BUTTON_PIN); // pin low -> pressed event = button_now_pressed && !button_was_pressed; button_was_pressed = button_now_pressed; return event; } void loop() { // handle button boolean raising_edge = handle_button(); // do other things Serial.print(raising_edge ? "^" : "."); // add newline sometimes static int counter = 0; if ((++counter & 0x3f) == 0) Serial.println(); delay(DELAY); } 

––––––––––>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