Quiz-O-Tron 3000: Arduino frågesport tävlande lockout system (6 / 8 steg)

Steg 6: MCP



Nu lite om Arduino programvara som knyter samman all hårdvara och gör allt arbete som vi skulle vilja. Quiz-O-Tron 3000 Master Control Program (nicka till TRON) kontinuerligt kontrollerar status för 4 input stiften. När en ändring i nätverkstillståndet upptäcks därefter ändrar status för den associerade utgångsstiftet (vrida på lysdioderna) och väntar på fem sekunder. Den utgångsstiftet tillstånd är sedan återställa (LEDs av) och öglan för att kontrollera tillståndet för indata stift repetitioner. Från en programmering perspektiv är detta mycket enkel bearbetning. Här är en lista på Arduino C programmeringskod som utför dessa uppgifter.

/*
Quiz-O-Tron 3000 MCP
Av Roy Rabey
Version 1.0 6-DEC-2010
*/

/*
Matriser för att definiera Arduino pin uppsättningar är associerade med knappen rutorna.
Enligt definitionen under knappen första tävlande (element 0 från båda matriser) använder stift 5 som indata till upptäcka en switch press och produktionen stift 13 att köra LED power control.
*/
int inputPins [4] = {5,4,3,2}. Numrerar av switch stiften.
int outputPins [4] = {13,12,11,10}. Antal LED stift.

Vissa variabler att kontrollera bearbetning
int maxPins = 4; Max antal pin uppsättningar
osignerade långa WinDelayTime = 5000; Antal millisekunders light lysdioder

void winner(int); Funktionsdefinitionen.

//
Börja bearbetning
//
void setup() {
/*
Setup() utförs en gång när Arduino är påslagen eller återställa.
*/

Initiera LED stift.
Detta säger Arduino hur stiften kommer att användas.
för (int p = 0; p < maxPins; p ++) {
pinMode (inputPins [p], ingång); Gör detta till en ingångsstift.
pinMode (outputPins [p], produktionen); Gör detta till en utgångsstiftet.
}
}

void loop() {
/*
Funktionen loop() körs efter funktionen setup() är klar.
Som namnet antyder loop() funktion öglor för alltid eller tills Arduino återställs.
*/

int val = hög; För att fastställa om en ingångsstift staten har ändrats.

för (int p = 0; p < maxPins; p ++) {
Läs tillståndet för varje ingångsstift.
Val = digitalRead(inputPins[p]); Läser värdet av ingångsstiftet.

om (val == låg) {
Om en PIN-kod går låg sedan någon tryckte en knapp.
Winner(p); Anropa funktionen winner() med vinnande pin uppsättning.
}
}
}

ogiltigförklara vinnaren (int p) {
Ställ in utgångsstiftet högt att skicka ström till knappens LED krets.
digitalWrite (outputPins [p], hög); Tänds lysdioderna

Vänta WinDelayTime millisekunder
Delay(WinDelayTime);

Ställ in utgångsstiftet låg döda makt till knappens LED krets.
digitalWrite (outputPins [p], låg); Inaktivera lysdioderna
}

(Observera att jag har tagit denna kod i båda Arduino IDE-format och som en textfil nedan för din bekvämlighet.)

En av de trevliga sakerna om att göra elektronik med mikrokontroller är att vissa projekt funktioner har implementerats i programvara. Detta gör det mycket lätt att ändra. Till exempel, om jag ville flash lysdioderna på rutorna stora knappen i 10 sekunder jag skulle bara ändra värdet på variabeln "WinDelayTime" sedan kompilera/ladda upp den nya mjukvaran till Arduino och jag är klar. Detta är mycket lättare än att behöva räkna om värden för elektroniska komponenter används för att göra timing och sedan ersätta den tillhörande maskinvaran. Detta projekt är ett ganska enkla Arduino program, kan du göra några fantastiska saker med Arduino. Och om du är intresserad av lärande om elektronik finns det många Arduino projekt som kan hjälpa dig. Jag skulle inte ha kunnat bygga detta projekt i den tid jag hade tillgänglig utan Arduino plattformen.

Om du vill veta mer om denna microcontroller utvecklingsplattformen kolla in Arduino projektet på http://www.arduino.cc.

Se Steg
Relaterade Ämnen

Personliga Arduino frågesport

Denna Arduino frågesport är den kala elektronik som behövs för att göra en awesome, bärbara frågesport! I detta Instructable lär dig hur tråd upp denna fantastiska utbildningsprojekt. Ingen låda ingår, eftersom jag vill att du ska tänka på en cool in...

Genom att använda Pimoroni Display-O-Tron med arduino

pimoroni Display-O-Tron 3000 (shop.pimoroni.com) är inte bara en av de bästa displayen för Raspberry Pi pengar kan köpa, hårdvaran köra stöds väl på Arduino plattform... Följ guiden!Steg 1: Hårdvara pinut Dot3k är en 3 x 16 LCD med 3 RGB bakgrundsbel...

Te-O-Tron 3000.2

Detta instructable skapades enlighet projektet kravet på Makecourse vid University of South Florida (www.makecourse.com)Är du trött på att göra te som en vilde? Då är det te-O-Tron 3000.2 just för dig! Använda state-of-the-art teabag gripande teknik...

Arduino trådlöst GSM Security System

