Arpenteuse de Mod Luna compatible Arduino (3 / 8 étapes)

Étape 3: Programmer l’arduino

Copiez-collez le code suivant à votre arduino IDE, compilation, puis uplode (si vous utilisez l’attiny vous devrez changer les broches qui sont utilisés dans le croquis).

/*
*
* LunaMod pour Arduino & Attiny45
* Remix par Rob Miles
* Tacoma, WA 8 août 2011
*
* J’ai vu le projet initial dans Make vol. 26
* par Brian McNamara
* Brian était en cours d’exécution sur un PicAxe et je n’ai qu’attiny45s alors...
*
* La section freqout où arrive la vraie magie est du code synthé de Paul Badger sur le site principal de l’Arduino
*
* J’ai gardé cela assez simple, mais avec un Arduino, il pourrait obtenir beaucoup plus compliqué si vous le souhaitez
* Même sur un attiny45 si vous utilisez vous ajoutez un bouton à la broche led vous coud se faufiler en plus d’effets
*
*/

#define frequencyPot 0 //frequency pot liée à la broche 15 qui est A1
#define tempoPot 1 pot de //tempo liée à la broche 16 qui est A2
#define buttonPin 9 //programming bouton lié à broche 17 qui est A3
#define ledPin 10 //status conduit liée à la broche 18 qui est A4
#define speakerPin 11 //speaker ou sortie broche 19 whish est A5
Si vous utilisez un haut-parleur, il faut au moins un haut-parleur 16 ohms un devrait avoir une
résistance, peut-être 200 ohms à 1K Ohms, entre la borne négative et la terre.
un potentiomètre serait encore mieux.

int currentStep = 0 ;                                  Il s’agit juste de suivre qui tonifier dans la mémoire que nous jouons actuellement

les étapes d’int [] = {500,500,100,100,100,100,100,100, / / il s’agit de notre ton stockage areae
100,100,100,100,100,100,100,100, //I utilisé 64 tons ou 8 tonnes par beat
500,500,100,100,100,100,100,100, //you pouvez modifier manuellement et d’expérimenter si vous le souhaitez
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} ;

tempo int = 0 ;                                      tempo ou vitesse entre tons
durée de l’int = 0 ;                                   Combien de temps chacun des 64 tons joue
fréquence d’int = 0 ;                                  tonalité actuelle
int pitchval = 1 ;

void setup() //set vers le haut de vos NIP...
{
pinMode (frequencyPot, entrée) ;
pinMode (tempoPot, entrée) ;
pinMode (buttonPin, entrée) ;
digitalWrite (buttonPin, HIGH) ;

pinMode (ledPin, sortie) ;
pinMode (speakerPin, sortie) ;

}

void loop()
{

pour (int i = 0; j’ai < 63; i ++) //64 les notes jouées
{

currentStep = i ;                                 enregistrer notre position actuelle dans la boucle pour plus tard

Si (j’ai == 0 || j’ai == 16 || j’ai == 32 || j’ai == 48) {//keep piste du battement sur le led
digitalWrite (ledPin, HIGH);}

Si (j’ai == 7 || j’ai == 23 || j’ai == 39 || j’ai == 55) {//keep piste du battement sur le led
digitalWrite (ledPin, LOW);}





Si (digitalRead(buttonPin) == faible) //is le bouton programme
{//if permet donc d’écrire une nouvelle tonalité de cet emplacement

mesures [currentStep] = (analogRead(frequencyPot)) ;  lire le pot de la fréquence et le ton nouveau
FreqOut (étapes [currentStep], durée) ;           définir les paramètres de frequout ci-dessous et lisez-le
FreqOut (étapes [currentStep] + 64, durée) ;       jouer une autre tonalité un peu différente de l’original pour donner
il un peu plus en profondeur. Cela peut être modifié à votre goût
FreqOut (étapes [currentStep] +128, durée) ;       jouer une autre tonalité un peu différente de l’original pour donner
il un peu plus en profondeur. Cela peut être modifié à votre goût

}

else {//else jouer le ton

FreqOut (étapes [currentStep], durée) ;           définir les paramètres de frequout ci-dessous et lisez-le
FreqOut (étapes [currentStep] + 64, durée) ;       jouer une autre tonalité un peu différente de l’original pour donner
il un peu plus en profondeur. Cela peut être modifié à votre goût
FreqOut (étapes [currentStep] +128, durée) ;       jouer une autre tonalité un peu différente de l’original pour donner
il un peu plus en profondeur. Cela peut être modifié à votre goût

}
tempo = (analogRead(tempoPot)/4) ;                    lire le pot de tempo
durée = tempo/8 ;                                   définir les durées de tonalité séparée
Delay(tempo) ;                                         attendre un peu
}
}

void freqout (int freq, int t)
{
int hperiod ;
cycles de temps, j’ai ;

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

cycles = (freq (long) * t (long)) / 1000 ;

pour (i = 0; i < = cycles; i ++)
{
digitalWrite (speakerPin, HIGH) ;
delayMicroseconds(hperiod) ;
digitalWrite (speakerPin, basse) ;
delayMicroseconds (hperiod - 1) ;
}
}

Articles Liés

Fausse-arpenteuse du Mod Luna

Fausse-arpenteuse du Mod Luna

Voici quelques photos d'un Mod de Luna, j'ai construit sur une planche de perf. Il fonctionne sur PICAXE 08m et est très cool.La conception originale est de faire : Magazine et BrianMcNamara.
Guide étape par étape pour la commande de robot Micro magicien (compatible Arduino)

