Arduino Kerstverlichting (14 / 14 stap)

Stap 14: Software

Ik zal zeggen dat ik heb mijn start van deze timing van sommige andere webpagina. Ik kan niet vinden waar mij got op, en moest een heleboel wijzigingen hoe dan ook, dus ik ben laden hier. Zodra u dit hebt het is heel gemakkelijk om een programma voor elk nummer... maar als u als me bent u beter op de technische bedrading en programmering dan u zijn bijpassende dansen lichten naar muziek... dus met een uitgangspunt een grote hulp is.

Dus is hier de code. Nogmaals is het de code voor de vreugde aan het bestand van de wereld. De versie die ik heb geüpload is MP3, maar als u de wave shield gebruiken zal het moeten worden omgezet naar WAV.

Ik heb ook moe van omgaan met de zeer lange code voor de lichten in de lus, dus ik het een functie maakte, genaamd "joy()".
Hier is de code van Arduino:

Door: Tre' Landrum
#include
#include
#include
#include "WaveUtil.h"
#include "WaveHC.h"

Kaart van de SdReader; Dit object bevat de gegevens voor de kaart
FatVolume vol; Dit houdt de informatie voor de partitie op de kaart
FatReader wortel; Dit bevat de gegevens voor het bestandssysteem op de kaart
F FatReader; Dit bevat de gegevens voor het bestand we aan het spelen bent

WaveHC Golf; Dit is de enige Golf (audio) object, omdat we zullen slechts één filter tegelijk spelen

#define DEBOUNCE 5 / / button debouncer

Dit is voor de dansende lichten tijdens vreugde aan de wereld
Als u van de Uno in plaats van de Mega gebruikmaakt moet je wijzigen deze pinnen. Als u de WaveShield hebt gebruikt zul je alleen een paar pinnen avaialbe... 6-9 vanaf de bovenkant van mijn hoofd.
int light1 = 22;
int light2 = 24;
int light3 = 26;
int light4 = 28;
int light5 = 30;
int light6 = 32;
int light7 = 34;
int light8 = 36;
int s = 150;
int ds = 225;
int e = 300;
int de = 450;
int q = 600; 600
int dq = 900;
int h = 0; 1200
int dh = 1800;
int begin;
int einde;
int de tijd;
int nu;

Variabelen zal veranderen:

Hier is waar we het definiëren van de knoppen die we zullen gebruiken. knop "1" is de eerste, knop "6" is de 6e, etc
byte knoppen [] = {14, 15, 16, 17, 18 en 19};
Deze handige macro laat ons bepalen hoe groot de array van boven is, door de grootte controleren
#define NUMBUTTONS sizeof(buttons)
Wij zullen volgen als een knop wordt alleen gedrukt, net vrijgegeven, of '' (de stand ingedrukt
vluchtige byte ingedrukt [NUMBUTTONS], justpressed [NUMBUTTONS], justreleased [NUMBUTTONS];

deze handige functie geeft het aantal bytes in het RAM, momenteel gratis groot voor debugging!
int freeRam(void)
{
extern int __bss_end;
extern int * __brkval;
int free_memory;
Als (__brkval (int) == 0) {}
FREE_MEMORY = ((int) & free_memory)-((int) & __bss_end);
}
else {}
FREE_MEMORY = ((int) & free_memory)-((int) __brkval);
}
Return free_memory;
}

VOID sdErrorCheck(void)
{
Als (! card.errorCode()) keren;
putstring ("\n\rSD I/O fout:");
Serial.Print(Card.ErrorCode(), HEX);
putstring (",");
Serial.println(Card.errorData(), HEX);
while(1);
}

VOID Setup {}
byte i;

seriële poort instellen
Serial.begin(9600);
putstring_nl ("WaveHC met");
Serial.Print (NUMBUTTONS, DEC);
putstring_nl("buttons");

putstring ("vrije RAM:"); Dit kan helpen met het opsporen van fouten, uit RAM lopend is slecht
Serial.println(freeRam()); Als dit onder 150 bytes kan het problemen magie!

