Juste Veggin avec un Arduino Beetbox (7 / 8 étapes)

Étape 7: Arduino complet Beetbox Code

#include < CapacitiveSensor.h >
#include < WaveHC.h >
#include < WaveUtil.h >

/*
* Utilise une résistance de valeur élevée par exemple 10M entre envoyer broche et recevoir des broches
* Résistance effets sensibilité, expérience avec les valeurs, 50K - 50M. Plus grandes valeurs de la résistance donnent des valeurs plus grandes de capteur.
* Recevez pin est l’axe du capteur.
*/

Carte de SdReader ;    Cet objet conserve les informations de la carte
Vol FatVolume ;    Il conserve les informations pour la partition sur la carte
FatReader racine ;   Il conserve les informations pour le répertoire racine de volumes
Fichier FatReader ;   Cet objet représente le fichier WAV pour une période ou de chiffres de pi
WaveHC vague ;      C’est le seul objet (audio) de la vague, puisque nous allons jouer seulement un à la fois

char nom [13] ;

Décommentez la ligne suivante pour activer le débogage Serial.print() déclarations
#define DEBUG

#define error(msg) error_P(PSTR(msg))

CapacitiveSensor cs_9_6 = CapacitiveSensor(9,6) ;        10 M résistance entre les bornes 9 & 6, broche 6 est la broche du capteur, ajouter un fil ou une feuille si vous le souhaitez
CapacitiveSensor cs_9_7 = CapacitiveSensor(9,7) ;
CapacitiveSensor cs_9_8 = CapacitiveSensor(9,8) ;

float calVal1 = 0.0 ;
float calVal2 = 0.0 ;
float calVal3 = 0.0 ;
flotteur total1 = 0.0 ;
flotteur total2 = 0.0 ;
flotteur total3 = 0.0 ;
int i = 0 ;

void setup()
{
Serial.Begin(9600) ;

Si (! card.init()) {}
erreur ("carte init. a échoué!") ;
}
Si (! vol.init(card)) {}
erreur ("aucune partition!") ;
}
Si (! root.openRoot(vol)) {}
erreur ("Impossible d’ouvrir dir") ;
}

PgmPrintln ("fichiers trouvés:") ;
root.ls() ;

cs_9_6.reset_CS_AutoCal() ;  autocalibrate canal 1
cs_9_7.reset_CS_AutoCal() ;  autocalibrate canal 2
cs_9_8.reset_CS_AutoCal() ;  autocalibrate canal 3

cs_9_6.set_CS_AutocaL_Millis(0x00001000) ;     intervalle d’autocalibrate sur le canal 1
cs_9_7.set_CS_AutocaL_Millis(0x00001000) ;     intervalle d’autocalibrate sur le canal 2
cs_9_8.set_CS_AutocaL_Millis(0x00001000) ;     intervalle d’autocalibrate sur le canal 3

pinMode (sortie 14) ;
}

void loop()
{
total1 = cs_9_6.capacitiveSensor(30) ;

Total2 = cs_9_7.capacitiveSensor(30) ;
Total 3 = cs_9_8.capacitiveSensor(30) ;

Si (j’ai < 60) {/ / base de calibrer capteur
digitalWrite (14, HIGH) ;
calVal1 = 0.1*float(total1) + 0,9 * calVal1 ;
i ++ ;
}
ElseIf (j’ai < 120) {
/ / base de calibrer capteur
digitalWrite (14, faible) ;
calVal2 = 0.1*float(total2) + 0,9 * calVal2 ;
i ++ ;
}
ElseIf (j’ai < 180) {
/ / base de calibrer capteur
digitalWrite (14, HIGH) ;
calVal3 = 0.1*float(total3) + 0,9 * calVal3 ;
i ++ ;
}
else {}
digitalWrite(14,LOW) ;
}

#ifdef DEBUG
Serial.Print(Total1) ;               
/ / print de sortie du capteur 1
Serial.print("\t") ;
Serial.Print(Total2) ;              
/ / print de sortie du capteur 2
Serial.print("\t") ;
Serial.println(Total3) ;              
/ / print de sortie du capteur 3

