"Grove"r (6 / 10 paso)

Paso 6: código de

Excepto estos 3 códigos para escuchar, ver y cantar como arduino (.ino) archivos por separado:

He incluido los archivos IDE pero tienen nombres diferentes.

Escuchar:

int soundSensorPin = A0;
int soundReading = 0; int soundThreshold = 500; intensidad de int [3] = {0,0,0}; int LEDPins [3] = {2,4,5}; int numberOfPins = 3; int currentPin = 0; int fadeCounter = 0; int fadeDelay = 50; Boolean interruptor = true;

void setup() {pinMode(soundSensorPin, INPUT); para (int i = 0; i

void loop() {soundReading=analogRead(soundSensorPin); if(soundReading>soundThreshold) {if(switcher) {aboveThreshold(currentPin); switcher = true;}} else {if(switcher) {belowThreshold(); switcher = true;}}}

void aboveThreshold (int cPin) {switcher = false; if (intensidad [cPin] < 10) {intensidad [cPin] = 255; delay(50); currentPin = currentPin + 1;}

if(currentPin==numberOfPins) {currentPin = 0;}}

void belowThreshold() {switcher = false; fadeCounter ++; if(fadeCounter==fadeDelay) {fadeCounter = 0; para (int i = 0; i

Fuente: https://gist.github.com/michelleboisson/3830481

Seguida de ver:

/*
* Control Servo a través de Sensor de luz (e.g. fotoresistor). ** Copyright (C) 2010 Efstathios Chatzikyriakidis (contacto ** este programa es software libre: usted puede redistribuirlo y/o modificar * bajo los términos de la GNU General Public License publicada por * la Free Software Foundation, ya sea la versión 3 de la licencia, o * (a su opción) cualquier versión posterior. ** este programa es distribuido con la esperanza de que sea útil, * pero sin ninguna garantía, ni siquiera la garantía implícita de * comerciabilidad o aptitud para un propósito PARTICULAR. Ver la * GNU General Public License para más detalles. ** Usted debe han recibido una copia de la Licencia Pública General de GNU * junto con este programa. Si no, a ver. * / / / incluye biblioteca de servo. #include servo myServo; crear el objeto servo para controlar un servo. const int servoPin = 7; el número de pin (PWM) para el servo. const int sensorPin = 3; el número de pin para el sensor de entrada. valores actuales y anteriores para el dispositivo de servo. int valServo = 0; oldValue int = 0; los siguientes valores pueden cambiar según el sensor de luz. realizar una calibración con luz oscura y pura pura al principio. const int lightMin = 170; Establezca el valor apropiado del sensor de luz. const int lightMax = 512; Establezca el valor apropiado del sensor de luz. const int LIGHT_SENSE = 5; valor de la sensibilidad de nivel de diferencia. const delayTime largo = 15; tiempo de retardo de movimiento servo de millis. entrada de punto de inicio (se ejecuta una vez). void setup () {/ / set sensor como entrada. pinMode (sensorPin, entrada); / / colocar el servo en el PIN myServo.attach(servoPin);} / / lazo el bosquejo principal. void loop () {/ / obtener el valor del sensor de luz. int valServo = analogRead(sensorPin); / / mapa el valor min, max de la servo. valServo = mapa (valServo, lightMin, lightMax, 0, 179); / Asegúrese que el valor está entre el min, máximo de la valServo servo. = restringir (valServo, 0, 179); / / mover servo sólo si la luz cambia bastante. Si (abs (valServo - oldValue) > LIGHT_SENSE) {/ / mover el servo. myServo.write(valServo); / / mantener el último valor. oldValue = valServo;} / / esperar algún tiempo el servo a mover. delay(delayTime);}

Fuente:

Seguido por cantar:

/*
Arduino Mario Bros Tunes con zumbador piezoeléctrico y PWM conectan el lado positivo de la alarma al pin 3, entonces el lado negativo a un resistor del ohmio 1 k. Conecte el otro extremo de la resistencia de ohmios 1 k al pin ground(GND) en Arduino. por: Dipto Pratyaksa última actualización: 31/03/13 * / / *** * constantes públicas *** / #define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 58 #define NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_ E2 #define 82 NOTE_F2 #define 87 NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_A2 #define 110 NOTE_AS2 117 #define NOTE_B2 #define 123 NOTE_C3 #define 131 NOTE_CS3 #define 139 NOTE_D3 #define 147 NOTE_DS3 #define 156 NOTE_E3 #define 165 NOTE_F3 #define 175 NOTE_FS3 #define 185 NOTE_G3 #define 196 NOTE_GS3 #define 208 NOTE_A3 #define 220 NOTE_AS3 233 #define NOTE_B3 #define 247 NOTE_ C4 #define 262 NOTE_CS4 #define 277 NOTE_D4 #define 294 NOTE_DS4 #define 311 NOTE_E4 #define 330 NOTE_F4 #define 349 NOTE_FS4 #define 370 NOTE_G4 #define 392 NOTE_GS4 #define 415 NOTE_A4 #define 440 NOTE_AS4 #define 466 NOTE_B4 #define 494 NOTE_C5 #define 523 NOTE_CS5 #define 554 NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 #define 698 NOTE_FS5 #define 740 NOTE_G5 #define 784 NOTE_ GS5 831 #define NOTE_A5 880 #define NOTE_AS5 932 #define NOTE_B5 988 #define NOTE_C6 1047 #define NOTE_CS6 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 1865 #define NOTE_B6 1976 #define NOTE_C7 2093 #define NOTE_CS7 2217 #define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_ E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOTE_B7 3951 #define NOTE_C8 4186 #define NOTE_CS8 4435 #define NOTE_D8 4699 #define NOTE_DS8 4978 #define melodyPin 3 //Mario tema principal melodía int melodía [] = {NOTE_E7, NOTE_E7, 0, NOTE_E7 , 0, NOTE_C7, NOTE_E7, 0, NOTE_G7, 0, 0, 0, NOTE_G6, 0, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 0, 0}; Mario principal ellos tempo int tempo [] = {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12}; Mundo terrenal melodía int underworld_melody [] = {NOTE_C4, NOTE_C5, NOTE_A3, NOTE_A4, NOTE_AS3, NOTE_AS4, 0, 0, NOTE_C4, NOTE_C5, NOTE_A3, NOTE_A4, NOTE_AS3, NOTE_AS4, 0, 0, NOTE_F3, NOTE_F4, NOTE_D3, NOTE_D4, NOTE_DS3, NOTE_DS4, 0, 0, NOTE_F3, NOTE_F4, NOTE_D3, NOTE_D4, NOTE_DS3, NOTE_DS4, 0, 0 NOTE_DS4, NOTE_CS4, NOTE_D4, NOTE_CS4, NOTE_DS4, NOTE_DS4, NOTE_GS3, NOTE_G3, NOTE_CS4, NOTE_C4, NOTE_FS4, NOTE_F4, NOTE_E3, NOTE_AS4, NOTE_A4, NOTE_GS4, NOTE_DS4, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_GS3, 0, 0, 0}; Underwolrd tempo int underworld_tempo [] = {12, 12, 12, 12, 12, 12, 6, 3, 12, 12, 12, 12, 12, 12, 6, 3, 12, 12, 12, 12, 12, 12, 6, 3, 12, 12, 12, 12, 12, 12, 6, 6, 18, 18, 18, 6, 6, 6, 6, 6, 6, 18, 18, 18, 18, 18, 18, 10, 10, 10, 10, 10, 10, 3, 3, 3}; void setup(void) {pinMode (3, salida); //buzzer pinMode (salida 13) Indicador //led al cantar una nota} void loop() {//sing el tunes sing(1); sing(1); sing(2);} int canción = 0; void sing (int s) {/ / iterar sobre las notas de la melodía: canción = s; si (canción == 2) {Serial.println ("' tema Underworld'"); int tamaño = sizeof(underworld_melody) / sizeof(int); para (int thisNote = 0; thisNote < tamaño; thisNote ++) {/ / para calcular la duración de la nota, tomar un segundo / / dividido por el tipo de nota. / / por ejemplo negra = 1000 / 4, corchea = 1000/8, etc. int noteDuration = 1000 / underworld_tempo [thisNote]; buzz (melodyPin underworld_melody [thisNote], noteDuration); para distinguir las notas, establecer un tiempo mínimo entre ellos. duración + 30% de la nota parece que funciona bien: int pauseBetweenNotes = noteDuration * 1.30; Delay(pauseBetweenNotes); detener la reproducción de tono: buzz (melodyPin, 0, noteDuration); }} else {Serial.println ("' Mario Theme'"); int tamaño = sizeof(melody) / sizeof(int); para (int thisNote = 0; thisNote < tamaño; thisNote ++) {/ para calcular la duración de la nota, toma un segundo / / dividido por el tipo de nota. / / por ejemplo negra = 1000 / 4, corchea = 1000/8, etc. int noteDuration = 1000 / tempo [thisNote]; buzz (melodyPin, noteDuration y melodía [thisNote]); / / para distinguir las notas, establecer un tiempo mínimo entre ellos. / / duración + 30% de la nota parece que funciona bien : int pauseBetweenNotes = noteDuration * 1.30; Delay(pauseBetweenNotes); detener la reproducción de tono: buzz (melodyPin, 0, noteDuration); }}} void buzz (int targetPin, frecuencia largo, longitud) {digitalWrite (13, HIGH); delayValue largo = 1000000 / frecuencia / 2; / / calcular el valor de retardo entre las transiciones / / 1 segundo de pena de microsegundos, dividido por la frecuencia, luego dividir por la mitad desde / / allí son dos fases cada ciclo largo numCycles = frecuencia * longitud / 1000; / / calcular el número de ciclos por tiempo adecuado / / multiplicar la frecuencia, que es realmente ciclos por segundo , por el número de segundos / / / obtener el número total de ciclos para producir para (tiempo he = 0; i < numCycles; i ++) {/ / de la longitud calculada del tiempo... digitalWrite (targetPin, HIGH); / / escribo el pin del zumbador para empujar el diafragma delayMicroseconds(delayValue); / / espere el retraso calculado valor digitalWrite (targetPin, LOW); / / escribo el pin del zumbador baja a tire hacia atrás del diafragma delayMicroseconds(delayValue); / / esperar otra vez o el valor de demora calculados} digitalWrite (13 BAJA); }

Fuente: http://www.princetronics.com/supermariothemesong/

Artículos Relacionados

Medida cuadro plantador de vieja lengua en grove juntas en forma de

Medida cuadro plantador de vieja lengua en grove juntas en forma de

En este instructable les mostraré cómo hacer una caja de plantador de viejas tablas de tounge en grove (o nueva si quieres) que se puede diseñar para caber al lado de tu casa.Yo actualmente estoy acabado mi porche pisos (tal vez una más tarde instruc
Intel Edison distancia Simple Sensor con indicador de Grove barra del LED y zumbador

Intel Edison distancia Simple Sensor con indicador de Grove barra del LED y zumbador

Este es mi primer y "realmente" simple proyecto que hice usando Intel Edison. Este "sencillo" proyecto medirá mediante sensor ultrasónico de distancia y la barra LED mostrará hasta qué punto la distancia y el zumbador emitirá un zumbid
Hombre Pac gesto controlado con Arduino y Grove gesto módulo

Hombre Pac gesto controlado con Arduino y Grove gesto módulo

Pac-man Pac-man Pac-man! Hahaa! Si alguno de ustedes sabe lo que estoy hablando, entonces usted debe estar lo suficientemente mayor para saber un arcade de la vieja moda juego, al igual que yo XD (sin ofender). De hecho, me dispuse a jugar esos clási
Instalación de biblioteca Grove de Intel Edison

Instalación de biblioteca Grove de Intel Edison

Este instructable le mostrará cómo instalar biblioteca de Grove y ejecutar demos básicas para el Grove kit de inicio plus gen 2 en la plataforma Intel Edison.El siguiente material es necesaria para este instructivo:(1) Edison Intel + Arduino breakout
Edison de Intel con LCD de Grove, sensor de temperatura y sensor de infrarrojos

Edison de Intel con LCD de Grove, sensor de temperatura y sensor de infrarrojos

Grove LCD.Temperature sensor de sensor de infrarrojo 與分別是以I2C.ADC.GPIO作為傳輸介面使用上也相當的簡單MRAA biblioteca中有完整的使用方式Grove的官方資料與範例也相當齊全所以實作上並不會太困難Paso 1: Grove LCD 此部分需要 importación pupm_i2clcd建議以下寫法(使用Python)pyupm_i2clcd importación como lcdmyLcd = lcd. Jhd
Detección de temperatura con generación de Galileo 2 y Grove Kit

Detección de temperatura con generación de Galileo 2 y Grove Kit

Les mostraré cómo configurar un proyecto interactivo de temperatura con sensor LCD RBG y temperatura usando kit Intel Galileo y grove.Paso 1: Descargar el IDE de Arduino para Intel Galileo y el código de sensor de temperatura.Paso 2: Abrir el código
Sensores de Grove con un núcleo de la partícula - Sensor salas

Sensores de Grove con un núcleo de la partícula - Sensor salas

Hace poco conseguí unos Senors Grovey traté de correr con un Arduino y el siguiente paso para mí es tomar a la internet y qué mejor manera que hacerlo con un Núcleo de partículas. Para empezar de con que voy a mostrarte cómo montar un sensor Hall de
Grove pulgar Joystick

Grove pulgar Joystick

Esto es parte de una serie de instructables donde tomar estándar componente y senors Groves y conectar con un Arduino. En los dos últimos tutoriales mostré cómo conectar un controlador de motor de I2C y un eje analógico girocompás para el Arduino, as
Autolog - autónoma-perseguidor del GPS (Edison Intel + GPS Grove)

Autolog - autónoma-perseguidor del GPS (Edison Intel + GPS Grove)

utiliza el Hardwre:-Edison Intel + Arduino breakout-Grove GPS-Acelerómetro Grove-Temperaturesensor GrovePaso 1: Empezar a trabajar con Edison de Intel1. Desempaque a su Edison Intel + conectarse por primera vez:Conecte ambos cables usb y conectar vía
Bola de masa hervida afortunado Grove

Bola de masa hervida afortunado Grove

La pantalla LCD es la primera pantalla con que se ocupó vanamente. Es divertido, barato y lo más importante es bien soportada por la comunidad (búsqueda LCD y usted obtendrá un montón de librerías y ejemplo listo para usar).Contamos con también una p
Sensores de Grove con un núcleo de la partícula - IR distancia interrumpir

Sensores de Grove con un núcleo de la partícula - IR distancia interrumpir

Esto es parte de la serie de instructables donde tomar los sensores Grove a internet usando un núcleo de partículas o de fotones. En los últimos instructable le mostré cómo enganchar encima de un Sensor Hall es un sensor magnético de un núcleo de par
Arduino - Grove I2C Driver Motor

Arduino - Grove I2C Driver Motor

Hace poco conseguí unos sensores de Grove, y como siempre traté de cableado para arriba con el Arduino y el núcleo de la partícula. Sensores de Grove son una serie de senors forma Seeed Studio, tienen una amplia gama de sensores y componentes y voy a
Loco Caterpillar - Arduino Robot w/Grove conjunta y Sensor infrarrojo

Loco Caterpillar - Arduino Robot w/Grove conjunta y Sensor infrarrojo

Mi amigo Steven, que es un maestro de escuela secundaria, me pidió diseñar un precioso animal biónico como una ayuda a la formación que podría ayudar a hacer más interesante su estudio.Asi que me hice la oruga loca por ella. El pequeño gusano tiene d
LinkIt uno tutoriales - Grove #5 cabeceras

LinkIt uno tutoriales - Grove #5 cabeceras

Uno de los extras menos obvios en el tablero un LinkIt son dos cabeceras blanco con 4 pernos en. Estos se denominan encabezados de Grove y están diseñados para que pueda conectar un cable y poder utilizar todo tipo de hardware simplemente y fácilment
Divisor del voltaje Grove

Divisor del voltaje Grove

En un tutorial pasado veíamos cómo diseñar un monitor de batería, pero tenía un lado negativo que era podría no mes que rangos de voltaje por encima de los 5v. Para medir rangos de voltaje más alto todo lo que necesitas es un divisor de tensión de gr