De pennen voor de DAC-besturingselement instellen Deze pennen zijn gedefinieerd in de bibliotheek
pinMode (2, OUTPUT);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);

pin13 LED
pinMode (13, OUTPUT);

Maak input & pull-up weerstanden op schakelaar pinnen inschakelen
voor (ik = 0; ik < NUMBUTTONS; i ++) {}
pinMode (knoppen [i], INPUT);
digitalWrite (knoppen [i], hoge);
}

Als (! card.init(true)) {//play met 4 MHz spi als 8MHz niet voor u werkt
Als (! card.init()) {//play met 8 MHz spi (standaard sneller!)
putstring_nl ("Card init. mislukt!"); Er ging iets mis, laat uitprinten waarom
sdErrorCheck();
while(1); vervolgens 'stoppen' - niets doen!
}

inschakelen optimaliseren lees - sommige kaarten kunnen timeout. Uitschakelen als u problemen ondervindt
card.partialBlockRead(true);

Nu gaan we voor een FAT-partitie!
uint8_t deel;
voor (deel = 0; deel < 5; deel ++) {/ / Wij hebben maximaal 5 "slots" om in te kijken
Als (vol.init (kaart, deel))
breken; We vonden een, laat borgtocht
}
Als (deel == 5) {/ / als we uiteindelijk niet het vinden van een :(
putstring_nl ("geen geldige FAT-partitie!");
sdErrorCheck(); Er ging iets mis, laat uitprinten waarom
while(1); vervolgens 'stoppen' - niets doen!
}

Laat de gebruiker te vertellen over wat we gevonden
putstring ("Using partitie");
Serial.Print (deel, DEC);
putstring (", type is vet");
Serial.println(vol.fatType(),DEC); FAT16 of FAT32?

Probeert te openen van de root directory
Als (! root.openRoot(vol)) {}
putstring_nl ("kan niet openen root dir!"); Er ging iets mis,
while(1); vervolgens 'stoppen' - niets doen!
}

Oef! Daar kregen we voorbij de harde delen.
putstring_nl("Ready!");

TCCR2A = 0;
TCCR2B = 1 <
Timer2 Overflow Interrupt Enable
TIMSK2 | = 1 <
pinMode (light1, OUTPUT);
pinMode (light2, OUTPUT);
pinMode (light3, OUTPUT);
pinMode (light4, OUTPUT);
pinMode (light5, OUTPUT);
pinMode (light6, OUTPUT);
pinMode (light7, OUTPUT);
pinMode (light8, OUTPUT);

de SainSmart Relais zijn uitgeschakeld hoge
digitalWrite(light1,HIGH);
digitalWrite(light2,HIGH);
digitalWrite(light3,HIGH);
digitalWrite(light4,HIGH);
digitalWrite(light5,HIGH);
digitalWrite(light6,HIGH);
digitalWrite(light7,HIGH);
digitalWrite(light8,HIGH);
Serial.begin(9600);

} //void setup

Signal(TIMER2_OVF_vect) {}
check_switches();
}

VOID check_switches()
{
statische byte previousstate [NUMBUTTONS];
statische byte currentStatus [NUMBUTTONS];
byte index;

voor (index = 0; index < NUMBUTTONS; index ++) {}
currentStatus [index] = digitalRead(buttons[index]); Lees de knop

/*
Serial.Print (index, DEC);
Serial.Print (": cstate =");
Serial.Print (currentStatus [index], DEC);
Serial.Print (", pstate =");
Serial.Print (previousstate [index], DEC);
Serial.Print (", druk op =");
*/

Als (currentStatus [index] == previousstate[index]) {}
Als ((gedrukt [index] == laag) & & (currentStatus [index] == LOW)) {}
gewoon ingedrukt
justpressed [index] = 1;
}
anders als ((gedrukt [index] == HIGH) & & (currentStatus [index] == HIGH)) {}
net vrijgegeven
justreleased [index] = 1;
}
ingedrukt [index] =! currentStatus [index]; Vergeet niet, digitaal hoge middel niet ingedrukt
}
Serial.println (gedrukt [index], DEC);
previousstate [index] = currentStatus [index]; houden van een lopende telling van de knoppen
}
}

