Usar TEA5767 FM módulo para crear un Arduino basado en FM Radio (3 / 3 paso)

Paso 3: código

El código de Arduino es como a continuación:

Original del receptor de FM de Arduino con TEA5767 http://www.electronicsblog.net
Modificado por Jingfeng Liu
LinkSprite.com
//
#include < Wire.h >
#include < LiquidCrystal.h >

unsigned char search_mode = 0;

int b = 0;
int c = 0;

#define Button_next 6
#define Button_prev 7

unsigned char frequencyH = 0;
unsigned char frequencyL = 0;

unsigned int frequencyB;
doble frecuencia = 0;

doble freq_available = 0;

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

void setup() {}

Wire.Begin();
LCD.Begin (16, 2);

botones

pinMode (Button_next, entrada);
digitalWrite (Button_next, alto); Tire hacia arriba de la resistencia

pinMode (Button_prev, entrada);
digitalWrite (Button_prev, alto); Tire hacia arriba de la resistencia

frecuencia = 87.5; a partir de frecuencia

frequencyB = 4 *(frequency*1000000+225000)/32768; cálculo de palabra PLL

frequencyH = frequencyB >> 8;

frequencyL = frequencyB & 0XFF;

Delay(100);

Wire.beginTransmission(0x60);   escritura TEA5767

Wire.Write(frequencyH);
Wire.Write(frequencyL);
Wire.Write(0xB0);
Wire.Write(0x10);
Wire.Write(0x00);
Wire.endTransmission();

Delay(100);

}

void loop()
{

buffer de unsigned char [5];

lcd.setCursor (0, 0);

Wire.requestFrom(0x60,5); lectura TEA5767

Si (Wire.available())

{
para (int i = 0; i < 5; i ++) {}

buffer [i] = Wire.read();
}

freq_available = (((almacenador intermediario [0] & 0x3F) << 8) + buffer [1]) * 4/32768-225000;

LCD.Print ("FM");

LCD.Print((freq_available/1000000));

frequencyH = ((almacenador intermediario [0] & 0x3F));

frequencyL = buffer [1];

Si (search_mode) {}

Si (almacenador intermediario [0] & 0 x 80) search_mode = 0;

}

Si (search_mode == 1) lcd.print ("SCAN");
Else {}
LCD.Print("");
}

lcd.setCursor (0, 1);

LCD.Print ("nivel:");
LCD.Print ((almacenador intermediario [3] >> 4));
LCD.Print ("/ 16");

Si (almacenador intermediario [2] & 0 x 80) lcd.print ("STEREO");
Else lcd.print ("MONO");

}

botones de leer

button_next / / /
Si (! digitalRead(Button_next) & &! b) {}

frecuencia =(freq_available/1000000) + 0. 05;

frequencyB = 4 * (frecuencia * 1000000 + 225000) / 32768 + 1;

frequencyH = frequencyB >> 8;
frequencyL = frequencyB & 0XFF;

Wire.beginTransmission(0x60);

Wire.Write(frequencyH);
Wire.Write(frequencyL);
Wire.Write(0xB0);
Wire.Write(0x1F);
Wire.Write(0x00);

Wire.endTransmission();

//////////////////////

b = 100;

};

Si (! digitalRead(Button_next) & & b == 1) {}

scannnn arriba

search_mode = 1;

Wire.beginTransmission(0x60);

Wire.Write(frequencyH+0x40);
Wire.Write(frequencyL);
Wire.Write(0xD0);
Wire.Write(0x1F);
Wire.Write(0x00);

Wire.endTransmission();

/////////////////

b = 100;

};

Si (! b == 0) b--;

button_prev / / /
Si (! digitalRead(Button_prev) & &! c) {}

frecuencia =(freq_available/1000000)-0.05;

frequencyB = 4 * (frecuencia * 1000000 + 225000) / 32768 + 1;

frequencyH = frequencyB >> 8;
frequencyL = frequencyB & 0XFF;

Wire.beginTransmission(0x60);

Wire.Write(frequencyH);
Wire.Write(frequencyL);
Wire.Write(0xB0);
Wire.Write(0x1F);
Wire.Write(0x00);

Wire.endTransmission();

c = 100;

};

Si (! digitalRead(Button_prev) & & c == 1) {}

scannnn abajo

search_mode = 1;

Wire.beginTransmission(0x60);

Wire.Write(frequencyH+0x40);
Wire.Write(frequencyL);

Wire.Write(0x50);
Wire.Write(0x1F);
Wire.Write(0x00);
Wire.endTransmission();

c = 100;

};

Si (! c == 0) c--;

////////////////////

}

Después de descargar el código de Arduino, podemos apretamos los dos botones para escanear para arriba y explorar hacia abajo los canales para buscar emisoras.

Artículos Relacionados

Usar Android o iPhone fotos para crear objetos 3D con Autodesk Catch.  La hice en TechShop.

Usar Android o iPhone fotos para crear objetos 3D con Autodesk Catch. La hice en TechShop.

Goal:Para aprender a crear imágenes en 3D usando la recién estrenada imagen 3D usando Autodesk Catch.  Compartir consejos y lessonw aprendido.Procedimiento:Tomar cuadros alrededor del objeto.  Sujete la cámara cerca del cuerpo para proporcionar estab
Utilizando cobre cinta para crear A Digital selección de control

