Quiz-O-Tron 3000: Arduino quiz deelnemer lockout systeem (6 / 8 stap)

Stap 6: De MCP


Nu een beetje over de Arduino software die alle hardware banden samen en maakt alles werken zoals we zouden willen. De Quiz-O-Tron 3000 Master Control Program (knipoog naar TRON) voortdurend controleert de status van de 4 input pinnen. Wanneer een staat verandering wordt ontdekt vervolgens wijzigt de status van de bijbehorende uitgang pins (het draaien van de LEDs) en wacht gedurende vijf seconden. De uitgang-pins staat is dan reset (LEDs uit) en de lus om te controleren dat de staat van de input pinnen wordt herhaald. Vanuit een programmeertaal oogpunt is dit zeer eenvoudig verwerken. Hier is een lijst van de Arduino C programmacode waarmee u deze taken uitvoert.

/*
Quiz-O-Tron 3000 MCP
Door Roy Rabey
Versie 1.0 6-DEC-2010
*/

/*
-Arrays op de Arduino pin sets die zijn gekoppeld aan de knop vakken definiëren.
Zoals gedefinieerd onder de eerste deelnemer knop (element 0 van beide arrays) gebruikt pin 5 als invoer op te sporen een schakeloptie pers en uitgang pin 13 tot en met de LED power control te rijden.
*/
int inputPins [4] = {5,4,3,2}; De nummers van de schakelaar pinnen.
int outputPins [4] = {13,12,11,10}; De nummers van de pennen van de LED.

Sommige variabelen te verwerking
int maxPins = 4; Max aantal pin sets
unsigned long WinDelayTime = 5000; Aantal milliseconden aan het licht LEDs

nietig winner(int); Functie-definitie.

//
Beginnen verwerken
//
VOID Setup {}
/*
Setup wordt uitgevoerd zodra wanneer de Arduino is ingeschakeld of op beginstand zetten.
*/

Initialiseren van de pennen van de LED.
Dit vertelt de Arduino hoe de pinnen zullen worden gebruikt.
voor (int p = 0; p < maxPins; p ++) {}
pinMode (inputPins [p], INPUT); Maken dit een invoer pin.
pinMode (outputPins [p], OUTPUT); Maken dit een uitgang Pins.
}
}

void loop {}
/*
De loop-functie wordt uitgevoerd nadat de functie Setup is voltooid.
Zoals de naam de loop functie lussen impliceert voor eeuwig of tot de Arduino opnieuw wordt ingesteld.
*/

int val = hoog; Gebruikt om te bepalen of een invoer pin staat is gewijzigd.

voor (int p = 0; p < maxPins; p ++) {}
Lees de status van elke invoer pin.
Val = digitalRead(inputPins[p]); Leest de waarde van de invoer pin.

Als (val == LOW) {}
Als een pin laag gaat dan iemand op een knop gedrukt.
Winner(p); Roept de functie winner() met het winnen van de pin set.
}
}
}

VOID winnaar (int p) {}
Stel de output pin HIGH power om naar te sturen van de knop LED circuit.
digitalWrite (outputPins [p], hoge); De LED's inschakelen

WinDelayTime milliseconden wacht
delay(WinDelayTime);

Stel de uitgang pins laag om te doden van de macht van de knop LED circuit.
digitalWrite (outputPins [p], laag); De LED's uitschakelen
}

(Merk op dat ik deze code hebben opgenomen in zowel de Arduino IDE-bestandsindeling en als een tekstbestand hieronder voor uw gemak.)

Een van de leuke dingen over het doen van elektronica met microcontrollers is dat sommige van de project-functionaliteit is geïmplementeerd in software; Dit maakt het zeer eenvoudig om te veranderen. Bijvoorbeeld, als ik wilde flash van de LED's op de grote knop vakken voor 10 seconden ik zou gewoon wijzigen van de waarde van de variabele "WinDelayTime" dan compile/upload de nieuwe software aan de Arduino en ik ben klaar.  Dit is veel gemakkelijker dan moetend berekenen van waarden voor elektronische componenten gebruikt om te doen de timing en vervangt u de bijbehorende hardware. Terwijl dit project een vrij eenvoudige toepassing van de Arduino is, kan je enkele verbazingwekkende dingen met de Arduino. En bent u geïnteresseerd in het leren over elektronica zijn er vele Arduino gebaseerde projecten die u kunnen helpen. Ik zou niet geweest kundig voor lichaamsbouw van dit project in de tijd had ik zonder de Arduino platform beschikbaar.

Bent u geïnteresseerd in het leren die meer over deze microcontroller-ontwikkelplatform Bekijk de Arduino project op http://www.arduino.cc.

Gerelateerde Artikelen

Quiz Show zoemer systeem met behulp van Staples Easy Button