//**********************************************************************************************************
//**********************************************************************************************************

void loop {}
byte i;

Zorg ervoor dat u de naam van het bestand wijzigen bij wat je wilt
playfile ("de vreugde. WAV");

Joy(); Dit is de functie die vreugde aan de wereld speelt

} //void loop {}

//**********************************************************************************************************
//**********************************************************************************************************

Speelt een volledige bestand van begin tot eind met geen pauze.
ongeldig playcomplete(char *name) {}
Bel onze helper vinden en spelen deze naam
playfile(name);
terwijl (wave.isplaying) {}
niets te doen tijdens het spelen van haar
}
nu zijn gedaan afspelen
}

ongeldig playfile(char *name) {}
Zie als de Golf-object is momenteel bezig met iets
Als (wave.isplaying) {/ / al het spelen van iets, dus stoppen met het!
Wave.stop(); Stop ermee
}
kijken in de root directory en open het bestand
Als (! f.open (root, naam)) {}
putstring kon niet ("open bestand"); Serial.Print(name); terugkeer;
}
OK lees het bestand en zet hem in een golf-object
Als (! wave.create(f)) {}
putstring_nl ("niet een geldig WAV"); terugkeer;
}

OK tijd om te spelen! Start het afspelen
Wave.Play();
}

Functie voor het maken van de verschillende onderdelen licht verschillende
ongeldig joy() {}

putstring_nl ("starten van Joy to the World");

Start = millis();
digitalWrite (light1, laag);
digitalWrite (light8, laag);
delay(q);
digitalWrite (light1, hoge);
digitalWrite (light8, hoge);

digitalWrite (light2, laag);
digitalWrite (light7, laag);
delay(de);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);

digitalWrite (light3, laag);
digitalWrite (light6, laag);
delay;
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);

digitalWrite (light4, laag);
digitalWrite (light5, laag);
delay(1050);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);

digitalWrite (light1, laag);
digitalWrite (light8, laag);
delay;
digitalWrite (light1, hoge);
digitalWrite (light8, hoge);

digitalWrite (light2, laag);
digitalWrite (light7, laag);
delay(q);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);

digitalWrite (light3, laag);
digitalWrite (light6, laag);
delay(q);
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);

digitalWrite (light4, laag);
digitalWrite (light5, laag);
delay(DQ);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);

digitalWrite (light1, laag);
digitalWrite (light2, laag);
digitalWrite (light7, laag);
digitalWrite (light8, laag);
delay(e);
digitalWrite (light1, hoge);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);
digitalWrite (light8, hoge);

digitalWrite (light2, laag);
digitalWrite (light3, laag);
digitalWrite (light6, laag);
digitalWrite (light7, laag);
delay(DQ);
digitalWrite (light2, hoge);
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);
digitalWrite (light7, hoge);

digitalWrite (light1, laag);
digitalWrite (light2, laag);
digitalWrite (light7, laag);
digitalWrite (light8, laag);
delay(e);
digitalWrite (light1, hoge);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);
digitalWrite (light8, hoge);

digitalWrite (light3, laag);
digitalWrite (light4, laag);
digitalWrite (light5, laag);
digitalWrite (light6, laag);
delay(DQ);
digitalWrite (light3, hoge);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);
digitalWrite (light6, hoge);

digitalWrite (light1, laag);
digitalWrite (light2, laag);
digitalWrite (light7, laag);
digitalWrite (light8, laag);
delay(e);
digitalWrite (light1, hoge);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);
digitalWrite (light8, hoge);

digitalWrite (light1, laag);
digitalWrite (light2, laag);
digitalWrite (light3, laag);
digitalWrite (light4, laag);
digitalWrite (light5, laag);
digitalWrite (light6, laag);
digitalWrite (light7, laag);
digitalWrite (light8, laag);
delay(DQ);
digitalWrite (light1, hoge);
digitalWrite (light2, hoge);
digitalWrite (light3, hoge);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);
digitalWrite (light6, hoge);
digitalWrite (light7, hoge);
digitalWrite (light8, hoge);
8100