Serial.Print ("CAL: \t") ;
Serial.Print(calVal1) ;               
/ / print de sortie du capteur 1
Serial.print("\t") ;
Serial.Print(calVal2) ;               
/ / print de sortie du capteur 2
Serial.print("\t") ;
Serial.println(calVal3) ;               
/ / print de sortie du capteur 3
#endif

Si (total1 > 0,8 * calVal1 & & total2 > 0,8 * calVal2) {}
strcpy_P (filename, PSTR (» BUFF1. "WAV")) ;
Serial.println(fileName) ;
playfile(fileName) ;
}
ElseIf (total2 > 0,8 * calVal2 & & total3 > 0,8 * calVal3) {}
strcpy_P (filename, PSTR "(HAT. "WAV")) ;
Serial.println(fileName) ;
playfile(fileName) ;
}
ElseIf (total1 > 0,8 * calVal1) {}
strcpy_P (filename, PSTR (» CLICK1. "WAV")) ;
Serial.println(fileName) ;
playfile(fileName) ;
}
ElseIf (total2 > 0,8 * calVal2) {}
strcpy_P (filename, PSTR (» BOOM1. "WAV")) ;
Serial.println(fileName) ;
playfile(fileName) ;
}
ElseIf (total 3 > 0,8 * calVal3) {}
strcpy_P (filename, PSTR (» BOOMHAA1. "WAV")) ;
Serial.println(fileName) ;
playfile(fileName) ;
}

Delay(10) ;                             délai arbitraire pour filtrer les données au port série
}

/////////////////////////////////// HELPERS

/*
imprimer des message d’erreur et arrêter
*/
void error_P (const char * str) {}
PgmPrint ("erreur:") ;
SerialPrint_P(str) ;
sdErrorCheck() ;
while(1) ;
}

/*
imprimer des message d’erreur et en cas d’erreur d’e/s SD
*/
sdErrorCheck(void) Sub {}
Si (! card.errorCode()) retourner ;
PgmPrint ("\r\nSD I/O erreur:") ;
Serial.Print(Card.ErrorCode(), HEX) ;
PgmPrint (",") ;
Serial.println(Card.ErrorData(), HEX) ;
while(1) ;
}

/*
* Lire un fichier et attendre qu’il se terminer
*/
void playcomplete(char *name) {}
playfile(Name) ;
tandis que (wave.isplaying) ;


voir si une erreur est survenue lors de la lecture
sdErrorCheck() ;
}

/*
* Ouvrir et commencer à jouer un fichier WAV
*/
void playfile(char *name) {}
Si (wave.isplaying) {
/ / déjà jouer quelque chose, alors arrêtez d’elle !
Wave.Stop() ; Arrête
  }
Si (! file.open (racine, nom)) {}
PgmPrint ("Impossible d’ouvrir le fichier") ;
Serial.Print(Name) ;
retour ;
}
Si (! wave.create(file)) {}
PgmPrintln ("pas un valide" WAV") ;
retour ;
}

OK le temps de jouer !
Wave.Play() ;
}

Articles Liés

Commander un moteur pas à pas avec un Arduino

Commander un moteur pas à pas avec un Arduino

Ce tutoriel va vous montrer comment faire fonctionner un moteur pas à pas qui a été récupéré d'une vieille imprimante avec un Arduino.Étape 1: Ce qui est un moteur pas à pas ? Un moteur pas à pas se compose de deux parties principales, un rotor et un
ARD-e: le robot avec un Arduino comme un cerveau

ARD-e: le robot avec un Arduino comme un cerveau

comment faire pour créer un robot Arduino contrôlée de source ouverte pour moins de 100 $.Si tout va bien après avoir lu ce instructable vous serez en mesure de prendre vos premiers pas dans la robotique. ARD-e a coûté environ 90 $ à 130 $ selon comb
Envoyer les données du capteur (DHT11 & BMP180) à ThingSpeak avec un Arduino, en utilisant un câble ou WiFi (ESP8266)

Envoyer les données du capteur (DHT11 & BMP180) à ThingSpeak avec un Arduino, en utilisant un câble ou WiFi (ESP8266)

J'ai écrit cette instructable car comment facile à mettre en place - Thingspeak - nevermind a quelques obstacles que j'ai rencontré et que, à en juger par les réactions, autres personnes sont aux prises avec aussi bien.Choses dont vous avez besoin :A
En utilisant une LED Dot Matrix avec un Arduino et un registre à décalage

