Hoe maak je een Arduino-gecontroleerde-fietsverlichting (4 / 7 stap)

Stap 4: Instellen van de fysieke debouncer


Zoals wij in het vorige stukje code toonde, we willen een knop komt op digitale poort 2, interrupt poort 0 gebruikt (Ja, het is verwarrend) als een interrupt, wat in feite betekent dat het de arduino in zijn tracks stoppen zal als een bepaalde voorwaarde is voldaan.

knop instellen
int buttonInt = 0; pin 2 is interrupt 0

attachInterrupt (buttonInt, incrementProgram, stijgt);

Die lijn van code betekent dat we willen de pin aangeduid met buttonInt (digitale pin 2) om te functioneren als een interrupt. Wij willen dat de functie incrementProgram, whenver het ervaringen een stijgende rand. Een stijgende rand betekent simpelweg een plaats waar de spanning springt zeer plotseling (bijvoorbeeld als u een knop hebt voltooid een verbinding met 5 volt)

We gaan om de functie incrementProgram (zie onderstaande afbeelding) om te veranderen van het huidige programma dat de Arduino wordt uitgevoerd.

ongeldig incrementProgram() {}
Serial.Print("pressed!");
Als (currentProgram (NUMBER_OF_PROGRAMS - 1) ==) {}
currentProgram = 0;
}
else {}
currentProgram = currentProgram + 1;
}
}

Onthoud deze regels?
#define NUMBER_OF_PROGRAMS 6

voor het schakelen tussen programma 's
vluchtige int currentProgram = 0;

Nu maken ze een beetje meer zin? de reden dat we moeten het vluchtige trefwoord toevoegen aan huidige programma is omdat wij laten weten willen dat dit nummer regelmatig veranderen zal en dat dit een normale zaak dat het moet niet uit freak over arduino.

Het probleem daarbij is echter dat wanneer een knop wordt ingedrukt, het eigenlijk stuiterde van een naar beneden een beetje (zeer snel) voordat afwikkeling op de verkoopcommissie. We gaan een RC circuit moet worden gebruikt als een lowpass filter dat zal grotendeels scherm uit de zeer snelle "stuitert" verwijderen van veel van deze stuiteren en gladstrijken van de overgang. De tijdconstante van deze bijzondere RC-kring is ongeveer 10 ms, dat is over het algemeen trager dan een mens kan druk op een knop, en dus deze signalen moet onaangetast.

Aangezien de meeste Schmidt Triggers zijn omkeren, toont de linker helft van het circuit diagram een knop die daadwerkelijk zal gaan van 5 volt naar 0 volt wanneer gedrukt. Nochtans, hebben wij deze interrupt op een digital pin, en de precieze aard van het stuiteren in onvoorspelbaar. Om op te lossen dit probleem die we een Schmidt-Trigger als een fundamentele analoog naar digitaal converter, en nemen onze traag bewegende verandering van hoog naar laag in een sprong van laag naar hoog gebruiken zullen, het verzenden van een stijgende rand, die leiden onze interrupt tot moet.

Het circuit diagram maakt gebruik van een zeer bijzondere Schmidt trigger en jou kan afwijken. Controleer de data sheet om te zien hoe het precies zou moeten werken, maar de set-up komt te staan is heel gebruikelijk.

Vout moet worden aangesloten op de digitale pen 2.

Gerelateerde Artikelen

Hoe maak je een Arduino compatibele Bluetooth 4.0-Module

Hoe maak je een Arduino compatibele Bluetooth 4.0-Module

UPDATE: Laat maken Robots, mijn huis digitale hackerspace, werd gekocht door RobotShop. Ik wil niet ingaan, maar de nieuwe eigenaren verboden mezelf en de meeste van de ervaren leden. Dat gezegd, allermeest naar de verbinding er gebroken zal worden.
Hoe maak je een Arduino Ledlamp nachtkastje

Hoe maak je een Arduino Ledlamp nachtkastje

Hoe maak je een LED Lamp nachtkastje met een elektronische lader.Stap 1: Stap 1: verzamelen van materialenDe eerste stap op hoe maak je een LED lamp nachtkastje is het verzamelen van al uw materialen.U moet:1 ArduinoWat Jumper draadjes1 RGB-LED3 330
Hoe maak je een Arduino pir sensor alarm

Hoe maak je een Arduino pir sensor alarm