digitalWrite (light8, laag);
delay(e);
digitalWrite (light8, hoge);

digitalWrite (light1, laag);
delay(e);
digitalWrite (light1, hoge);

digitalWrite (light7, laag);
delay(e);
digitalWrite (light7, hoge);

digitalWrite (light2, laag);
delay(e);
digitalWrite (light2, hoge);

digitalWrite (light6, laag);
delay(e);
digitalWrite (light6, hoge);

digitalWrite (light3, laag);
delay(de);
digitalWrite (light3, hoge);

digitalWrite (light5, laag);
delay;
digitalWrite (light5, hoge);

digitalWrite (light4, laag);
delay(e);
digitalWrite (light4, hoge);

digitalWrite (light8, laag);
delay(e);
digitalWrite (light8, hoge);

digitalWrite (light1, laag);
delay(e);
digitalWrite (light1, hoge);

digitalWrite (light7, laag);
delay(e);
digitalWrite (light7, hoge);

digitalWrite (light2, laag);
delay(e);
digitalWrite (light2, hoge);

digitalWrite (light6, laag);
delay(e);
digitalWrite (light6, hoge);

digitalWrite (light3, laag);
delay(de);
digitalWrite (light3, hoge);

digitalWrite (light5, laag);
delay;
digitalWrite (light5, hoge);

digitalWrite (light4, laag);
delay(e);
digitalWrite (light4, hoge);

digitalWrite (light2, laag);
digitalWrite (light7, laag);
delay(e);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);

digitalWrite (light1, laag);
digitalWrite (light8, laag);
delay(e);
digitalWrite (light1, hoge);
digitalWrite (light8, hoge);

digitalWrite (light2, laag);
digitalWrite (light7, laag);
delay(e);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);

13806

digitalWrite (light1, laag);
digitalWrite (light8, laag);
delay(e);
digitalWrite (light1, hoge);
digitalWrite (light8, hoge);

digitalWrite (light2, laag);
digitalWrite (light7, laag);
delay(75);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);

digitalWrite (light3, laag);
digitalWrite (light6, laag);
delay(75);
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);

digitalWrite (light4, laag);
digitalWrite (light5, laag);
delay(DQ);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);

digitalWrite (light4, laag);
digitalWrite (light5, laag);
delay(75);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);
15235

digitalWrite (light3, laag);
digitalWrite (light6, laag);
delay(75);
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);

digitalWrite (light4, laag);
digitalWrite (light5, laag);
delay(e);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);

digitalWrite (light3, laag);
digitalWrite (light6, laag);
delay(e);
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);

digitalWrite (light4, laag);
digitalWrite (light5, laag);
delay(e);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);

digitalWrite (light3, laag);
digitalWrite (light6, laag);
delay(75);
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);

digitalWrite (light2, laag);
digitalWrite (light7, laag);
delay(75);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);

digitalWrite (light1, laag);
digitalWrite (light8, laag);
delay(DQ);
digitalWrite (light1, hoge);
digitalWrite (light8, hoge);

digitalWrite (light1, laag);
digitalWrite (light2, laag);
digitalWrite (light7, laag);
digitalWrite (light8, laag);
delay(75);
digitalWrite (light1, hoge);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);
digitalWrite (light8, hoge);

17339

digitalWrite (light2, laag);
digitalWrite (light3, laag);
digitalWrite (light6, laag);
digitalWrite (light7, laag);
delay(75);
digitalWrite (light2, hoge);
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);
digitalWrite (light7, hoge);

digitalWrite (light3, laag);
digitalWrite (light4, laag);
digitalWrite (light5, laag);
digitalWrite (light6, laag);
delay(e);
digitalWrite (light3, hoge);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);
digitalWrite (light6, hoge);

