IR

febrero 22, 2012

Estamos trabajando en la decodificación de señales de controles remotos

para enviar señales con microcontroladores en la página de ladyada está la referencia para hecerlo con Arduino,

Picaxe tiene pines exclusivos para emitir o recibir señales infrarrojas,,

va la foto del prototipo terminado de tarjeta músical con Arduino Mini

 

 

 

 

 

 

 

El prototipo es una asesoría para Emmanuel Cruz de “La Esmeralda”,,, seguimos haciendo pruebas para tarjetas musicales pero ahora con Picaxe y PIC,,

 

Una forma de modificar la melodía que viene en las tarjetas musicales (las que suenan al abrirlas) es por medio de un arduino mini pues tiene el tamaño perfecto para colocarse dentro de la tarjeta,, aún me falta investigar sobre una fuente de voltaje tan pequeña para colocar dentro sin que se note,,

esta forma de modificación de la melodía de la tarjeta tiene el incoveniente de que una arduino mini es cara en relación a lo que cuesta una tarjeta musical, pero como un prototipo funciona muy bien ademas de que se puede cambiar la  melodía cuantas veces se necesite,,

En la foto se ve la arduino mini con un piezolectrico conectado que funciona como bocina, le cargué el programa con una arduino duemilanove sin el Atmega, según la guía de arduino mini

este es el programa para la tarjeta que toca “La cucaracha” cuando se abre:

/*
Titulo:Rola para tarjeta de felicitacion
descripcion: programa para emular tarjetas de
felicitacion, la rola se puede modificar, y se activa
por medio del interruptor de la tarjeta
creado: 30 ene 2012
por: Abel Arellano
modificado para version 2: 30 ene 2012
*/
const int inPin = 2;    // pin that the sensor is attached to
#include “pitches.h”

void setup() {
// initialize pin as an INput:
pinMode(inPin, INPUT);
Serial.begin(9600);
}

void loop() {
if (digitalRead(inPin) == HIGH) {
tocaRola();
}
// en caso de que repita la rola espera 200 ms
delay(200);

}

// notas de la rola:
//es posible modificar la rola,, las notas estan en notacion inglesa
int melody[] = {
NOTE_D5, NOTE_D5, NOTE_D5, NOTE_G5, NOTE_B5, 0,
NOTE_D5, NOTE_D5, NOTE_D5, NOTE_G5, NOTE_B5, 0,
NOTE_G5, NOTE_G5, NOTE_FS4, NOTE_FS4, NOTE_E5, NOTE_E5, NOTE_D5, 0,
NOTE_D5, NOTE_D5, NOTE_D5, NOTE_FS4, NOTE_A5, 0,
NOTE_D5, NOTE_D5, NOTE_D5, NOTE_FS4, NOTE_A5, 0,
NOTE_D5, NOTE_E5, NOTE_D5, NOTE_CS5, NOTE_B5, NOTE_A5, NOTE_G5, 0

};
//la duracion de cada nota separada por una coma
// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
8, 8, 8, 8, 4, 4, 8 ,8 ,8 ,8, 4, 4,  8, 8, 8, 8, 8, 8, 8,4,
8,8,8,8,4,4, 8,8,8,8,4,4, 8,8,8,8,8,8,8};

void tocaRola() {
// iterate over the notes of the melody:
for (int thisNote = 0; thisNote < 40; thisNote++) {
// para alargar la melodia se cambia el condicional thisNote  a un numero mayor.
// to calculate the note duration, take one second
// divided by the note type.
//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
int noteDuration = 1000/noteDurations[thisNote];
tone(8, melody[thisNote],noteDuration);

// to distinguish the notes, set a minimum time between them.
// the note’s duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
// stop the tone playing:
noTone(8);
}
}

el programa está basado en el ejemplo File > Examples > 2.Digital > toneMelody

mas informacion en la página Arduino PlayMelody,, pronto la imagen de la arduino mini colocada en la tarjeta musical,,

Seguir

Get every new post delivered to your Inbox.