FunShield, en Arduino pedagogiska plattform (13 / 13 steg)

Steg 13: Exempel på komponent Integration



Du är klar! Jag antar att allt som är kvar är att ge dig en skonsam push i rätt riktning. Låt oss ta en titt på exemplet skiss kallas "FS_01_LED.ino":

Först måste vi ange vi vill använda den FunShield bibliotek, och instanciate ett FunShield objekt kallas "fs":

sätter upp och initiera FunShield
#include < FunShield.h >
#include < Wire.h > / / kräver för I2C kommunikation
FunShield fs; Instanciate FunShield instans

Ett par enkla variabler att hjälpa oss:

variabeldeklarationer
int ledde = 0; Kan vara någon ledde från 0 till 7
int fördröjningstid = 1000; Fördröjning i millisekunder

Eftersom FunShield biblioteket hanterar alla setup, kan funktionen setup() vara tomt. Jag brukar ad del kod för att se vad som händer via konsolen:

void setup() {
Serial.BEGIN(9600); Installationsprogrammet för seriell kommunikation för felsökning
Serial.println("FS_01_LED.ino");
}

Och nu till den viktigaste loopen:

void loop() {
LED (ledde, högt); Aktivera LED
Delay(delayTime);
LEDDE (led, låg); Inaktivera LED
Delay(delayTime);
}

Du bör erkänna detta som grundläggande Arduino "blink" skissen, bara använda FunShield LED() funktion i stället för digitalWrite().

Kan sätta i en for-loop så vi kan slå alla lampor på och av.

void loop() {
för (ledde = 0; ledde < 8; ledde ++) {
LED (ledde, högt); Aktivera LED
Delay(delayTime);
LEDDE (led, låg); Inaktivera LED
}
}

Du kan sänka din fördröjningstid värde så det inte tar en full 8 sekunder att korsa lysdioderna.

Nu, hur kunde vi få lampan att vända riktning när den når slutet? En annan for-loop kanske?

void loop() {
för (ledde = 0; ledde < 8; ledde ++) {
LED (ledde, högt); Aktivera LED
Delay(delayTime);
LEDDE (led, låg); Inaktivera LED
}
för (ledde = 6; ledde > 0; ledde--) {
LED (ledde, högt); Aktivera LED
Delay(delayTime);
LEDDE (led, låg); Inaktivera LED
}
}

Meddelande jag börja tillbaka på ledde #6 eftersom ledde #7 var redan upplyst av första för loop. Jag stannar också andra slingan på ledde #1 eftersom den andra for-loop hanterar det också.

Vad händer om vi vill lägga till en hörbar ledtråd som lätta förändringar riktning? Här är där skönheten i biblioteket kommer händig. Utan att behöva leta upp pin-koder. Bara anropa funktionen speaker()

void loop() {
för (ledde = 0; ledde < 8; ledde ++) {
LED (ledde, högt); Aktivera LED
Delay(delayTime);
LEDDE (led, låg); Inaktivera LED
}
högtalare (440, 10); kort pip
för (ledde = 6; ledde > 0; ledde--) {
LED (ledde, högt); Aktivera LED
Delay(delayTime);
LEDDE (led, låg); Inaktivera LED
}
högtalare (880, 10); kort pip
}

Ett sista knep att kasta in. Vad sägs om vi variera hastigheten på LED utifrån trim potentiometer värdet? Piece of cake! Bara ändra variabeln fördröjningstid till trim () -funktionen:

void loop() {
för (ledde = 0; ledde < 8; ledde ++) {
LED (ledde, högt); Aktivera LED
Delay(trim()); Läs potentiometer för att bestämma fördröjningstiden.
LEDDE (led, låg); Inaktivera LED
}
högtalare (440, 10); kort pip
för (ledde = 6; ledde > 0; ledde--) {
LED (ledde, högt); Aktivera LED
Delay(trim());
LEDDE (led, låg); Inaktivera LED
}
högtalare (880, 10); kort pip
}

Wow, det var lätt! Du har till grund för en cool 2-dimension Pong spel. Nu gå ut och ha kul!

Se Steg
Relaterade Ämnen

Tacuino: en låg kostnad, modulära, Arduino-kompatibel pedagogiska plattform

För mina soft-krets klasser, har vi använt antingen en förprogrammerad Attiny85 krets (), eller den dyrare Arduino-kompatibel Lilypad USB. Jag ville ha något mellan dessa två ytterligheter som skulle vara:Lätt att bygga av nybörjareLåg kostnad för st...

Carduino - A enkla Arduino robotics plattform med ett eget bibliotek

detta är, som titeln säger, en Arduino-baserad robotics plattform, med ett eget bibliotek. "Standard"-modellen kommer med två tillbaka motorer, två omni-hjul fram, och en distansera sensor monterad på framsidan. Det har också bakbord utrymme på...

Enkla Arduino Robotics plattform!

jag fick just en Arduino efter att ha spelat med vissa AVR mikrokontroller under Robotics gruppmöten. Jag gillade idén med ett riktigt billigt programmerbara chip som kunde köra vad som helst från en enkel datorgränssnitt så jag fick en Arduino efter...

Magpi: Micro Arduino spel plattform-gränssnittet