digitalWrite (light1, laag);
digitalWrite (light2, laag);
digitalWrite (light3, laag);
digitalWrite (light4, laag);
digitalWrite (light5, laag);
digitalWrite (light6, laag);
digitalWrite (light7, laag);
digitalWrite (light8, laag);
delay(q);
digitalWrite (light1, hoge);
digitalWrite (light2, hoge);
digitalWrite (light3, hoge);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);
digitalWrite (light6, hoge);
digitalWrite (light7, hoge);
digitalWrite (light8, hoge);

18315

digitalWrite (light1, laag);
digitalWrite (light8, laag);
delay(e);
digitalWrite (light1, hoge);
digitalWrite (light8, hoge);

digitalWrite (light2, laag);
digitalWrite (light7, laag);
delay(de);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);

digitalWrite (light3, laag);
digitalWrite (light6, laag);
delay;
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);

digitalWrite (light4, laag);
digitalWrite (light5, laag);
delay(e);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);

digitalWrite (light3, laag);
digitalWrite (light6, laag);
delay(e);
digitalWrite (light3, hoge);
digitalWrite (light6, hoge);

putstring_nl(""); 19817

digitalWrite (light2, laag);
digitalWrite (light7, laag);
delay(300);//delay(q);
digitalWrite (light2, hoge);
digitalWrite (light7, hoge);

nu = millis();
tijd = nu - beginnen;
Serial.println(time); 20117

digitalWrite (light1, laag);
digitalWrite (light8, laag);
delay(300);//delay(q);
digitalWrite (light1, hoge);
digitalWrite (light8, hoge);

putstring_nl ("laatst bit");
21018

digitalWrite (light1, laag);
digitalWrite (light2, laag);
digitalWrite (light3, laag);
digitalWrite (light4, laag);
digitalWrite (light5, laag);
digitalWrite (light6, laag);
digitalWrite (light7, laag);
digitalWrite (light8, laag);
delay(h);
digitalWrite (light1, hoge);
digitalWrite (light2, hoge);
digitalWrite (light3, hoge);
digitalWrite (light4, hoge);
digitalWrite (light5, hoge);
digitalWrite (light6, hoge);
digitalWrite (light7, hoge);
digitalWrite (light8, hoge);
delay(000);

putstring_nl ("einde van het lied");
einde = millis();
tijd = einde - start;
Serial.println(time);
Serial.println(start);
Serial.println(End);
}

Gerelateerde Artikelen

Een tekenreeks van kerstverlichting te knipperen Morsecode met Arduino & module Circuits programma

Een tekenreeks van kerstverlichting te knipperen Morsecode met Arduino & module Circuits programma

dit is een project van mijn zoon Dylan (9) en ik samen met behulp van een Arduino Circuit board, een set Snap Circuit en een reeks van kerstverlichting.Wat je nodig hebt:Een Arduino: Een Arduino is een computer op een enkele printplaat die u kan het
Arduino Powered muzikale Kerstverlichting

Arduino Powered muzikale Kerstverlichting

na het verkennen van de Instructables website vond ik een paar projecten die piek van mijn interesse en die mij tot denken leiden, ik sommige muzikale Kerstverlichting kon maken. Meeste van wat ik besteed mijn tijd op kwam van Amanda Ghassaei de Inst
Xmas-box: Arduino/ioBridge internet gecontroleerde Kerstverlichting en muziek show

Xmas-box: Arduino/ioBridge internet gecontroleerde Kerstverlichting en muziek show

mijn xmas-box project bestaat uit een internet gecontroleerde Kerstverlichting en muziek show. Een kerstlied kan aangevraagd worden on-line die vervolgens in een wachtrij zetten en speelde in de volgorde waarin die zij werden gevraagd. De muziek word
Arduino gecontroleerd knippert Fairy Kerstverlichting met Jingle Bells

Arduino gecontroleerd knippert Fairy Kerstverlichting met Jingle Bells