En utilisant une LED Dot Matrix avec un Arduino et un registre à décalage

The Siemens DLO7135 Dot matrix LED est un étonnant morceau de l'optoélectronique. Il a présenté comme un 5 x 7 matricielle affichage Intelligent (r) avec mémoire/décodeur/conducteur. Avec cette mémoire, il a obtenu un affichage de ASCII caractères 96
Enregistreur de données avec un Arduino de course

Enregistreur de données avec un Arduino de course

Il s'agit d'un ancien projet de la mine que je me suis demandé plusieurs fois au cours d'un trackday et pensé que je signalerais il pour les personnes intéressées. Il y a quelques limitations actuelles comme résolution de données et la synchronisatio
DIY Facebook notifiant avec projet Arduino - Arduino Facebook Notifier (v.0.1.1) - Open Source

DIY Facebook notifiant avec projet Arduino - Arduino Facebook Notifier (v.0.1.1) - Open Source

pour un projet de première fois c'est assez impressionnant - Arduino membre du forum Apolikamixitos a publié les détails de son avis de statut Facebook open source. Il vous avertira de nouveaux messages, notifications ou demandes d'ami à l'aide de co
Hyduino - automatisé de culture hydroponique avec un Arduino

Hyduino - automatisé de culture hydroponique avec un Arduino

Alors, vous demandez peut-être... Ce qui est culture hydroponique?Fondamentalement, culture hydroponique est culture de plantes sans l'utilisation d'un moyen traditionnel de saleté à l'aide d'une solution d'eau riche en éléments nutritifs. Ces médium
Contrôler une caméra avec un Arduino et RS232 bouclier

Contrôler une caméra avec un Arduino et RS232 bouclier

Ce tutoriel va vous montrer comment vous pouvez contrôler de nombreux aspects d'une opération de caméras avec un Arduino. Ces opérations peuvent être le panoramique / inclinaison de la caméra, le zoom et la mise au point de la lentille et les caracté
Comment conduire un Piezo avec un Arduino

Comment conduire un Piezo avec un Arduino

Salut à tous ! J'ai lutté avec faisant un buzzer piézo forte de 5volts. J'ai pensé à elle. C'est super simple et aussi fort que votre alarme incendie. Si vous avez lutté avec ce problème... donner vous-même une pause... il n'y a nulle bonne informati
Tippy de danse avec un arduino et stepper motor

Tippy de danse avec un arduino et stepper motor

Le Tippy a été créé entièrement par accident.Pour dire plus environ il m'obligerait à juste faire quelque chose.Voici une vidéo pour vous divertir :Remarques importantes :Ce projet suppose que vous avez une connaissance de base d'Arduino et la soudur
Comment contrôler une RGB LED avec un Arduino

Comment contrôler une RGB LED avec un Arduino

Dans ce Instructable, je vais vous montrer comment contrôler une LED RGB avec un Arduino.Pour terminer ce projet, vous aurez besoin :1 x Arduino (j'utilise l'Arduino Uno R3)1 LED x RGB3 x 150-220 ohm résistances4 x fils de raccordement1 x planche à p
Comment contrôler un électro-aimant avec un Arduino

Comment contrôler un électro-aimant avec un Arduino

électro-aimants sont amusants à jouer avec, mais de faire quelque chose plus que juste ramasser les trombones, dont vous avez besoin de mieux contrôler. Il s'agit d'un simple tutoriel sur comment faire fonctionner l'un avec l'Arduino, mais la constru
Controll Leds avec un Arduino d’un programme c#

Controll Leds avec un Arduino d’un programme c#

vous avez jamais voulu contrôler certaines LEDs avec votre Arduino dans un programme que vous avez écrit ? Eh bien, je suis ici pour vous aider avec tout ça. Il s'agit de mon premier ' pu donc s'il vous plaît m'aider si j'ai gâcher le long du chemin.
À l’aide d’une manette de jeu avec votre Arduino

À l’aide d’une manette de jeu avec votre Arduino

Manettes de jeu sont une grande source d'entrée pour un projet. Surtout pour la robotique. Comme les pirates de matériel, la plupart d'entre nous ont toujours aimé ces sortes de choses. Sauf les nouveaux gars cela pourraient trouver difficile à saisi