Xilófono de construir Spark.IO noche Rex-o-Phone wifi (5 / 6 paso)

Paso 5: Paso 5. Código desarrollo spark.io lado

Hardware preliminar fue presentado con soldadura de punto a punto. Desarrollo de código inicial se hizo con

un .shiftOut clon de arduino 328 (dataPin, clockPin, LSBFIRST, j); fue el primer intstruction utilizado y

se encontró que sólo cambiaría a una palabra un poco.

/*************************************************************/
/ * Spark.io funciones para el procesamiento de página web interacción * /

/ * Bloominglabs Spark.io construir la noche 13 de noviembre y 15 de 2013 * /

/ * por Rex M Marling * /

/ * Actualmente un proyecto en curso para un microprocesador * /

/ * glockenspiel (xilófono). El Spark.io permite wireless * /

/ * con el archivo de html archivo asociado jugar RexOphone * /

/ * Dos 74ls595 cambio registros se están utilizando para ampliar * /

/ * los datos de salida de la spark.io. 03 de enero de 2015 * /

/ * INICIALIZAR datos tipos y función del disparador interrumpir / * / * tipo de datos de caracteres * /

char * songPtr;

/ * TIPO DE DATOS BOOL * /

bool songDone = false;

bool remoteTriggered = false; variable de estado global para la función remoteTrigger()

/ * TIPO DE DATOS BYTE *

default_dur /byte = 4;

byte default_oct = 6;

byte lowest_oct = 3;

Nota de bytes; escala de bytes;

/ * TIPO DE DATOS INT * /

int x; puntero de int;

int resultado;

int bpm = 63;

int num;

int clr = 7;

int datos = 3;

int reloj = 4;

cierre de int = 5;

permiten int = 6;

int contador;

/ * TIPO DE DATOS UNSIGNED INT * /

unsigned int Nota;

unsigned int máscara;

/ * la siguiente int sin signo se asignan para 16 notas * /

unsigned int a1 = 0x0001;

unsigned int b1 = 0x0002;

unsigned int c1 = 0x0004;

c1p unsigned int = 0x0008;

unsigned int d1 = 0x0010;

unsigned int d1p = 0x0020;

unsigned int e1 = 0x0040;

unsigned int f1 = 0x0080;

f1p unsigned int = 0x0100;

unsigned int g1 = 0x0200;

g1p unsigned int = 0x0400;

unsigned int a2 = 0 x 0800;

unsigned int ap2 = 0x1000;

unsigned int b2 = 0x2000;

unsigned int c2 = 0 x 4000;

unsigned int n [] = {0x8000 0 x 4000, 0x2000, 0x1000, 0 x 0800, 0x0400, 0x0200, 0x0100, 0x0080, 0x0040, 0x0020, 0x0010, 0x0008, 0x0004, 0x0002, 0x0001};

/ * TIPO DE DATOS LARGO * /

wholenote largo;

de larga duración;

/ * DEFINE * /

#define DEBUG = false;

/ * PUERTOS DE DATOS DE CONFIGURACIÓN Y ACTIVACIÓN DE LA INTERRUPCIÓN * /

void setup(void) {}

if(debug) Serial1.begin(115200);

pinMode(D6,OUTPUT);

pinMode(D7,OUTPUT);

pinMode(data,OUTPUT);

pinMode(clock,OUTPUT);

pinMode(latch,OUTPUT);

pinMode(enable,OUTPUT);

digitalWrite(clock,HIGH);

digitalWrite(data,HIGH);

digitalWrite(latch,HIGH);

digitalWrite(enable,LOW);

digitalWrite(clr,HIGH);

Spark.function("Remote",remoteTrigger); }

/ * PUERTO DE DATOS DE CONFIGURACIÓN FINAL Y GATILLO DE INTERRUPCIÓN * /

/ * BUCLE principal * / void loop(void) {}

/ * El loop() principales procesos de la web botón haga clic en una nota a la vez. */

/ * evitar bloquear las tareas de fondo demasiado * /

/ * o bien el núcleo de la chispa se desconecte desde la nube. */