Utilizando cobre cinta para crear A Digital selección de control

esto es parcialmente me compartir esta técnica y parcialmente a mí aprender a usar Instructables. Si hay problemas con documentos de la técnica o de Instructables para mi uso, por favor hágamelo saber en los comentarios - gracias!Necesitaba una larga
Uso de fusión para crear moldes de enchufe

Uso de fusión para crear moldes de enchufe

En este tutorial lo voy usando fusión 360 para crear un molde de enchufe para el vacío que forma el acrílico para que el producto final se asemeja a un insecto de la escala de vidrio soplado.Materiales utilizados:1/4 de pulgada acrílico, claro y blan
Uso de pasta base de silicona para crear rápido maquillaje FX

Uso de pasta base de silicona para crear rápido maquillaje FX

Sculptgel y tercer grado son ambos materiales de gran base de silicona que se pueden utilizar directamente sobre la piel para crear efectos de maquillaje de tres dimesional para películas de bajo presupuesto de diversión, Halloween, o para crear trab
Guía para crear un guión gráfico

Guía para crear un guión gráfico

este instructable es una guía en Cómo crear un guión gráfico. Este es un proceso bastante fácil, y basta un poco de imaginación y diversión. Hay muchos métodos en la creación de un storyboard, pero esta instructable sólo mostrará dos de ellos. Uno es
Resina de fundición para crear materiales únicos

Resina de fundición para crear materiales únicos

La resina es un material de plasticidad (la calidad de ser fácilmente formado o moldeado) y puede ser manipulada para crear formas y diferentes efectos visuales. En este instructable voy presentarle algunas técnicas del bastidor que puede utilizar pa
Rápido y fácil! Uso de tinta y una carpeta de grabación en relieve para crear un aspecto de la tipografía!

Rápido y fácil! Uso de tinta y una carpeta de grabación en relieve para crear un aspecto de la tipografía!

Además de las instrucciones de la imagen a continuación, también he subido un video de arriba para aquellos de ustedes que prefieren videos versus tutoriales imagen arriba.Me encanta crear, tengo desde que era pequeño. A decir verdad, todavía estoy p
Cómo utilizar Photoshop para crear texturas con canales alfa para Second Life

Cómo utilizar Photoshop para crear texturas con canales alfa para Second Life

esto lo guiará paso a paso sobre cómo hacer texturas con transparencia para Second Life utilizando Adobe Photoshop CS. Incluye consejos sobre cómo evitar borrosos contornos blancos y un poco de información sobre máscaras y canales alfa.Paso 1: Resume
Cómo usar Gmail o Google Apps para negocios con Microsoft Exchange Email

Cómo usar Gmail o Google Apps para negocios con Microsoft Exchange Email

muchas organizaciones utilizan Microsoft Exchange para correo electrónico.  Encuentra cambio a ser un sistema muy pobre y no como los típicos métodos de lectura de correo electrónico en un servidor de Exchange: Outlook o Outlook Web App.  Me gusta mu
4 pasos fáciles para crear una única lámpara de botella de vino

4 pasos fáciles para crear una única lámpara de botella de vino

fabricación de una botella de mesa lámpara de un vino (o cualquier tipo de) parece ser un proyecto de arte muy popular. Sin embargo, mientras que las luces que vi en línea estaban bien, yo siempre los consideraba poco más que un elemento de novedad. 
Con látex líquido para crear un efecto de descamación

Con látex líquido para crear un efecto de descamación

para Halloween este año quería ir como una chica de la serpiente de demostración de freak de 1920 y una parte esencial del traje fue creando un efecto de escala realista. Tras experimentar con varios productos descubrí que látex líquido crea la apari
Con Maya para crear rápidamente un render de producto profesional para Shapeways

Con Maya para crear rápidamente un render de producto profesional para Shapeways

Al vender un diseño del modelo en 3D páginas web impresión como Shapeways, creo que es importante crear una impresión primera hermosa y profesional para un cliente cuando aterrizan en tu página de producto.En esta lección, vamos a usar Maya 2015 para
Combina la nueva escuela (iPad, myRIO, LabVIEW) con la vieja escuela (MIDI, unidades de disquete) para crear la mejor banda electrónica - myFloppyDriveOrchestra

Combina la nueva escuela (iPad, myRIO, LabVIEW) con la vieja escuela (MIDI, unidades de disquete) para crear la mejor banda electrónica - myFloppyDriveOrchestra

¿Tiene cualquier disquetera vieja escuela ahí? Haz hacking! Transformarlos en una orquesta electrónica!!!!Siendo uno de los mundos más populares tecnología DIY proyectos, unidades de disquete Musical son nada nuevo. Sin embargo, myFloppyDriveOrchestr
Cómo utilizar Skectup y 123D programa para crear su propio 3D Puzzel o modelo

Cómo utilizar Skectup y 123D programa para crear su propio 3D Puzzel o modelo

Cómo usar software libre y una impresora 3D para recrear algunas de tus cosas favoritas en la vida.Paso 1: Decidir lo que quieres hacer Es fácil decidir qué hacer en una impresora 3D. Cuáles son tus intereses, qué cool encontrar que has visto en tele