Guide étape par étape pour la commande de robot Micro magicien (compatible Arduino)

le Magicien Micro de DAGU est un contrôleur compatible Arduino low cost, conçu spécialement pour les débutants qui veulent construire un petit robot. Le jury a un certain nombre d'accessoires utiles, construite en sorte que dans la plupart des cas le
Tacuino : une faible coût, modulaire, compatible Arduino plate-forme éducative

Tacuino : une faible coût, modulaire, compatible Arduino plate-forme éducative

Pour mes cours de soft-circuit, nous avons utilisé un préprogrammé circuit (Attiny85), ou bien le plus cher compatible Arduino Lilypad USB. Je voulais quelque chose entre ces deux extrêmes qui seraient :Facile à construire par les débutantsLow cost,
APR9600 Enregistrement vocal et système de lecture avec JRC286D puce ICStation Mega 2560 Compatible Arduino

APR9600 Enregistrement vocal et système de lecture avec JRC286D puce ICStation Mega 2560 Compatible Arduino

L'équipe ICStation vous présenter ce système lecture et enregistrement de voix de APR9600 utilisé dans ascenseur basé sur le ICStation Mega2560 compatible avec Arduino. Il utilise une tension DC5V pour travailler. Lorsque vous appuyez sur les touches
Contrôleur de baignoire Compatible Arduino

Contrôleur de baignoire Compatible Arduino

Permet de démarrer avec une mise en garde : ce projet contrôle l'eau. Ne pas mélanger l'eau et électricité vraiment et il y a un risque réel d'électrocution et ou la mort si vous n'êtes pas prudent. Générez ce projet à vos propres risques, et je ne s
Une carte de crédit carte de contrôleur compatible Arduino Ethernet de taille

Une carte de crédit carte de contrôleur compatible Arduino Ethernet de taille

je t'aime l'Arduino comme une plate-forme de contrôleur simple et accessible pour de nombreux projets variés.  Il y a quelques mois, a acheté un bouclier Ethernet pour mon contrôleur Arduino travailler sur quelques projets avec un compagnon du mien -
YourDuino : Base Compatible Arduino en évitant la Collision Robot

YourDuino : Base Compatible Arduino en évitant la Collision Robot

Comment construire un Robot en évitant la base Compatible Arduino CollisionRemarque : Consultez le disponible Arduino Software Test croquis et logiciel anticollision ici (cliquer)Remarque : Plus tard, vous devrez avoir l'Arduino « IDE » système de dé
Comment faire le plus simple Compatible Arduino Breadboard Sanguino-équivalent... JAMAIS ! & Comment télécharger croquis directement à elle!!

Comment faire le plus simple Compatible Arduino Breadboard Sanguino-équivalent... JAMAIS ! & Comment télécharger croquis directement à elle!!

Bon alors le titre est en effet un peu d'une bouchée lol!Ive été besoin de bricoler avec un désir de broches plus d'entrée/sortie que l'Arduino UNO et, de nos jours, l'ONU utilise un microcontrôleur Atmega328, & son limité à seulement environ 20 entr
Perfboard Hackduino (circuit compatible Arduino de 8 $)

Perfboard Hackduino (circuit compatible Arduino de 8 $)

Plus jamais vous devrez démonter un projet fini juste pour réutiliser une carte Arduino !Ce tutoriel passe par les étapes de fabrication de votre propre circuit compatible Arduino en utilisant juste ~8 $ de pièces (y compris la puce ATMega!). C'est p
Comment à griffe bricolage grue compatible Arduino Robot ?

Comment à griffe bricolage grue compatible Arduino Robot ?

Salut, les gars ! La grue Makeblock griffe compatible Arduino Robot a terminé aujourd'hui. Ses structureset les caractéristiques sont similaires, comme ces machines de grue qui sont communes à voir dans le marché.Pour plus d'informations, veuillez vi
DIY des mesures de ICStation Lilypad PCB platine Compatible Arduino

DIY des mesures de ICStation Lilypad PCB platine Compatible Arduino

L'équipe ICStation vous présenter le processus DIY des ICStation Lilypad Arduino compatible en détails. Vous pouvez nous suivre à DIY votre propre Lilypad.Vous avez besoin après des composants :ICStation PCB bord Lilypad PCB platine Compatible Arduin
Modules d’horloge en temps réel Compatible Arduino #5 (DS1307 & DS3231)

Modules d’horloge en temps réel Compatible Arduino #5 (DS1307 & DS3231)

Un module de Real Time Clock (RTC) est qu'un CCF est un CCF. Droit ? Faux!Alors que ces deux CCF très communs, compatible Arduino paraissent très semblables et sont connectés via l'I2C (prononcé oeil carré voir, ou Eye Eye See) bus de communication i
Robot dessin Low-Cost, Compatible Arduino

Robot dessin Low-Cost, Compatible Arduino

J'ai conçu ce projet pour un atelier de 10 heures pour ChickTech.org dont le but est d'introduire des adolescentes aux sujets de souches. Les objectifs de ce projet étaient :Facile à construire.Facile à programmer.Avez-vous quelque chose d'intéressan
Microduino mCookie lecteur de musique - relie magnétiquement, LEGO® & compatible Arduino

Microduino mCookie lecteur de musique - relie magnétiquement, LEGO® & compatible Arduino

Je voudrais partager avec vous ce facile à faire mCookie lecteur de musique de Microduino. L'ensemble du projet nécessite seulement 5 modules de mCookie, qui relie magnétiquement pour s'assurer que la bonne connexion est toujours. Il peut être progra