Hej, här kommer jag visa dig min gsm säkerhetssystem som jag gjorde, du bör ha viss erfarenhet med elektronik förväg. Känn dig fri att ändra detta projekt i som du vill. Alla delar är köpt från DX.com.Anledningen till dess wireles är så du behöver in...

Arduino + PICAXE = "robot" domare!

Hej!Idag ska jag visa dig hur man gör en lätt Arduino Baseball Ump! Detta lilla system är förmodligen bäst för scrimmages (informella spel) när du har lite snorkigt konkurrenskraftig spelare så att ingen klagar om hur "orättvist" Detta är ;) Jag...

Interaktiva Arduino Powered LED skidor

Trött på det tråkiga svart i Kvällsskidåkning? Frukta inte! Arduino programmerbara interaktiva LED skidor kommer att lysa upp din kväll.Dessa hem byggt skidor har lysdioder inbäddade under p-tex och underlakan. Arduino och accelerometer styr lamporna...

Misslyckande & framgångssaga av Arduino klocka

Jag beslutade att bygga en Arduino binära armbandsur. Jag vet ett armbandsur bör vara små i storlek som det är en bärbar projekt. För att valt jag utanpåliggande montering enhet (SMD) som SMD LED, TQFP Atmega IC och SMD motstånd. Som controller vald...

Quiz Show summern System med klammer enkel knapp

**uppdatering** det har kommit till min kännedom att nuvarande styrelsen Staples lätt knappen har förändrats genom åren och inte längre är densamma som den som jag använde för detta Instructable tillbaka i 2009. På grund av båda till tidsbrist och de...

LittleBits + Arduino Game Show Summer

Vår butik, TechShop Chandler hade turen att ha valts för Instructables' juni bygga natt, sponsrad av littleBits!Vi blev skickade fyra littleBits Deluxe kit, och flera av deras helt nya Arduino på hjärtat moduler. Detta är ett av många projekt vi gjor...

ARDUINO själv Mini-CNC (Plotter)

Arduino Mini-CNC-maskin (arbetar som en Plotter)Grundläggande drift och Systembeskrivning:I detta projekt vägleder jag dig om hur man enkelt bygga din egen Mini-CNC-maskin och med en låg (med arduino och skrapade gamla DVD/CD-drivrutiner).Jag bestämd...

ESP8266 + Arduino IDE 1.6.4 Portable - Full Quick Install Guide

Om någon vill börja utveckla nya ESP8266 projekt direkt i Arduino IDE och behöver lite vägledning, hitta nedan en fullständig heltäckande stegvisa installera Guide för en Arduino 1.6.4 IDE bärbar miljö som kan hjälpa dig för att ha en smidig installe...

Gränsyta för en Digital mikrometer till en Arduino & VGA-skärm

Uppdatering: Igaging ursprung serien använder en Mitutoyo kabel och utgång Mitutoyo 52 bit datastream. Koden och scheman under arbete med SPC Digimatic skjutmått, mikrometrar, ringa indikatorer och skalor från båda företagen.Diskutera olika tillverka...

Remote Monitor Arduino med iPhone via Wifi / 3G / 4G

Detta instructable beskriver hur du ställer in Arduino att använda MeasViewLite app. I appen kan man nämna de sensorer och enheter som används, så du har fin övervakning utsikt med sensor namn och enheter. Mätningar kan uppdateras bara en gång eller...

Kretsloppsodling: Arduino Email & Text Messaging

bakgrundMed alla hyllade fördelarna med kretsloppsodling, finns det flera nackdelar och de ligger främst i behov av elektricitet. Vanligtvis finns minst en pump, men om du använder också växa lampor, varmvattenberedare och annan elektronik, kommer du...

MeArm.Joystick programvara sv

Ursprung: Phenoptix's Pocket Sized robotarm.FB , hemsidaDIY manual-Projektet kommer att gå crowdfunding på Indiegogo runt Dec.10.2014.-Det finns 37 programmering lärdomar, bra för nybörjare och veteran. Elever från grundskolan kan använda S4A eller A...

Grundläggande airsoft gevär man skola

Hej Välkommen till min gratis grundläggande airsoft rifleman skola där du lär dig att vakta, strike, eskortera och mycket mer. om din nya till airsoft Klicka här läsa väl att börja på...Steg 1: så du tror du kan vakta? & requirments så du tror du kan...

System för anmälan av doft-imental

Jag måste börja med att berätta att detta är min första elektronik projekt. Jag fann det utmanande, men en riktigt rolig inlärning erfarenhet. Med hjälp av hur lätt littleBits är för nybörjare att använda och vissa fantastiska medarbetare, jag är sto...

Två spelare Simon Memory spel med externa switchar

Elektronik minnesspel som Simon kan vara mycket roligt. Men det är ännu roligare om du lägger till en andra spelare och att en konkurrens. Så jag ritade en två player version av spelet som körs på Arduino. Här kan du spela Simon huvud till huvud.För...

Kitty Kraft - svävare

En kitty tema svävare med LED-lampor för min dotters science fair projekt.Material & verktyg4 x 4 fot 3/ 8" tjock plywood blad6 mil plastfolieLeaf fläkt (batteri eller elektriska)HäftpistolBorr och skruvarSandpapperSilvertejp (rekommendera Gorill...