{if(remoteTriggered)}

digitalWrite(D7,HIGH);

Luz del LED azul a bordo mientras los juegos de la canción};

Delay(600);

digitalWrite(D7,LOW);

Apagar el LED azul a bordo.

remoteTriggered = false;

if(debug) Serial1.println("Done!");

Delay(2000); }

{

el siguiente código fue diseñado para una 16 bits del reloj

unsigned int "NOTA datos arriba" a través de 2 x 74ls595

cambio de registros que sólo transfiere la función shiftOut

8 bits de datos

Sintaxis de

shiftOut (dataPin, clockPin, bitOrder, valor)

Parámetros

dataPin: el pin en el que a salida de cada bit (int)

clockPin: el perno para cambiar una vez el dataPin se ha ajustado en el valor correcto (int)

bitOrder: que orden para cambiar de puesto hacia fuera los pedacitos; MSBFIRST o LSBFIRST.

(Más significativo Bit primero o Bit menos significativo primero)

valor: los datos para cambiar de puesto hacia fuera. (bytes)

Serial.println ("empezar"); para (puntero = 0; puntero < = 15; puntero ++) {mask = 0x8000; / / & B1000000000000000 Nota = n [puntero]; Serial.println(Note); para (x = 0; x < = 16; x ++) {resultado = Nota & Máscara; máscara = mascarilla >> 1; si (resultado > 0) {digitalWrite(data,HIGH); Serial.println ("alto"); }

if(result == 0) {digitalWrite(data,LOW); Serial.println ("bajo");} digitalWrite(clock,LOW); retardo (15); digitalWrite(clock,HIGH); };

bucle interno final

digitalWrite(latch,LOW);

Delay(15);

digitalWrite(latch,HIGH);

Delay(15);

digitalWrite(enable,LOW);

Delay(15);

digitalWrite(enable,HIGH);

Delay(250); };

lazo externo final

activar salida enable para 74ls595 tocar nota "coche salida darlington transistores" y luego regresará a tristate

}

