Arduino kompatibel Luna Mod Looper (3 / 8 steg)

Steg 3: Programmera arduino

Kopiera klistra in följande kod till din arduino IDE, kompilera och sedan uplode (om du använder attiny måste du ändra stiften som används i skissen).

/*
*
* LunaMod för Arduino & Attiny45
* Remix av Rob Miles
* Tacoma, WA augusti 8 2011
*
* Jag såg det ursprungliga projektet i Make vol. 26
* av Brian McNamara
* Brian var igång på ett PicAxe och jag har bara attiny45s så...
*
* Freqout avsnittet där den riktiga magin händer är från Paul Badger synth kod på Arduino huvudsidan
*
* Jag höll detta ganska rakt framåt men med en Arduino som detta skulle kunna få ett mycket mer komplicerat om du vill
* Även på en attiny45 om du använder du lägga till en knapp till led stift du coud smyga in fler effekter
*
*/

#define frequencyPot 0 //frequency potten knutna till pin 15 a1
#define tempoPot 1 //tempo potten knutna till pin 16 som är A2
#define buttonPin 9 //programming knappen knutna till pin 17 som är A3
#define ledPin 10 //status ledde bundet till pin 18 som är A4
#define speakerPin 11 //speaker eller utdata pin 19 polisonger är A5
Om du använder en talare bör det vara minst en 16 ohms högtalare en bör ha en
motstånd, kanske 200 ohm till 1K ohm, mellan negativa bly och marken.
en potentiometer skulle vara ännu bättre.

int currentStep = 0; Detta är bara att spåra som tonen i minnet vi spelar just nu

int steg [] = {500,500,100,100,100,100,100,100, / / detta är våra ton lagring areae
100,100,100,100,100,100,100,100, //I används 64 toner eller 8 toner per beat
500,500,100,100,100,100,100,100, //you kan ändra detta manuellt och experimentera om du vill
100,100,100,100,100,100,100,100,
500,500,100,100,100,100,100,100,
100,100,100,100,100,100,100,100,
500,500,100,100,100,100,100,100,
100,100,100,100,100,100,100,100}.

int tempo = 0; tempo eller hastighet mellan toner
int längd = 0; Hur länge var och en av de 64 tonerna spelar
int frekvens = 0; aktuella tonen
int pitchval = 1;

void setup() //set upp din stift...
{
pinMode (frequencyPot, ingång);
pinMode (tempoPot, ingång);
pinMode (buttonPin, ingång);
digitalWrite (buttonPin, hög);

pinMode (ledPin, produktionen);
pinMode (speakerPin, produktionen);

}

void loop()
{

för (int jag = 0; jag < 63; i ++) //64 enskilda noter spelas
{

currentStep = i. spara vår nuvarande ståndpunkt i slingan för senare

om (jag == 0 || jag == 16 || jag == 32 || jag == 48) {//keep spår av beat på led
digitalWrite (ledPin, hög);}

om (jag == 7 || jag == 23 || jag == 39 || jag == 55) {//keep spår av beat på led
digitalWrite (ledPin, låg);}

om (digitalRead(buttonPin) == låg) //is programknapp trycks
{//if så kan skriva en ny ton i detta läge

steg [currentStep] = (analogRead(frequencyPot)); Läs frekvens potten och ange nya tonen
freqout (steg [currentStep], varaktighet); Ställ in parametrar för frequout nedan och spela det
freqout (steg [currentStep] 64, varaktighet); spela upp en annan ton lite annorlunda än den ursprungliga att ge
det lite mer djup. Detta kan ändras enligt dina önskemål
freqout (steg [currentStep] +128, varaktighet); spela upp en annan ton lite annorlunda än den ursprungliga att ge
det lite mer djup. Detta kan ändras enligt dina önskemål

}

annat {//else spela tonen

freqout (steg [currentStep], varaktighet); Ställ in parametrar för frequout nedan och spela det
freqout (steg [currentStep] 64, varaktighet); spela upp en annan ton lite annorlunda än den ursprungliga att ge
det lite mer djup. Detta kan ändras enligt dina önskemål
freqout (steg [currentStep] +128, varaktighet); spela upp en annan ton lite annorlunda än den ursprungliga att ge
det lite mer djup. Detta kan ändras enligt dina önskemål

}
tempo = (analogRead(tempoPot)/4); Läs tempo potten
längd = tempo/8. Ange enskilda tonen varaktigheterna
Delay(tempo); vänta lite
}
}

void freqout (int freq, int t)
{
int hperiod;
långa cykler, i.

hperiod = (500000 / ((freq-7) * pitchval));

cykler = ((långa) freq * (långa) t) / 1000;

för (jag = 0; jag < = cykler; i ++)
{
digitalWrite (speakerPin, hög);
delayMicroseconds(hperiod);
digitalWrite (speakerPin, låg);
delayMicroseconds (hperiod - 1);
}
}

Se Steg
Relaterade Ämnen

Luna Mod Looper grundläggande Stamp2 Version

Inledning:Förresten, kan du hitta programkoden för detta projekt på denna länk:http://www.mediafire.com/?c0z2b1wc10uiz53Låt mig veta om du har några problem att ladda ner kodenMotivation: Gör tidningen är fantastiskt! Jag läst de flesta av dem när ja...

Luna Mod Looper

här är några bilder från en Luna Mod jag byggt några perf ombord. Det körs på PICAXE 08m och är väldigt cool.Den ursprungliga designen är från göra: tidningen och är av Brian McNamara....

LED Dawn / Sunrise väckarklocka, nattlampa & säkerhet ljus - Arduino kompatibel