Här är en retro handhållna spelkonsol jag byggde med min son. Det använder en Arduino mikro-controller, en liten LCD-skärm, knappar, en 3D tryckta fall och hemodlade "dator" ombord. Det är egentligen ganska lätt att löda och sätta ihop. Min son...

Arduino robotarm och övervakning med bearbetning

robotarmen tar tag ett objekt när det upptäcker den med rörelsedetektor och sedan det flyttar den på en viss plats.förteckning över delar:1.3 servon2. passiv infraröd rörelsedetektor: http://www.sparkfun.com/products/86303. arduino uno R3 styrelse4....

En avancerad metod för Arduino & AVR programmering

Detta instructable är ett måste läsa för alla som är bekanta med core AVR chips och Arduino.Tja, mer konkret, när jag läste den instructable kommer du att kunna:1) vet väl skillnaden mellan AVR och Arduino.2) programmering Arduino med WinAVR & använd...

Arduino + WiFi, musik lyhörd LED ljus fixtur

detta instructable ger anvisningar för att bygga en Saiko5 WiFi aktiverat LED armatur baserad på Arduino hobby plattform. Den innehåller stegvisa instruktioner från styrelsen design till lödning till fall integration, samt instruktioner förklarar hur...

JALC båt, vattenlevande Robot plattform

JALC båt projekt för att skapa pedagogiska plattform av vattenlevande robot, komponenterna är 100% gratis och utformad med 3D utskrift för alla skapa, anpassa eller ändra.Om du gillade projektet inbjuder jag dig att besöka http://www.jalcboat.com och...

Arduino: Ljus, ljud, vibrationer, Switch

Detta är en steg för steg guide att göra en avlägsen driven Arduino uppsättning som kommer att producera ljud, ljus och vibrationer i 1 sekund när en switch är tryckt. Jag kommer att ge den arduino koden och steg till inrättande av datorn. Dessutom k...

Arduino 4wd robot med ping sensor "J-Bot"

erfarenhetsnivå: Intermediate (kräver lödning)Tid som behövs för: 3-5 timmar beroende på erfarenhetJ-BOT Kit JamecoNågon nämnde att Jameco behövs en robotic maskot. Jag har alltid varit ett snille, särskilt med radiostyrda elektronik och så jag frivi...

Kickstarter Backer Alert med statistik Scroller, använder Arduino Yun

Arduino Yún är en nyfiken utöver familjen Arduino . Det finns en ganska omfattande gemenskapen omger Arduino koncept, plattform och programvara. Det är en annan populär community tillägnad hacking och förbättra billiga trådlösa routrar, som ofta kör...

RTC Breakout för DS1339 på Arduino - låg kostnad, batteribackup, 2 larm

Den mest populära RTC för Arduino är DS1307, säljs av Adafruit, Sparkfun och andra. Men har det vissa nackdelar, de mest anmärkningsvärda av som är att dess driftspänning är 5v, vilket innebar att jag inte kunde använda det med min Arduino Pro Mini @...

Hur man gör en billig Attiny Arduino ombord

Och de flesta av tid får jag oroliga när jag behöver Arduino i några projekt där jag behöver några I/O pinsJa tack till Arduino-Tiny plattformArduino program kan brännas in i Avr-tiny serien som Attiny 85/45Arduino-Tiny är en öppen källkod uppsättnin...

Arduino automatisk temperatur & luftfuktighet kontrollant för sällskapsdjur

Jack och Jose, ett par vackra hamster, har följt mig under 100 dagar och nätter. Mjuk vit päls gör mig lugn och varm, speciellt när jag kodning i vinnare.Men de mycket tragiska sakerna hände i förra veckan. Som den kalla luften från Sibirien, har She...

MAS 960 Design för empowerement - Arduino projekt RUDI

Arduino projekt kodnamn RUDI: ansluta personnal objekt till en Konduktiv färg strömkretsen och projicera bilder på en bärbar dator med hjälp av en magnetisk arduoino.Design av: David Mellis, Eric Rosenbaum, Sam Kronick, Jerome FinkelMIT Media Lab hös...

Hur till installera Arduino IDE programvara på Windows os

Denna video visar enkla installationssteg av "Arduino programmering plattform" på Windows 7....

[Home Automation] Version 2: Kontrollera RFID-taggen för att använda enkel webbserver.

Detta innehåll är Wizwiki-W7500 + RFID-RC522 + webbserver.IDE är ARM mbed webben kompilator.Detta projekt uppdrag är att kontrollera RFID-taggen för att använda enkel webbserver.Steg 1: Beskrivning-Du behöver delar listan nedan1. RFID-RC5222. Wizwiki...

Tyg Bend Sensor

med ledande tråd, Velostat och neopren, sy ditt eget tyg bend sensor.Denna böj sensorn reagerar faktiskt (minskar i motstånd) till tryck, inte särskilt att böja. Men eftersom det är inklämt mellan två lager av neopren (ganska robust tyg), utöva tryck...

Hur man gör Blackboard förbrukaren vänlig

som många lärare, jag experimentera med hur man skriver läroplan och utveckla en online-kurs med Blackboard. Enligt sin hemsida är Blackboard en online content management system som är "utformad aktiverar pedagogiska innovationer överallt genom att a...