/**************************************************************/ /* */ /* END MAIN LOOP */ /**************************************************************

/ / * DISPARADOR DE CHISPA. IO-DEVICE * / / *** / int remoteTrigger (String args) {si (args == "1") {contador = 1;};

Si (args == "2") {contador = 2;};

Si (args == "3") {contador = 3;};

Si (args == "4") {contador = 4;};

Si (args == "5") {contador = 5;};

Si (args == "6") {contador = 6;};

Si (args == "7") {contador = 7;};

Si (args == "8") {contador = 8;};

Si (args == "9") {contador = 9;};

Si (args == "10") {contador = 10;};

Si (args == "11") {contador = 11;};

Si (args == "12") {contador = 12;};

Si (args == "13") {contador = 13;};

Si (args == "14") {contador = 14;};

Si (args == "15") {contador = 15;};

Si (args == "16") {contador = 16;};

es el argumento que se pasa de los botones de la página web

carga en el contador para controlar el bucle for

prueba visual para el buen funcionamiento de los datos de la página web

pasa sobre el botón del ratón

para (contador; contador > 0; contador--)

{digitalWrite(D7,LOW);

Delay(200);

digitalWrite(D7,HIGH);

Delay(200);

digitalWrite(D7,LOW); }

remoteTriggered = true; volver 200; }

/ * CONTROLADOR DE LA PÁGINA WEB DE FINAL * /

Artículos Relacionados

Xilófono autómatas acorde

Xilófono autómatas acorde

vamos a conseguir listo para construir!Paso 1: Sus materialesPara el proyecto de hoy necesita:-acabado madera-2 1/4 pulgadas espigas de Cañas7-1/16 barra de pasador-1/2 pulgada de esferas de madera-Little Tikes xilófono-3 levas cortan por una caída (
Xilófono de Arduino

Xilófono de Arduino

Hice un xilófono que utiliza un Arduino Mega para detectar cuando se pulsa una nota y generar la salida MIDI. Este proyecto es maravilloso porque básicamente hice un xilófono, una batería y cualquier otro instrumento sonido MIDI controlado, con una h
¿Xilófono de la llave

¿Xilófono de la llave

quiere hacer una verdadera banda de garaje? Entonces necesitarás un instrumento. Salir de su sistema de la llave, comenzar otros EM y hacer un xilófono.Paso 1: Diseño de piezas Salir de un juego de llaves. Llaves más grandes tendían a ser más fácil t
Xylano.  ¿Piano xilófono cumple

Xylano. ¿Piano xilófono cumple

para mi hija amaba este pequeño piano de juguete que utiliza campanas de xilófono para hacer sonidos, y esto me hizo pensar... pude hacer uno mejor? La respuesta fue sí, pero tomó mucho tiempo y un poco de ensayo y error.Lo primero que hice fue comie
Simon Game - xilófono versión

Simon Game - xilófono versión

un interfaz de juego poco que estoy haciendo... en esencia, será el juego de simon... excepto mucho más difícil y xilófono estilo :)(Para aquellos que no saben, el juego de simon es la siguiente:http://www.youtube.com/watch?v=4YhVyt4q5HI)Materiales /
Aprender a tocar el xilófono

Aprender a tocar el xilófono

La información necesaria es teoría musical básica, pero si nunca has jugado un xilófono o el piano antes, sería fácil perderse en esta insuperable. Primero debe comprender que distintas notas están presentes para cada nota en el xilófono, como se ve
Robot xilófono

Robot xilófono

Este es proyecto de 3Dp simple principiante para todo aquel que tiene acceso a la impresora 3D.Adicional lo que necesita es:2 servos xArduino/frambuesa Pi o cualquier otra plataforma programable para controlar el servoxilófono o un instrumento simila
Xilófono de melón

Xilófono de melón

Aquí es un instrumento que no hace una música de sonido madera, pero su paladar baile!Esta es una idea simple pero muy efectiva para una fiesta musical o simplemente algo diferente a tener."El xilófono occidental moderna tiene barras de palo de rosa,
Xilófono de 2 x 4

Xilófono de 2 x 4

he copiado esto del Museo de los niños que llevamos mi hija.  Consta de 3 2 x 4 x 8' secado al horno (no utiliza presión... malo para los niños), unos 15' de cable, algunas grapas y una clavija de madera.  El costo total es menos de $10 y se puede ha
Xilófono de Makedo

Xilófono de Makedo

hoy empezamos jugando con los tubos de cartón nos hemos estado reuniendo - tubos de papel de aluminio se aferra abrigo de tubos, tubos de papel higiénico, tubos postales, tubos de toalla de papel. Cada uno varía en tamaño y grosor alineados y de repe
Cómo abrigo/reparación de mazas para Marimba, xilófono, vibráfono y Glock y

Cómo abrigo/reparación de mazas para Marimba, xilófono, vibráfono y Glock y

mayoría de la gente más bien no gastaría $40 para un par de mazos buena, si la opción más barata de hacer su propio par de la misma calidad! Este Instructable será un proceso claro, paso a paso, con opciones de variación para diferentes tipos de mazo
Dremel construir por la noche en MakeICT

Dremel construir por la noche en MakeICT

A finales de julio de 2014 MakeICT tuvo su primer Dremel construir taller de noche. Combinamos la formación Dremel con bien old fashioned cómo construir técnicas. Tom llevó a cabo el taller. No era una gran concurrencia pero el corrió y posteriorment
Xilófono de juguete de los niños

Xilófono de juguete de los niños

mi esposa y yo estamos esperando, por lo que estoy haciendo algunos juguetes. Seguro, usted puede comprar Juguetes buenos fácilmente y barato, pero caseras, especialmente de madera que tienen mucho tacto más agradable y más significado. Y además sólo
Cómo hacer un solo xilófono octava

Cómo hacer un solo xilófono octava

hecho para un proyecto de clase, este Instructable le dirá que paso a paso el proceso que utilizamos para hacer este xilófono. Abarca una octava y golpea todas las notas en una escala. Incluyendo la puesta a punto, edificio, lijado, proceso de pintur