Dit is een tutorial over hoe je kunt een PIR-bewegingsmelder met Arduino Maak een fundamentele alarm. Dit is een zeer fundamentele project voor iedereen, en alles wat je nodig hebt om te weten is Arduino en basiscomponenten, dat is bijna niets.Stap 1
Hoe maak je een Arduino gebaseerde nacht licht met infrarood afstandsbediening!

Hoe maak je een Arduino gebaseerde nacht licht met infrarood afstandsbediening!

Hier is een Instructable die u hoe tonen zal te bouwen van een licht met een Arduino gebaseerd-nachteen kleine infrarood afstandsbediening waarmee u doorlopen 10 pre set kleuren, en een willekeurige fadingkleur routine die voor eeuwig lussen.Dit inst
Hoe maak je een Arduino Shield zeer gemakkelijk (via EasyEDA)

Hoe maak je een Arduino Shield zeer gemakkelijk (via EasyEDA)

In dit Instructable ga ik je leren hoe te maken van een Arduino Uno schild zeer eenvoudig.Ik zal niet gaan in teveel detail, maar ik opgenomen een video waar ik een beetje meer in de diepte gaan over het gebruik van de software.Ik gebruik de webtoepa
Hoe maak je een Arduino-Radio Controlled Robot

Hoe maak je een Arduino-Radio Controlled Robot

Ik heb altijd al wilde maken van een afstandsbediening robot auto, maar altijd dacht dat het was te hard of te ingewikkeld. Een paar weken geleden ik eindelijk deed wat echte onderzoek en realiseerde dat het veel gemakkelijker te maken dan ik dacht e
Hoe maak je een Arduino oscilloscoop sonde

Hoe maak je een Arduino oscilloscoop sonde

deze instructabe zal u tonen hoe te maken van een arduino oscilloscoop sonde voor deze links, van een poorman oscilloscoop en een multi-kanaal oscilloscoop voor arduino /Stap 1: Materialen en onderdelen Toolssoldeerboutsoldeerhobby boor (hebt u niet
Hoe maak je een Arduino web Server

Hoe maak je een Arduino web Server

In dit voorbeeld, zal u uw Ethernet-Shield en je Arduino te maken van een eenvoudige webserver gebruiken. Met behulp van de Ethernet-bibliotheek zal uw apparaat hebben de capaciteit om het antwoord van een HTTP-aanvraag met uw Ethernet-shield. De Eth
Hoe maak je een Arduino vanaf nul

Hoe maak je een Arduino vanaf nul

Zuinig Engineering is de beste weg vooruit voor de wetenschap.Bent u geïnteresseerd in het maken van enkele arduino vanaf nul, bent u bij ons aan het juiste adres.Ziet u een video tutorial van dit instructable: hierHet zal vullen alle mazen of twijfe
Hoe maak je een Arduino remote shutter

Hoe maak je een Arduino remote shutter

In deze tutorial leert u hoe te creëren en controle van een Arduino remote shutter voor uw favoriete camera.Dit leerprogramma zal u tonen hoe te programmeren van de arduino te concentreren van de camera of foto's automatisch te nemen.Wat je nodig heb
Hoe maak je een externe gecontroleerde Stunt auto thuis

Hoe maak je een externe gecontroleerde Stunt auto thuis

In dit Instructable, zullen we leren om een geweldige gadget dat iedere vent wenste voor en had ook atleast probeerde eens te maken tijdens zijn jeugd. Het is niets anders dan een extern gecontroleerde auto en wat denk je, in dit instructable, we zul
Hoe maak je een Arduino-Piano

Hoe maak je een Arduino-Piano

Wat je nodig hebt:13 lange draden8 korte draden1 piëzo-zoemer8 330 ohm weerstanden8 knoppen1 Arduino1 USB-kabel2 breadboardHoutHoutlijmHouten ToolsStap 1: Deel 1: het maken van het vakOm dit project om succesvol te zijn, moeten de piano een cover, zo
Hoe maak je een Arduino Project

Hoe maak je een Arduino Project

Een arduino project kon decoratie toevoegen aan het huis, of helpen dingen gedaan krijgen. Een arduino kan tonen maken video's van iemands huisdier, bijvoorbeeld. (hier) Dit instructable zullen nemen u stap voor stap door het proces van het creëren v
Hoe maak je een ARDUINO VU METER

Hoe maak je een ARDUINO VU METER

De kerels van Hey. Wilt u om een kleine, cool project met behulp van de Arduino te maken? Dan vindt u het hier.We lopen een YouTube-kanaal 'Wordt ingenieurs' en we zijn het verstrekken van video tutorials over programmeertaal, elementaire elektronica