Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplo para crear un retraso (delay) , para ello se debe comprobar el tiempo transcurrido y
decidir si se toma la accin o no.
Cdigo:
volatile int contador = 0;
int n = contador ;
long T0 = 0 ; // Variable global para tiempo
void setup()
{
pinMode(2, INPUT);
Serial.begin(9600);
attachInterrupt( 0, ServicioBoton, LOW);
}
void loop()
{ if (n != contador)
{ Serial.println(contador);
n = contador ;
}
}
void ServicioBoton()
{
if ( millis() > T0 + 250)
{ contador++ ;
T0 = millis();
}
}
El led verde ir parpadeando hasta que alguien pulse el botn. Mientras el botn est pulsado,
se llamar a la funcin alarma, que encender el led rojo y apagar el verde.
Materiales:
Arduino
2x LED
Pulsador
Resistencias de 150 ohm: para proteger los LEDs y evitar errores de lectura con el botn
Cdigo
int red = 8;
int green = 5;
int boton = 2;
void setup()
{
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(boton, INPUT);
//Creamos la interrupcion
attachInterrupt(0, alarma, HIGH);
}
void loop()
{
digitalWrite(green, HIGH);
delay(1000);
digitalWrite(green, LOW);
delay(200);
}
//Codigo de la interrupcion
void alarma()
{
digitalWrite(green, LOW);
while(digitalRead(2) == HIGH)
{
digitalWrite(red, HIGH);
delay(200);
digitalWrite(red, LOW);
delay(200);
}
}
MATERIAL
1 ARDUINO
Cdigo
const int
const int blueLEDPin = 11; // PIN azul del LED RGB se conecta a la salida 11
const int redLEDPin = 9;
pinMode(redLEDPin,OUTPUT);
}
pinMode(blueLEDPin,OUTPUT);
void loop()
{
delay(500);
else if(randomNum == 3)
{
digitalWrite(9,LOW);
delay(500);
}
else if(randomNum == 4)
{
digitalWrite(9,LOW);
digitalWrite(10,LOW);
delay(500);
Barrera de tren
Interactuarn LEDs y un Servo.
Material
- 1 LED Rojo
- 1 LED Verde
- 1 LED Amarillo
- 1 Servo
- 3 Resistencias de 220 ohmmios
- 1 Arduino
- 1 Board
- Cables
Esquema elctrico con las respectivas conexiones:
digitalWrite(leda, LOW);
delay(1000);
digitalWrite(leda, HIGH);
delay(1000);
digitalWrite(leda, LOW);
delay(1000);
digitalWrite(ledv, HIGH);
//Una vez ha cambiado el led a verde, cambiamos la posicin de la barrera.
barrera.write(100);
delay(5000);
digitalWrite(ledv, LOW);
}
Haciendo Sonidos
Reproducir mediante un buzzer (o Zumbador) una escala de notas musicales.
Material
- BreadBoard o Protoboard
- 1 x Zumbador ( buzzer )
- Arduino
- Cables
Cdigo:
// Introducimos la variable por donde saldr nuestra seal digital hasta el zumbador
int speakerPin = 12;
// Definimos una variable con el nmero de tonos que va a reproducir
int numTones = 10;
int tones[] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440};
//
mid C C#
D#
F#
G#
// Equivalencias entre frecuencias y Notas de la escala natural, no estn todas declaradas pero
existen.
void setup()
{
// Generamos un bucle que recorra nuestro vector. Este ser el encargado de introducir una
determinada frecuencia al zumbador cada vez, conforme hayamos declarado el vector de
tonos.
Carros de fuego:
// Introducimos la variable por donde saldr nuestra seal digital hasta el zumbador
int speakerPin = 12;
// Definimos una variable con el nmero de tonos que va a reproducir
int numTones = 10;
int song[] = {261, 349, 392, 440, 392, 330, -10, 261, 349, 392, 440, 392, -10, -10, 261, 349,
392, 440, 392, 330, -10, 330, 349, 330, 261, 261};
// int tones[] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440};
//
mid C C#
D#
F#
G#
// Uso una frecuencia de -10 para generar un sonido que apenas se oiga y que sustituya al
silencio que debera sonar en la meloda. Os invito a que compartis una solucin mejor para
evitar que suene el buzzer en esa posicin.
void setup()
{
for (int i = 0; i < numTones; i++)
{
tone(speakerPin, tones[i]);
delay(500);
}
noTone(speakerPin);
}
void loop()
{
}
tone(9,293.66,100);
delay(100);
tone(9,293.66,100);
delay(100);
tone(9,293.66,100);
delay(100);
tone(9,293.66,200);
delay(200);
tone(9,293.66,100);
delay(100);
tone(9,293.66,200);
delay(200);
tone(9,293.66,100);
delay(100);
tone(9,293.66,200);
delay(200);
tone(9,293.66,100);
delay(100);
tone(9,293.66,100);
delay(100);
tone(9,293.66,100);
delay(100);
tone(9,293.66,100);
delay(100);
tone(9,293.66,200);
delay(200);
tone(9,293.66,100);
delay(100);
tone(9,293.66,200);
delay(200);
tone(9,293.66,100);
delay(100);
tone(9,293.66,200);
delay(200);
tone(9,293.66,100);
delay(100);
tone(9,293.66,100);
delay(100);
tone(9,440,100);
delay(100);
tone(9,523.25,100);
delay(100);
tone(9,587.33,100);
delay(200);
tone(9,587.33,100);
delay(200);
tone(9,587.33,100);
delay(100);
tone(9,659.25,100);
delay(100);
tone(9,698.45,100);
delay(200);
tone(9,698.45,100);
delay(200);
tone(9,698.45,100);
delay(100);
tone(9,783.99,100);
delay(100);
tone(9,659.25,100);
delay(200);
tone(9,659.25,100);
delay(200);
tone(9,587.33,100);
delay(100);
tone(9,523.25,100);
delay(100);
tone(9,523.25,100);
delay(100);
tone(9,587.33,100);
delay(300);
tone(9,440,100);
delay(100);
tone(9,523.25,100);
delay(100);
tone(9,587.33,100);
delay(200);
tone(9,587.33,100);
delay(200);
tone(9,587.33,100);
delay(100);
tone(9,659.25,100);
delay(100);
tone(9,698.45,100);
delay(200);
tone(9,698.45,100);
delay(200);
tone(9,698.45,100);
delay(100);
tone(9,783.99,100);
delay(100);
tone(9,659.25,100);
delay(200);
tone(9,659.25,100);
delay(200);
tone(9,587.33,100);
delay(100);
tone(9,523.25,100);
delay(100);
tone(9,587.33,100);
delay(400);
tone(9,440,100);
delay(100);
tone(9,523.25,100);
delay(100);
tone(9,587.33,100);
delay(200);
tone(9,587.33,100);
delay(200);
tone(9,587.33,100);
delay(100);
tone(9,698.45,100);
delay(100);
tone(9,783.99,100);
delay(200);
tone(9,783.99,100);
delay(200);
tone(9,783.99,100);
delay(100);
tone(9,880,100);
delay(100);
tone(9,932.33,100);
delay(200);
tone(9,932.33,100);
delay(200);
tone(9,880,100);
delay(100);
tone(9,783.99,100);
delay(100);
tone(9,880,100);
delay(100);
tone(9,587.33,100);
delay(300);
tone(9,587.33,100);
delay(100);
tone(9,659.25,100);
delay(100);
tone(9,698.45,100);
delay(200);
tone(9,698.45,100);
delay(200);
tone(9,783.99,100);
delay(200);
tone(9,880,100);
delay(100);
tone(9,587.33,100);
delay(300);
tone(9,587.33,100);
delay(100);
tone(9,698.45,100);
delay(100);
tone(9,659.25,100);
delay(200);
tone(9,659.25,100);
delay(200);
tone(9,698.45,100);
delay(100);
tone(9,587.33,100);
delay(100);
tone(9,659.25,100);
delay(400);
tone(9,880,100);
delay(100);
tone(9,1046.50,100);
delay(100);
tone(9,1174.66,100);
delay(200);
tone(9,1174.66,100);
delay(200);
tone(9,1174.66,100);
delay(100);
tone(9,1318.51,100);
delay(100);
tone(9,1396.91,100);
delay(200);
tone(9,1396.91,100);
delay(200);
tone(9,1396.91,100);
delay(100);
tone(9,1567.98,100);
delay(100);
tone(9,1318.51,100);
delay(200);
tone(9,1318.51,100);
delay(200);
tone(9,1174.66,100);
delay(100);
tone(9,1046.50,100);
delay(100);
tone(9,1046.50,100);
delay(100);
tone(9,1174.66,100);
delay(300);
tone(9,880,100);
delay(100);
tone(9,1046.50,100);
delay(100);
tone(9,1174.66,100);
delay(200);
tone(9,1174.66,100);
delay(200);
tone(9,1174.66,100);
delay(100);
tone(9,1318.51,100);
delay(100);
tone(9,1396.91,100);
delay(200);
tone(9,1396.91,100);
delay(200);
tone(9,1396.91,100);
delay(100);
tone(9,1567.98,100);
delay(100);
tone(9,1318.51,100);
delay(200);
tone(9,1318.51,100);
delay(200);
tone(9,1174.66,100);
delay(100);
tone(9,1046.50,100);
delay(100);
tone(9,1174.66,100);
delay(400);
tone(9,880,100);
delay(100);
tone(9,1046.50,100);
delay(100);
tone(9,1174.66,100);
delay(200);
tone(9,1174.66,100);
delay(200);
tone(9,1174.66,100);
delay(100);
tone(9,1396.91,100);
delay(100);
tone(9,1567.98,100);
delay(200);
tone(9,1567.98,100);
delay(200);
tone(9,1567.98,100);
delay(100);
tone(9,1760,100);
delay(100);
tone(9,1864.66,100);
delay(200);
tone(9,1864.66,100);
delay(200);
tone(9,1760,100);
delay(100);
tone(9,1567.98,100);
delay(100);
tone(9,1760,100);
delay(100);
tone(9,1174.66,100);
delay(300);
tone(9,1174.66,100);
delay(100);
tone(9,1318.51,100);
delay(100);
tone(9,1396.91,100);
delay(200);
tone(9,1396.91,100);
delay(200);
tone(9,1567.98,100);
delay(200);
tone(9,1760,100);
delay(100);
tone(9,1174.66,100);
delay(300);
tone(9,1174.66,100);
delay(100);
tone(9,1396.91,100);
delay(100);
tone(9,1318.51,100);
delay(200);
tone(9,1318.51,100);
delay(200);
tone(9,1174.66,100);
delay(100);
tone(9,1108.73,100);
delay(100);
tone(9,1174.66,100);
delay(200);
tone(9,1174.66,100);
delay(200);
tone(9,1318.51,100);
delay(200);
tone(9,1396.91,100);
delay(200);
tone(9,1396.91,100);
delay(100);
tone(9,1396.91,100);
delay(100);
tone(9,1567.98,100);
delay(200);
tone(9,1760,300);
delay(400);
tone(9,1396.91,100);
delay(100);
tone(9,1174.66,100);
delay(100);
tone(9,880,300);
delay(600);
tone(9,1864.66,300);
delay(400);
tone(9,1396.91,100);
delay(100);
tone(9,1174.66,100);
delay(100);
tone(9,932.33,300);
delay(600);
tone(9,587.33,100);
delay(100);
tone(9,440,100);
delay(200);
tone(9,587.33,100);
delay(300);
tone(9,554.36,100);
delay(400);
tone(9,1567.98,100);
delay(100);
tone(9,1567.98,100);
delay(100);
MARIO BROSS
void setup() {
}
// funcion = tone(pin, frequency, duration)
void loop() {
//NOTA 02
noTone(9);
//NOTA 04
noTone(9);
//NOTA 06
noTone(9);
//NOTA 08
noTone(9);
//NOTA 10
noTone(9);
//NOTA 12
noTone(9);
//NOTA 15
noTone(9);
//
//NOTA 17
noTone(9);
//
//NOTA 18
noTone(9);
//NOTA 19
noTone(9);
//NOTA 22
noTone(9);
//NOTA 24
noTone(9);
//NOTA 26
noTone(9);
//NOTA 29
noTone(9);
//NOTA 31
noTone(9);
//NOTA 33
noTone(9);
tone(9,860,100);
delay(75);
noTone(9);
tone(9,700,80);
delay(150);
tone(9,760,50);
delay(75);
noTone(9);
tone(9,660,80);
delay(175);
noTone(9);
tone(9,520,80);
delay(150);
noTone(9);
tone(9,580,80);
delay(75);
noTone(9);
tone(9,480,80);
delay(75);
noTone(9);
tone(9,500,100);
delay(250);
noTone(9);
tone(9,760,100);
delay(150);
noTone(9);
tone(9,720,100);
delay(50);
noTone(9);
tone(9,680,100);
delay(75);
noTone(9);
tone(9,620,150);
delay(75);
noTone(9);
tone(9,650,150);
delay(150);
noTone(9);
tone(9,380,100);
delay(150);
noTone(9);
tone(9,430,100);
delay(75);
noTone(9);
tone(9,500,100);
delay(75);
noTone(9);
tone(9,430,100);
delay(150);
noTone(9);
tone(9,500,100);
delay(75);
noTone(9);
delay(50);tone(9,570,100);
delay(110);tone(9,500,100);
delay(150);tone(9,760,100);
delay(50);tone(9,720,100);
delay(75);tone(9,680,100);
delay(75);tone(9,620,150);
delay(150);tone(9,650,200);
delay(150);tone(9,1020,80);
delay(150);tone(9,1020,80);
delay(75);tone(9,1020,80);
delay(150);tone(9,380,100);
delay(150);tone(9,500,100);
delay(150);tone(9,760,100);
delay(50);tone(9,720,100);
delay(75);tone(9,680,100);
delay(75);tone(9,620,150);
delay(150);tone(9,650,150);
delay(150);tone(9,380,100);
delay(75);tone(9,430,100);
delay(75);tone(9,500,100);
delay(150);tone(9,430,100);
delay(75);tone(9,500,100);
delay(50);tone(9,570,100);
delay(110);tone(9,500,100);
delay(150);tone(9,760,100);
delay(50);tone(9,720,100);
delay(75);tone(9,680,100);
delay(75);tone(9,620,150);
delay(150);tone(9,650,200);
delay(150);tone(9,1020,80);
delay(150);tone(9,1020,80);
delay(75);tone(9,1020,80);
delay(150);tone(9,380,100);
delay(150);tone(9,500,100);
delay(150);tone(9,760,100);
delay(50);tone(9,720,100);
delay(75);tone(9,680,100);
delay(75);tone(9,620,150);
delay(150);tone(9,650,150);
delay(150);tone(9,380,100);
delay(75);tone(9,430,100);
delay(75);tone(9,500,100);
delay(150);tone(9,430,100);
delay(75);tone(9,500,100);
delay(50);tone(9,570,100);
delay(210);tone(9,585,100);
delay(275);tone(9,550,100);
delay(210);tone(9,500,100);
delay(180);tone(9,380,100);
delay(150);tone(9,500,100);
delay(150);tone(9,500,100);
delay(75);tone(9,500,100);
delay(150);tone(9,500,60);
delay(75);tone(9,500,80);
delay(150);tone(9,500,60);
delay(175);tone(9,500,80);
delay(75);tone(9,580,80);
delay(175);tone(9,660,80);
delay(75);tone(9,500,80);
delay(150);tone(9,430,80);
delay(75);tone(9,380,80);
delay(300);tone(9,500,60);
delay(75);tone(9,500,80);
delay(150);tone(9,500,60);
delay(175);tone(9,500,80);
delay(75);tone(9,580,80);
delay(75);tone(9,660,80);
delay(225);tone(9,870,80);
delay(162);tone(9,760,80);
delay(300);tone(9,500,60);
delay(75);tone(9,500,80);
delay(150);tone(9,500,60);
delay(175);tone(9,500,80);
delay(75);tone(9,580,80);
delay(175);tone(9,660,80);
delay(75);tone(9,500,80);
delay(150);tone(9,430,80);
delay(75);tone(9,380,80);
delay(300);tone(9,660,100);
delay(75);tone(9,660,100);
delay(150);tone(9,660,100);
delay(150);tone(9,510,100);
delay(50);tone(9,660,100);
delay(150);tone(9,770,100);
delay(225);tone(9,380,100);
delay(1000);
tone(9,440,200);
delay(200);
delay(200);
tone(9,440,400);
delay(200);
delay(200);
delay(5000);
}
Es necesario utilizar una nueva librera NECIRrcv, debe ser incluida en el apartado de
Librerias del IDE.
Material:
- Arduino,
Cdigo
#include <Arduino.h>
#include <NECIRrcv.h>
#define IRPIN 8
NECIRrcv ir(IRPIN) ;
void setup()
{
Serial.begin(9600) ;
ir.begin() ;
void loop()
{
Serial.println(ircode) ;
Encendido/apagado de un LED
Para el mando que hemos utilizado (el que se muestra en la primera foto), la lectura del
ON/OFF se corresponde con el valor de 3125149440.
Cdigo
#include <Arduino.h>
#include <NECIRrcv.h>
#define IRPIN 8
int led = 7;
NECIRrcv ir(IRPIN) ;
void setup()
{
pinMode(led, OUTPUT);
ir.begin() ;
}
void loop()
{
if(ircode == 3125149440){
if(aux == 0){
digitalWrite(led, LOW);
aux = 1;
else{
digitalWrite(led, HIGH);
}
}
aux = 0;
Material:
- Led RGB
- Sensor de infrarrojos + mando compatible
- 4 resistencias 220 (una para cada color del led RGB y otra para el sensor de infrarrojos)
- Protoboard
- Cables
Cdigo:
#include <WProgram.h>
#include <NECIRrcv.h> //Libreria del protocolo NEC
#define IRPIN 8 // Pin del receptor IR
NECIRrcv ir(IRPIN);
int rojo = 13; //Pin del color rojo del led RGB
int verde = 12; //Pin del color verde del led RGB
int azul = 11; //Pin del color azul del led RGB
void setup()
{
//Serial.begin(9600); //Iniciamos comunicacion serie
ir.begin(); //Iniciamos la recepcion IR
pinMode(rojo, OUTPUT);
pinMode(verde,OUTPUT);
pinMode(azul, OUTPUT);
}
void loop()
{
unsigned long ircode; //Variable que contendra el codigo decimal del boton pulsado
while (ir.available())
{
ircode = ir.read(); //Leemos el codigo del boton pulsado
if (ircode == power) //Si el boton de power... apagamos el led
{
digitalWrite(rojo, LOW);
digitalWrite(verde, LOW);
digitalWrite(azul, LOW);
}
else if (ircode == butrojo) digitalWrite(rojo,HIGH); //Si boton 1, encendemos color rojo
else if (ircode == butverde) digitalWrite(verde,HIGH); //Si boton 2, encendemos color verde
else if (ircode == butazul) digitalWrite(azul,HIGH); //Si boton 3, encendemos color azul
}
}
Para ello previamente habremos preparado la lampara para su conexin como muestra la
siguiente imagen:
#include <Arduino.h>
#include <NECIRrcv.h> // Descargar la librera de los tutoriales del control IR
#define IRPIN 13
int light = 8; // Definimos como luz, dnde antes estaba nuestro LED.
static int aux = 1;
NECIRrcv ir(IRPIN) ;
void setup()
{
pinMode(light, OUTPUT);
ir.begin() ;
}
void loop()
{
unsigned long ircode ;
while (ir.available()) {
ircode = ir.read() ;
// Establecemos qu tiene que pasar cuando el cdigo emitido coincida con el del ON.
if(ircode == 3125149440){
if(aux == 0){
digitalWrite(light, LOW);
aux = 1;
}
else{
digitalWrite(light, HIGH);
aux = 0;
}
}
}
}
Para controlar el LCD 2X16, he realizado la conexion de los pines de la siguiente manera ,para
el caso de un Arduino Uno R3 y un Arduino , usamos los pines 2 al 7 y VCC y GND de la
tarjeta Arduino:
Para el caso del modulo bluetooth, este se conecta de la siguiente manera, con los pines 0 y 1
del Arduino conectados al TX y RX del modulo Bluetooth y el modulo alimentado por VCC
(5V) y GND del Arduino.:
#include <LiquidCrystal.h>
void setup() {
Serial.begin(9600); //inicializamos la comunicacion serial
pinMode(ledPin, OUTPUT); //Se determina que el pin 13 va a ser usado como salida
lcd.begin(16, 2);
lcd.clear();
lcd.noAutoscroll();
lcd.print("Esperando SMS");
delay( 200 );
}
void loop() {
while (Serial.available()) { //Se verifica la disponibilidad del puero serial
delay(3);
// a traves de un loop
}
if (readString.length() >0) { //Se verifica que la variable contenga informacion
lcd.clear();
Serial.println(readString); //se envia lo que tenga la variable
lcd.print(readString);
if (readString == "On")
{
digitalWrite(ledPin, HIGH); //Si es "on" se enciende el led del pin 13
}
if (readString == "Off") // Se compara si la palabra que llega es "off"
{
digitalWrite(ledPin, LOW); //si es "off" se apaga el led del pin 13
}
readString=""; // Se limpia la variable
}
}
tarjeta Arduino, la corriente de la base del transistor varia, por lo cual la corriente que va desde
el emisor hacia el colector esta directamente controlada por el PWM y esto hace que
la velocidad del motor aumente o disminuya segn la corriente que pasa del emisor al colector
del transistor, ademas que protegemos en cierta medida la tarjeta Arduino. Este circuito por lo
general es usado para controlar motores, relays, lamparas pequeas , entre otros y el diodo
IN4007 protege el transistor de la contracorriente.
Material
int outputValue = 0;
String readString;
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}
void loop() {
while (Serial.available()) { //Se verifica la disponibilidad del puero serial
delay(3);
// a traves de un loop
Sensor de Parking
Con esta prctica vamos a desarrollar un sistema de ayuda al estacionamiento, donde mediante
un sensor de distancia por ultrasonidos vamos a emitir un pitido con mayor frecuencia conforme
nos acercamos al objeto.
En el datasheet del sensor podemos ver que la distancia medida es proporcional a la amplitud
del eco de la seal enviada, y para calcular dicha distancia, nos remitimos a la formula
Distancia = Velocidad x Tiempo.
Material
Cdigo
int speakerPin = 8;
long distancia;
long tiempo;
int j;
void setup(){
Serial.begin(9600);
pinMode(6, OUTPUT); /*activacin del pin 9 como salida: para el pulso ultrasnico*/
pinMode(7, INPUT); /*activacin del pin 8 como entrada: tiempo del rebote del ultrasonido*/
}
void loop(){
digitalWrite(6,LOW); /* Por cuestin de estabilizacin del sensor*/
delayMicroseconds(5);
digitalWrite(6, HIGH); /* envo del pulso ultrasnico*/
delayMicroseconds(10);
tiempo=pulseIn(7, HIGH); /* Funcin para medir la longitud del pulso entrante. Mide el
tiempo que transcurrido entre el envo
rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
deja de
delay(100);
}
else
{
noTone(speakerPin);
}
}
Una vez tengamos conectados los 2 mdulos a cada uno de los Arduinos que queremos conectar
podemos probar con este ejemplo de un chat muy sencillo. Descargamos la librera Mirf de la
web
de
Arduino.cc Descargar
Mirf.zip (URL
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
char *cadena;
alternativa Descargar
Mirf.zip)
la
Mirf.spi = &MirfHardwareSpi;
// inicio de la emision
Mirf.init();
// seleccionamos el canal
Mirf.channel = 90;
Mirf.config();
// 1MHz
Mirf.configRegister(RF_SETUP,0x06);
// Seleccionamos direccin
Mirf.setTADDR((byte *)"TX_01");
Serial.begin(57600);
}
Serial.println("Iniciando ...");
// enviar cadena
void transmit(const char *string)
{
byte c;
Mirf.send(&c);
}
}
while( Mirf.isSending() ) ;
byte c;
c = '\r';
Mirf.send(&c);
while( Mirf.isSending() ) ;
c = '\n';
Mirf.send(&c);
while( Mirf.isSending() ) ;
}
//Evento de recepcion de caracteres desde el PC
void serialEvent() {
inputstring += inchar;
void loop()
{
inputstring.toCharArray(cadena, 10);
transmit(cadena);
transmitlf();
Serial.print("Yo-> ");
Serial.println(inputstring);
input_stringcomplete = false;
}
inputstring = "";
// Esperando recepcin
byte c;
if( Mirf.dataReady() )
Mirf.getData(&c);
}
}
Serial.write(c);