als mijn eerste Arduino project ik wilde iets maken indrukwekkende maar niet te uitdagend. Ik kwam een Christmas Hack met dit project en gewonnen! Mensen houden van kerstverlichting.Tegen het einde van dit zul je een aantal fairy Kerstverlichting die
Kerstverlichting aan muziek met behulp van Arduino

Kerstverlichting aan muziek met behulp van Arduino

mijn vrouw en ik hebben willen maken van onze eigen verlichting-set-naar-music show voor de laatste paar seizoenen Vakantiewoningen.  Geïnspireerd door de onderstaande twee Instructables, hebben we besloten om eindelijk dit jaar aan de slag en decore
Kerstverlichting met behulp van 8ch Relais met arduino

Kerstverlichting met behulp van 8ch Relais met arduino

Ik ben 16 jaar oud dus mijn kennis over deze relais niet zo uitgebreid is is, voor een ander instructable meer om onderzoek te doen Klik hier.Of u zou kunnen kijken op mijn blog waar ik na een aantal van mijn beste projecten!Dit project is kan worden
Muzikaal kerstverlichting gesynchroniseerd

Muzikaal kerstverlichting gesynchroniseerd

Tijdens de kerst-seizoen, bent u gebonden aan zien van huizen die zijn decked uit met kerstverlichting die met muziek worden gesynchroniseerd. Je denkt misschien dat uw huis nooit kundig voor muzikale Kerstverlichting hebben zitten zal omdat de contr
Arduino gecontroleerd positionele RGB LED kerstboom

Arduino gecontroleerd positionele RGB LED kerstboom

In dit Instructable we zijn een programmeerbare RGB LED kerstboom maken en bouwen van de (X, Y) posities van de lichten in de Arduino zodanig dat we kunnen creëren verschillende patronen zowel statische als animatie. Ik zou dit aanbevelen aan iederee
Arduino Christmas Light Controller

Arduino Christmas Light Controller

als u hield dit instructable, overwegen de controle van mijn nJe hebt waarschijnlijk al die video's gezien waar mensen maken er Kerstverlichting dansen op muziek, je denkt aan uw zelf wow dat ziet er echt cool... ik kon nooit doen dat. Nou... je kunt
Computer Controlled muzikale Kerstverlichting

Computer Controlled muzikale Kerstverlichting

In dit Instructable, i 'm gonna onderwijzen iedereen de basisstappen voor het bouwen van uw eigen computer gecontroleerd muzikale kerstverlichting. Deze setup is zeer eenvoudig en gemeenschappelijk. Binnen een paar uur, kunt u ook uw eigen licht disp
Adresseerbaar melkflessen (LED-verlichting + Arduino)

Adresseerbaar melkflessen (LED-verlichting + Arduino)

maken PPE flessen melk in goed uitziende LED-verlichting, en een Arduino gebruiken ze te bestrijden. Dit een aantal dingen, vooral de melkflessen, recycleert en maakt gebruik van een zeer lage hoeveelheid macht: de LEDs blijkbaar minder dan 3 watt ve
Raspberry Pi muzikale Kerstverlichting

Raspberry Pi muzikale Kerstverlichting

Instructies voor een aantal sterren die volgens een muzikale tune zal oplichten. Het concept is dat elke ster één nota vertegenwoordigt en als het lied vordert de ster die zijn gekoppeld aan de huidige notitie zal oplichten. De installatie maakt gebr
Controle van uw Kerstverlichting met tekstberichten

Controle van uw Kerstverlichting met tekstberichten

Ik wilde echt kunnen mijn kerstverlichting op afstand te besturen, met een Arduino.Met deze oplossing kunt u mijn lichten op afstand bedienen via tekstberichten!Vaardigheden die nodig zijn:SolderenBedradingKopiëren en plakkenStap 1: Onderdelen die no
Gitaar held Arduino Bot.

Gitaar held Arduino Bot.

Overzicht:Het belangrijkste idee van dit project is heel simpel. Het is te wijzigen van een Guitar Hero-controller, zodat het kan niet alleen op haar eigen spelen, maar ook perfect spelen.Hier is het eerste lied ik deed: "Wanneer u waren Young"