Quiz Show zoemer systeem met behulp van Staples Easy Button

**UPDATE** het is mij ter ore gekomen dat het bestuur van de huidige Staples easy knop veranderd door de jaren heen en is niet langer hetzelfde als de een die ik voor dit Instructable gebruikte terug in 2009. Verschuldigde beide tijdsdruk en het feit
Thee-O-Tron 3000.2

Thee-O-Tron 3000.2

Dit instructable ontstond vervulling de project-eis van de Makecourse bij de Universiteit van Zuid-Florida (www.makecourse.com)Ben je moe van het maken van thee als een savage? Dan is de thee-O-Tron 3000.2 enkel voor u! Met behulp van state-of-the-ar
Met behulp van Pimoroni Display-O-Tron met arduino

Met behulp van Pimoroni Display-O-Tron met arduino

de pimoroni Display-O-Tron 3000 (shop.pimoroni.com) is niet alleen één van de beste weergave voor de Raspberry Pi geld kunt kopen, de hardware die het rijden is goed ondersteund op de Arduino platform... Volg de gids!Stap 1: Hardware pinout De dot3k
Spelshow zoemer Lockout systeem

Spelshow zoemer Lockout systeem

IntroductieOp zoek naar een goedkoop alternatief voor een SPELSHOW ZOEMER LOCKOUT-systeem. In dit project we gebruiken bouw helmen voor de fun factor in plaats van een vak type console en maak een zeer betaalbare spelshow zoemer systeem. De totale ko
Arduino automatisch water geven systeem

Arduino automatisch water geven systeem

In deze handleiding Instructables zal ik u tonen hoe te maken van uw eigen - Arduino-automatische drenken systeem voor uw "desk" bloem (of planten). De hele procedure is zeer eenvoudig en u kunt deze handleiding in ongeveer 30 minuten voltooien.
Arduino Laser Tag Target-systeem

Arduino Laser Tag Target-systeem

Dit instructable zal u tonen hoe de bouw van een eenvoudig doel voor interactieve lasergevoelige, geweldig voor die net krijgen begon met Arduino. Dit kan gemakkelijk worden gebruikt als een platform voor een laser tag systeem, of gewoon iets leuk om
Arduino gebaseerde elektronische Queuing systeem

Arduino gebaseerde elektronische Queuing systeem

Dit is een project van de Queuing systeem aangevraagd door een medewerkster van de kliniek die het mogelijk de arts maakt nummer van een toetsenbord en weer te geven op een 32 x 16 LED paneel.Dit project maakt gebruik van twee Arduino, de eerste Ardu
LittleBits + Arduino spelshow zoemer

LittleBits + Arduino spelshow zoemer

Onze shop, TechShop Chandler was gelukkig genoeg te zijn geselecteerd voor Instructables juni bouwen nacht, gesponsord door littleBits!We werden verzonden vier littleBits Deluxe Kits, en een aantal van hun gloednieuwe Arduino bij de Modules van het h
Arduino Lock mechanisme

Arduino Lock mechanisme

Dit is een eenvoudige Arduino project dat een systeem van de huisveiligheid emuleert.Het is volledig op Proteus gesimuleerd, maar je niet verwachten veel verschil op een echte omgeving dat moet.U zult vereisen:ProteusAtmel StudioVisuele Micro voor At
Arduino Laser Tag - Duino Tag

Arduino Laser Tag - Duino Tag

Duino muzikale- algemene inleidingDuino-tag is een laser tag systeem gebaseerd op de arduino.Tot slot een laser tag systeem dat kan worden getweaked modded en gehackt totdat u de perfecte laser tag systeem voor office ordnance, bosrijke oorlogen en v
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
Arduino gecontroleerde magneetventiel Motor

Arduino gecontroleerde magneetventiel Motor

Dit instructable ontstond vervulling de project-eis van de Makecourse bij de Universiteit van Zuid-Florida (www.makecourse.com). In dit instructable, leert u hoe maak je een solenoïde aangedreven motor, meer in het bijzonder naar een flat twin 3 rod
AVRSH: Een tolk opdrachtshell voor Arduino/AVR.

AVRSH: Een tolk opdrachtshell voor Arduino/AVR.

Ooit wilde worden "aangemeld" bij uw AVR microcontroller? Ooit gedacht dat het zou gaaf zijn aan de "kat" een register om te zien van de inhoud ervan? Hebt u altijd al wilde een manier om de nodige energie en individuele perifere sub-s
Microduino: een kleine en stapelbaar Arduino

Microduino: een kleine en stapelbaar Arduino

In November 2012, ontwierp ik de eerste versie van Microduino, een compact formaat Arduino Uno compitable board. het is klein en stapelbaar.Het idee van Microduino is het opbouwen van Arduino Uno circuit in twee aparte planken: een arduino minimale s