som nätterna förlängs successivt under hösten 2011, jag upptäckt glädjen med Arduino och trodde att det skulle vara ett bra sätt att genomföra något som jag har velat ha en lång stund - ett skonsamt sätt att vakna upp på en vintermorgon. Tyvärr, det...

Perfboard Hackduino ($8 Arduino-kompatibel krets)

Aldrig igen måste du demontera färdiga projekt bara för att återanvända en Arduino ombord!Denna handledning kommer att gå igenom steg som ingår i tillverka ditt eget Arduino-kompatibel krets använder bara ~$8 delar (detta inkluderar ATMega chip!). De...

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...

Hur set av brödunderläggen Arduino kompatibel.

Det är ingen hemlighet att runt oomlout HQ vi är stora fans av open source Arduino mikro-controller. Färdiga Duemilanove styrelsen är en fantastisk prototyping plattform, men ibland det är kul att göra något själv. Vad som följer är en guide om hur a...

Hur till DIY klo kran Arduino-kompatibel Robot?

Hej, killar! Makeblock klo kranen Arduino-kompatibel Robot har slutfört idag. Dess struktureroch funktioner är liknande som dessa crane maskiner som är vanliga att se på marknaden.För mer information, besök Makeblock webbplats nedan:www.makeblock.ccK...

Hur man skapar en Arduino kompatibel Bluetooth 4.0 modul

UPPDATERING: Låter göra robotar, mitt hem digital hackerspace, köptes av RobotShop. Jag vill inte gå in, men de nya ägarna förbjudit mig själv och de flesta veteran medlemmarna. Som sagt, de flesta av länkarna där kommer att brytas. Lyckligtvis kunde...

Låg kostnad, Arduino-kompatibel ritning Robot

Jag designade detta projekt för ett 10-timmars workshop för ChickTech.org vars mål är att införa tonåriga kvinnor till STEM ämnen. Målen för det här projektet var:Lätt att bygga.Lätt att programmet.Gjorde något intressant.Låg kostnad så deltagarna ku...

Steg för steg guide till Micro trollkarl robot controller (Arduino kompatibel)

Micro trollkarl från DAGU är en låg kostnad Arduino kompatibel controller speciellt för nybörjare som vill bygga en liten robot. Styrelsen har ett antal användbara tillbehör inbyggd så att i de flesta fall sköldar är inte obligatoriska och yttre ledn...

Gör din egen anpassade Arduino kompatibel

jag älskar Ardunio. Jag älskar saker som folk gör med dem och jag älskar att göra min egen. I augusti förra året publicerade jag en Instructable om hur man gör ditt eget frimärke storlek Arduino kompatibel. Detta Instructable visar dig hur du gör en...

Arduino kompatibel badkar controller

Kan börja med en varning: detta projekt styr vatten. El och vatten verkligen blanda inte och det finns en verklig risk för elchock och eller död om du inte är försiktig. Bygga detta projekt på egen risk och jag kommer inte att hållas ansvarig för all...

#5 Arduino kompatibel realtidsklocka moduler (DS1307 & DS3231)

En realtidsklocka (RTC) är en RTC är en RTC. Rätt? Fel!Medan dessa två mycket vanliga, Arduino-kompatibel RTCs likna mycket, och ansluts via I2C (uttalas Eye fyrkant se, eller ögat ögat se) kommunikation buss de utför helt annorlunda än kostnaden om...

Snabb och lätt Arduino kompatibel H-bridge sköld

i detta instructable jag kommer detalj hur jag gick om att göra en snabb och enkel, Arduino kompatibel, H-bridge sköld. Men först en kort intro till vad som fick mig motiverad för att göra det.Ett par år sedan, började jag vill lära sig mer om mikro-...

UDuino: mycket låg kostnad Arduino kompatibel Development Board

Arduino styrelser är bra för prototyper. De får emellertid ganska dyrt när du har flera samtidiga projekt eller behöver massor av controller styrelser för ett större projekt. Det finns några bra, billigare alternativ (Boarduino, Freeduino) men kostna...

Bygga ditt eget Arduino kompatibel IoT Development Board

I detta instructable ForceTronics tittar vi på hur man bygger ditt eget Arduino kompatibel sakernas internet utveckling styrelsen. Styrelsen har Atmega 328p med Uno bootloader, Bluetooth låg energi modul, och andra funktioner som justerbara power sup...

Använd RFduino att köra Arduino kompatibel skisser och kommunicera med din iPhone med Bluetooth 4.0 lågenergi.

Trådlös mynt-storlek Arduino kompatibel öppen mikrodator som talar till din iPhone med Bluetooth 4.0 lågenergiRFduino är en fristående ombord, precis som den Arduino UNO. Dessutom har RFduino en kraftfull ARM Cortex processor och Bluetooth Low-Energy...

YourDuino: Grundläggande Arduino-kompatibel att undvika kollision Robot

Hur man bygger en grundläggande Arduino-kompatibel kollision-undvika RobotObs: Se de tillgängliga Arduino programvara Test skisser och kollisionsundvikande programvara här (klicka)Obs: Senare måste du ha Arduino "IDE" programvara utvecklingssyst...

Handheld Pong & inkräktare på billigt (Arduino kompatibel)

Ett retro handhållna spelsystem billigt nog för en barnens projekt. Möjliga? Absolut! Bara ta på Arduino och billiga kinesiska komponenter!Projektet var utformat som ett lödning projekt för en grupp av ett halvdussin 9 och 10 år gamla barn men det är...