I dette sjove projekt lærer vi hvordan man laver et buzz wire spil med Arduino. Mange af de nødvendige dele findes i et startpakke. Hvad er der i et startpakke Hvad er inkluderet i et Arduino Starter Kit? [MakeUseOf Forklarer] Hvad er inkluderet i et Arduino Starter Kit? [MakeUseOf Forklarer] Jeg har tidligere introduceret Arduino open- kilde hardware her på MakeUseOf, men du skal bruge mere end bare den faktiske Arduino at bygge noget ud af det og faktisk komme i gang. Arduino "starter kits" er ... Læs mere?) og rundt i huset. Dette projekt bruger en Arduino, selv om du kunne bruge næsten enhver mikrocontroller du har omkring (se på denne sammenligning mellem $ 5 mikrocontrollere $ 5 Microcontrollers: Arduino, Raspberry Pi Zero eller NodeMCU? $ 5 Microcontrollers: Arduino, Raspberry Pi Zero eller NodeMCU? Det plejede at være tilfældet, at hvis du ønskede at få en computer, skulle du genoprette dit hus for at betale for det. Nu kan du få en til en Abraham Lincoln. Læs mere for lidt inspiration).
Tjek slutresultatet - det spiller endda musik:
Hvad du har brug for
Her er de kerneområder, du skal bruge for at fuldføre dette projekt:
- 1 x Arduino UNO eller lignende.
- 1 x Metal coat hanger.
- 2 x 220 ohm modstande.
- 1 x brødbræt.
- 1 x Piezo summer.
- 2 x krokodilklip.
- Assorteret varmekrympeslange.
- Mand-til-mand-hookup ledninger.
Elenco TL-6 Alligator Leadsæt, 10-Piece, 14 inches Elenco TL-6 Alligator Leadsæt, 10-Piece, 14 inches Køb Nu På Amazon $ 5.59
Her er nogle valgfrie dele til forbedring af bygningen:
- 1 x ekstra piezo summer.
- 1 x Dowel rod.
- 1 x Quad-syv segmentvisning.
- 1 x 220 ohm modstand.
- 1 x øjeblikkelig knap.
- Mand-til-Kvinde hookup ledninger.
- Træplank (til sag).
- Assorterede træskruer.
Næsten enhver Arduino vil arbejde, forudsat at den har nok stifter. Tag et kig på denne købsguide Arduino Købsvejledning: Hvilket bestyrelse skal du få? Arduino Købsvejledning: Hvilket bestyrelse skal du få? Der er så mange forskellige slags Arduino boards derude, du ville blive tilgivet for at være forvirret. Hvad skal du købe til dit projekt? Lad os hjælpe med denne Arduino købeguide! Læs mere, hvis du ikke er sikker på hvad du har brug for.
Bygningsplanen
Selvom det kan se ud som om det er komplekst, er det faktisk et ganske enkelt projekt. Jeg starter med det grundlæggende spil, og derefter tilføjer yderligere komponenter for at øge kompleksiteten. Du kan "vælge og vælge", som du vil, afhængigt af de komponenter, du har til rådighed.
Kernemekanikeren består af en trådform og en løkke på et håndtag. Spilleren skal lede løkken rundt om kurset uden de to rører. Hvis de to berører, er kredsløbet færdigt, og summeren lyder. Det er selvfølgelig muligt at opbygge dette kredsløb ved hjælp af ingen mikrocontroller, men hvor er det sjovt i det (og hvordan ellers ville du få høre på Monty Python's "Flying Circus" tema sang)?
Kurset
Dette er den form spilleren bliver nødt til at guide deres loop runde. Det er grundlaget for hele spillet, så gør det godt! Jeg valgte at have en lille dråbe efterfulgt af en stor stigning. Bøj en metalcoathænger i den form, du har brug for. Messingtråd eller kobberrør vil også fungere lige, selvom en frakkehænger kan være den billigste.
Du må muligvis bære handsker og bruge tang eller en hammer for at få tingene perfekt. Skær eventuelt overskydende med boltskærere. Forlad to vertikale oprejninger for at skubbe gennem bunden. Du vil gerne filere de afskårne ender for sikkerheden. Til sidst skæres to stykker varmekrympeslanger og placeres over enderne som følger:
Dette vil isolere sløjfen fra kurset, hvilket giver en start / ende eller sikkerhedszone. Alternativt kan tape eller endda et halm gøre, hvis du ikke har nogen varmekrympeslange.
Tilføj nu et kabel til den ene ende af banen. Du har to muligheder her: Du kan enten lodde eller bruge en krokodilleklip. En krokodilleklip er den nemmere løsning, men lodning er en mere pålidelig og langsigtet mulighed. Sørg for at "rive" over overfladen af pelshængeren først med sandpapir og brug masser af flux. (Aldrig loddet før? Lær hvordan du her Lær at lodde med disse enkle tips og projekter Lær at lodde med disse enkle tips og projekter Er du lidt skræmt af tanken om et varmt jern og smeltet metal? at begynde at arbejde med elektronik, skal du lære at lodde. Lad os hjælpe. Læs mere.)
Afhængigt af størrelsen af hullet, du borer i bunden på næste trin, skal du muligvis føle kablet gennem monteringshullet først. Brug af to ledninger, der snoet sammen, øger holdbarheden:
Brug af en boremaskine til at gøre dette hjælper meget:
Basen
Det er på tide at skabe basen. Dette tjener til at holde kurset i opretstående stilling, samt at give et sted til at forankre elektronikken til. Jeg brugte nogle pine offcuts, selv om du kunne bruge hvad du har omkring huset - endda en papkasse.
Skær tre stykker for at danne en "n" form. Du skal bare skrue (eller lim) disse tre stykker sammen. Husk at bore et pilothul i sidestykker først for at forhindre splittelse. Du vil måske forsænke skruerne (især hvis du skal fylde og derefter male), og jeg anbefaler stærkt en forsænkningsboremaskine. Hvis du ikke har et værktøj til nedsænkning eller boring, vil en boremaskine med større diameter gøre tricket.
Bor to huller langt nok fra hinanden, for at kursets ender kan sidde i. Sænk undersiden klar til limning.
Håndtaget
Nu er det tid til at lave sløjfen / controlleren. Drej et lille stykke frakkehals i den ene ende for at skabe en loop med et lille metalhåndtag. Sørg for, at du lægger klippekanten, og dæksel derefter med tape / skum, hvis det er nødvendigt.
Dette vil danne den anden halvdel af kredsløbet - når denne sløjfe rører kurset, vil det afslutte kredsløbet (nøjagtigt som en switch). Loddetråd (eller brug en krokodilklip) en anden ledning til bunden af dette, nøjagtigt det samme som du tidligere gjorde for kurset.
Skær en lille dybde til det faktiske håndtag. Denne metal sløjfe slår ind i dette håndtag. Hvis du ikke har en dowel, kan du afrunde et stykke firkantet blødt træ ved hjælp af et bælte- eller skiveslibber (du kan også bruge sandpapir, men det tager lang tid).
Bor et hul gennem dette håndtag. Dette skal være stort nok til at passe metalsløjfen og ledningen gennem:
Dette er muligt at gøre på en søjleboremaskine, selvom det er vanskelig. En drejebænk gør jobbet perfekt:
Ja, jeg er helt opmærksom på, at dette er en metal drejebænk (for nogen interesseret, det er en Boley watchmaking drejebænk fra 1930'erne. Jeg tror, det er en 3C, men jeg vil gerne høre fra dig, hvis du ved mere om det).
Du kan også bruge en kuglepen med midten fjernet.
Brug endelig varm lim til at sikre kablet og sløjfen i håndtaget. Hot lim vil give en stærk (men ikke permanent) armatur, så det er perfekt til dette.
Afslutning Off
Sæt trådbanen i hullerne i bunden. Glem ikke at tilføje sløjfen / controlleren først. Brug varm lim igen for at sikre banen til bunden ved at fylde de forsænkede huller på undersiden af bunden som følger:
Kredsløbet
Her er det fulde kredsløb. Du behøver ikke at gøre din så komplicerede som denne - læs videre, da vi nedbryder hver del.
Forbind først de to piezoelementer til digitale stifter 10 og 11. Polariteten er ligegyldigt:
Du behøver ikke bruge to piezos - den eneste grund til det jeg har gjort er at have en meget højere buzz lyd, når ledningerne berører. Tilslut den ene side til den digitale stift, og den anden til jorden.
Indsæt nu metalbanen og håndtag:
Igen er det ligegyldigt, hvor langt disse to er forbundet. Denne del af kredsløbet er nøjagtigt som en knap eller skifte - afspilleren fuldender kredsløbet, når løkken berører banen. Sørg for at inkludere begge modstande.
En modstand binder kredsløbet til jorden (kaldet en tilbagekoblingsmodstand), hvilket sikrer, at den ikke er "flydende" (dette gør det muligt for Arduino at registrere kredsløbet skiftende). Den anden modstand beskytter Arduino. Når de to dele rører, går + 5V ind i digitalstiften. Hvis denne modstand ikke var til stede, ville der være en død kort - din computer ville frakoble USB-stikket til at trække for meget strøm, hvis du er heldig .
Tilslut signalledningen (lilla, på diagrammet) til digital pin 9.
Derefter tilsluttes en push-knap til digital pin 2:
Tilslut slutteligt den syv-segmentede LED-skærm:
Denne særlige model er fra Seeed. Dette bruger en TM1637 til at køre fire skærme - det betyder kun to digitale stifter. Tilslut GND til Arduino jord og VCC til Arduino + 5V. Tilslut D10 til Arduino digital pin 13 og CLK til digital pin 12.
Koden
For at gøre dette projekt arbejde skal du have to yderligere filer. Den første hedder pitches.h
. Denne fil kortlægger blot notenavne til deres piezo-værdi. Dette gør det meget nemmere at skrive en melodi, som du simpelthen kan sige "NOTE_C3" i stedet for "31". Dette er offentligt tilgængeligt og er tilgængeligt på Arduino hjemmeside her. Følg instruktionerne for at oprette en ny fil kaldet pitches.h
(alternativt indsæt koden i dit eksisterende script).
Dernæst har du brug for en metode til faktisk at spille noter / melodier på piezoen. Dette kendetegn ved Anthony DiGirolamo på Github indeholder den kode, du har brug for. Kopier alt mellem "void buzz" og "}}" og indsæt det i din hovedfil. Til reference her er det:
void buzz(int targetPin, long frequency, long length) { /* Buzzer example function by Rob Faludi http://www.faludi.com https://gist.github.com/AnthonyDiGirolamo/1405180 */ long delayValue = 1000000/frequency/2; // calculate the delay value between transitions //// 1 second's worth of microseconds, divided by the frequency, then split in half since //// there are two phases to each cycle long numCycles = frequency * length/ 1000; // calculate the number of cycles for proper timing //// multiply frequency, which is really cycles per second, by the number of seconds to //// get the total number of cycles to produce for (long i=0; i< numCycles; i++){ // for the calculated length of time... digitalWrite(targetPin, HIGH); // write the buzzer pin high to push out the diaphragm delayMicroseconds(delayValue); // wait for the calculated delay value digitalWrite(targetPin, LOW); // write the buzzer pin low to pull back the diaphragm delayMicroseconds(delayValue); // wait again for the calculated delay value } }
Det sidste bibliotek du har brug for, er at styre syv segmentvisning - du kan springe over dette trin, hvis du ikke bruger en. Dette bibliotek hedder TM1637 og blev oprettet af Seeed, det samme firma, der skabte førerkortet.
I Arduino IDE, gå til "Administrer biblioteker" ( Skitse > Inkluder bibliotek > Administrer biblioteker ). Dette vil hente bibliotekslederen. Tillad det nogle få sekunder at opdatere og søg derefter i øverste højre søgefelt "TM1637". Der findes to biblioteker - du vil have "TM1637" og ikke "TM1637Display". Vælg og klik derefter på "installer".
En sidste opgave med dette bibliotek - det er ikke komplet! Som det står kan biblioteket kun vise tal 0-9 og bogstaver A-F. Hvis dette dækker alt, hvad du vil vise, kan du springe over dette trin. Hvis ikke, skal du ændre koden. Slap af! Dette er ikke så svært, som det lyder, og hvis du kan skrive kode ved hjælp af Arduino IDE, kan du gøre dette.
Åbn først bibliotekets mappe. Dette vil være i din Arduino mappe. På Mac OS X er dette i /Users/Joe/Documents/Arduino/Libraries
. Åbn mappen TM1637 . Du skal redigere filen TM1637.cpp
- du kan sikkert ignorere den anden fil med udvidelsen .h
. Åbn denne fil i din yndlings teksteditor (for mig, det er Sublime Text 3), Notesblok eller Arduino IDE.
Rediger den tredje linje kode fra dette:
static int8_t TubeTab[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};//0~9, A, b, C, d, E, F
Til dette:
static int8_t TubeTab[] = { /* defaults */ 0x3f, // 0 0x06, // 1 0x5b, // 2 0x4f, // 3 0x66, // 4 0x6d, // 5 0x7d, // 6 0x07, // 7 0x7f, // 8 0x6f, // 9 0x77, // A -- 10 0x7c, // b -- 11 0x39, // C -- 12 0x5e, // d -- 13 0x79, // E -- 14 0x71, // F -- 15 /* additional */ 0x174, // h -- 16 0x176, // H -- 17 0x138, // L -- 18 0x15, // M -- 19 0x137, // n -- 20 0x73, // P -- 21 0x67, // q -- 22 0x131, // r -- 23 0x78, // t -- 24 0x240 // - 25 };
Du kan nu gemme og lukke denne fil. Efter hvert element beskriver kommentaren hvilket tegn dette er. Den næste del af kommentaren er elementets indeks.
Det er tid til den faktiske kode. Først skal du inkludere de to tidligere nævnte biblioteker:
#include #include
Opret nu visningsobjektet:
TM1637 *_display = new TM1637(12, 13);
Bare rolig, hvis du ikke forstår syntaksen - denne linje fortæller Arduino, at ben 12 og 13 er fastgjort til en syv segmentdisplay og at konfigurere den korrekt.
Sangen er gemt i melody
og tempo
. Disse indeholder alle noter og notens varighed for musikken. Hvis du vil ændre musikken, skal du ændre disse arrayer (selvom det ikke er så enkelt som at indsætte notatværdierne, er timing en meget vigtig del af musikken). songState
variablen gemmer simpelthen placeringen af den sidste songState
note. Dette sikrer, at melodien spilles fra start til slut, i stedet for at hoppe rundt inkonsekvent:
int songState = 0; int melody[] = { NOTE_F4, ...} int tempo[] = { 8, ...}
Bemærk, at jeg har fjernet indholdet af arraysne, se nedenfor for den fulde kode.
Denne kode er ikke blokering - det betyder, at Arduino kan udføre flere opgaver samtidigt. Tag et kig på denne forklaring Arduino Delay-funktion, og hvorfor du ikke bør bruge det Arduino Delay-funktion, og hvorfor du ikke bør bruge det Selvom forsinkelsen () er praktisk til grundlæggende demonstrationer af, hvordan Arduino fungerer, skal du virkelig ikke være bruger det i den virkelige verden. Her er hvorfor, og hvad du skal bruge i stedet. Læs mere for mere information. Sådan indstilles timerne:
unsigned long previousMillis1 = 0; const long interval1 = 1500;
Variabelen previousMillis1
opdateres på et senere tidspunkt for at gemme den aktuelle tid. interval1
variabel lagrer hvor længe der skal vente mellem kodekørsel - i dette tilfælde 1, 5 sekunder. Det defineres som const
, hvilket betyder, at det er konstant og vil aldrig ændre sig - det gør det muligt for Arduino at optimere koden yderligere.
Inde i setup()
er der et par ting der foregår. For det første er indgange og udgange setup. Dette skal gøres, så Arduino ved, hvad der er forbundet med hver af dens pins:
pinMode(9, INPUT); // setup circuit pinMode(10, OUTPUT); // setup buzzer 1 pinMode(11, OUTPUT); // setup buzzer 2 pinMode(2, INPUT); // setup button
Nu skal displayet konfigurere:
_display->set(5); // set brightness _display->point(false); // remove colon _display->init(); // start display
Metoderne, point
og init
er alle indeholdt i _display
objektet. I stedet for en prik bruges en pointer ("->") til at få adgang til disse. Igen skal du ikke bekymre dig om syntaksen (selvom, hvis du gerne vil lære mere, kig op C ++ Pointers).
Hovedsløjfen har to spiltilstande: udfordring og frit spil. Gratis spil giver spilleren mulighed for at spille ubegrænset antal gange. Udfordringstilstand indstiller en timer i 20 sekunder ved hjælp af showCountdown
metoden. Det bruger knappen til at starte og stoppe timeren. I øjeblikket er den eneste måde at ændre game modes på at manuelt redigere variabel kaldet mode
. Se om du kan tilføje en anden knap for at gøre dette og ændre koden på passende måde.
buzz
metoden afspiller noterne til den. Dette bruges sammen med sing
. Sangmetoden går gennem hver note og spiller den. Denne metode kaldes jævnligt, selv om den kun afspiller næste notat, når der er gået tid siden sidste spil. Når sangen er nået, nulstilles sangen til vers 1 ( songState = 14
). Du kunne indstille dette til nul for at starte sangen i begyndelsen, men grunden til at gøre dette er at springe over introduktionen. Introduktionen spilles en gang efter, at Arduino er tændt, og så afspilles den ikke igen.
showFree
og showPlay
metoderne skriver simpelthen ordene "FrEE" og "PLAY" på displayet. Bemærk, hvordan "r" i gratis er små bogstaver, når alle de andre tegn er store bogstaver. Dette er en af begrænsningerne på syv segmentdisplayer. De kan ikke vise hvert bogstav i alfabetet, og nogle af de tegn, de kan vise, skal være i blandet tilfælde.
toggleFreePlay
metoden blinker displayet mellem "FREE" og "PLAY". Det gør det igen på en ikke-blokerende måde.
En anden nyttig metode er showNumber
. Dette skriver et tal til de to mellemste tegn på displayet som sådan:
Skærmen er ikke smart nok til at vide, hvordan man viser store tal, det skal udtrykkeligt fortælles, hvad man skal gøre. Denne metode bruger nogle simple logik til at vise det korrekte nummer på hvert tegn.
Den endelige metode anvendes kaldes showCountdown
. Dette starter en tæller ved 20, og reducerer den med et sekund hvert sekund. Hvis dette når nul, buzzes det tre gange, for at angive, at tiden er løbet tør.
Her er alt den kode, der er sat sammen:
#include // include display library #include // include pitches TM1637 *_display = new TM1637(12, 13); // create display object, 12 = CLK (clock), 13 = D10 (data) // music int songState = 0; int melody[] = { NOTE_F4, NOTE_E4, NOTE_D4, NOTE_CS4, NOTE_C4, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_A3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_C4, 0, NOTE_C4, NOTE_A3, NOTE_A3, NOTE_A3, NOTE_GS3, NOTE_A3, NOTE_F4, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_AS3, NOTE_AS3, NOTE_AS3, NOTE_C4, NOTE_D4, 0, NOTE_AS3, NOTE_G3, NOTE_G3, NOTE_G3, NOTE_FS3, NOTE_G3, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_AS3, NOTE_A3, NOTE_A3, NOTE_A3, NOTE_AS3, NOTE_C4, 0, NOTE_C4, NOTE_A3, NOTE_A3, NOTE_A3, NOTE_GS3, NOTE_A3, NOTE_A4, NOTE_F4, NOTE_F4, NOTE_C4, NOTE_B3, NOTE_G4, NOTE_G4, NOTE_G4, NOTE_G4, 0, NOTE_G4, NOTE_E4, NOTE_G4, NOTE_G4, NOTE_FS4, NOTE_G4, NOTE_D4, NOTE_G4, NOTE_G4, NOTE_FS4, NOTE_G4, NOTE_C4, NOTE_B3, NOTE_C4, NOTE_B3, NOTE_C4, 0 }; int tempo[] = { 8, 16, 8, 16, 8, 16, 8, 16, 16, 16, 16, 8, 16, 8, 3, 12, 16, 16, 16, 8, 16, 8, 16, 8, 16, 8, 16, 8, 16, 4, 12, 12, 16, 16, 16, 8, 16, 8, 16, 8, 16, 8, 16, 8, 16, 4, 12, 12, 16, 16, 16, 8, 16, 8, 16, 8, 16, 8, 16, 8, 16, 4, 16, 12, 17, 17, 17, 8, 12, 17, 17, 17, 8, 16, 8, 16, 8, 16, 8, 1 }; // non blocking setup // free play unsigned long previousMillis1 = 0; // time words last changed const long interval1 = 1500; // interval between changing // music unsigned long previousMillis2 = 0; // time last changed const long interval2 = 100; // interval between notes int displayStatus = 0; // keep track of what's displayed int mode = 0; // keep track of game mode -- change to 0 or 1 for different modes bool countdown = false; unsigned long previousMillis3 = 0; // time last changed const long interval3 = 1000; // interval between countdown int count = 20; // challenge mode timer void setup() { // put your setup code here, to run once: pinMode(9, INPUT); // setup circuit pinMode(10, OUTPUT); // setup buzzer 1 pinMode(11, OUTPUT); // setup buzzer 2 pinMode(2, INPUT); // setup button _display->set(5); // set brightness _display->point(false); // remove colon _display->init(); // start display } void loop() { // put your main code here, to run repeatedly: if(mode == 0) { // challenge mode if(digitalRead(2) == HIGH) { delay(25); if(digitalRead(2) == HIGH) { countdown = true; // stop the countdown } else { countdown = false; // stop the countdown } } if(countdown) { showCountdown(); // advance countdown } } else { // free play toggleFreePlay(); } if(digitalRead(10) == HIGH) { delay(25); if(digitalRead(10) == HIGH) { while(digitalRead(10) == HIGH) { buzz(11, NOTE_B0, 1000/24); } } } else sing(); } void showCountdown() { // countdown the time remaining unsigned long currentMillis = millis(); // current time if (currentMillis - previousMillis3>= interval3) { previousMillis3 = currentMillis; --count; showNumber(count); if(count == 0) { // game over countdown = false; count = 20; // reset countdown // buzz 3 times buzz(11, NOTE_B0, 1000/24); delay(100); buzz(11, NOTE_B0, 1000/24); delay(100); buzz(11, NOTE_B0, 1000/24); } } } void showNumber(int number) { // show numbers (maximum 99) on display _display->display(0, 25); // write - to segment 1 _display->display(3, 25); // write - to segment 4 // write number to middle of display if(number == 10) { _display->display(1, 1); _display->display(2, 0); } else if(number>9) { _display->display(1, 1); int newVal = number - 10; _display->display(2, newVal); } else { _display->display(1, 0); _display->display(2, number); } } void toggleFreePlay() { // scroll between words without blocking unsigned long currentMillis = millis(); // current time if (currentMillis - previousMillis1>= interval1) { previousMillis1 = currentMillis; if(displayStatus == 1) showPlay(); else showFree(); } } void showPlay() { // write "PLAY" to the display _display->display(0, 21); // write P to segment 1 _display->display(1, 18); // write L to segment 2 _display->display(2, 10); // write A to segment 3 _display->display(3, 4); // write Y to segment 4 displayStatus = 2; } void showFree() { // write "Free" to the display _display->display(0, 15); // write F to segment 1 _display->display(1, 23); // write r to segment 2 _display->display(2, 14); // write E to segment 3 _display->display(3, 14); // write E to segment 4 displayStatus = 1; } void buzz(int targetPin, long frequency, long length) { /* Buzzer example function by Rob Faludi http://www.faludi.com https://gist.github.com/AnthonyDiGirolamo/1405180 */ long delayValue = 1000000/frequency/2; // calculate the delay value between transitions //// 1 second's worth of microseconds, divided by the frequency, then split in half since //// there are two phases to each cycle long numCycles = frequency * length/ 1000; // calculate the number of cycles for proper timing //// multiply frequency, which is really cycles per second, by the number of seconds to //// get the total number of cycles to produce for (long i=0; i = interval2) { previousMillis2 = currentMillis; int noteDuration = 1000 / tempo[songState]; buzz(10, melody[songState], noteDuration); int pauseBetweenNotes = noteDuration; delay(pauseBetweenNotes); // stop the tone playing: buzz(10, 0, noteDuration); ++songState; // start song again if finished if(songState>79) { songState = 14; // skip intro } } }
Gem denne fil som "buzzwire" ( Fil> Gem som ) og upload det derefter til dit kort ( Fil> Upload ). Hvis du ikke er sikker på, hvordan du uploade Arduino, eller den kode ser lidt skræmmende ud, kan du se vores Arduino Beginners Guide Kom i gang med Arduino: En nybegyndervejledning Kom godt i gang med Arduino: En nybegyndervejledning Arduino er en open source elektronik prototyping platform baseret på fleksibel, nem at bruge hardware og software. Det er beregnet til kunstnere, designere, hobbyister og alle interesserede i at skabe interaktive objekter eller miljøer. Læs mere . Alt er godt, du skal nu have dit eget buzz wire spil - cool!
Hvis du har gjort noget køligt efter at have læst dette, vil jeg gerne se det - lad mig vide i kommentarerne nedenfor!