Para controlar remotamente el generador de funciones desde nuestro teléfono o tablet debemos descargar la aplicación RC Bluetooth Control la cual descargamos desde Google Play:
La podemos descargar desde Amazon:
Para visualizar las señales generadas podemos usar un osciloscopio, sino lo tenemos podemos convertir nuestra tablet o teléfono en un osciloscopio . Para ello debemos descargar de manera gratuita la aplicación Osciloscopio desde Google Play:
La podemos descargar desde Amazon:
Una vez que hemos descargado las aplicaciones e instaladas en nuestros teléfonos y Tablet, podemos visualizar el siguiente vídeo, donde se explica detalladamente el diseño del Generador de Funciones:
El programa para ser cargado en nuestro arduino es el siguiente:
// include the library code:
#include <LiquidCrystal.h>
#include <TinyGPS.h>
//String mensaje,mensaje3;
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 12); // RX, TX
char inChar;
int sw=0;
int sine[255];
void setup() {
//Serial.begin(9600);
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
float x;
float y;
for(int i=0;i<255;i++)
{
x=(float)i;
y=sin((x/255)*2*PI);
sine[i]=int(y*128)+128;
}
mySerial.begin(9600);
}
void loop() {
while (mySerial.available() > 0)
{
inChar =mySerial.read();
//Serial.println(inChar);
switch (inChar)
{
//Onda Tiangular
case 'U' :sw=1;
break;
//Onda Rampa Poitiva
case 'E' :sw=2;
break;
//Onda Negativa
case 'R': sw=3;
break;
// OndaSeno
case 'C': sw=4;
break;
}
//Serial.println(sw);
}
switch (sw)
{
case 1:for (int i=0;i<255;i++)
{
PORTD=i;
}
for (int i=255;i>0;i--)
{
PORTD=i;
}
break;
case 2:for (int i=0;i<255;i++)
{
PORTD=i;
}
break;
case 3: for (int i=255;i>0;i--)
{
PORTD=i;
}
break;
case 4:for (int i=0;i<255;i++)
{
PORTD=sine[i];
delayMicroseconds(10);
}
break;
}
}
No hay comentarios:
Publicar un comentario