Mostrando las entradas con la etiqueta comunicación. Mostrar todas las entradas
Mostrando las entradas con la etiqueta comunicación. Mostrar todas las entradas

viernes, 7 de agosto de 2015

Proyecto: integración de módulos (1)

Hoy les quiero mostrar un proyecto en el que llevo trabajando un poco más de 6 meses y sigo ampliándolo casi todos los días.


Se trata de un "dispositivo" a falta de un mejor nombre, que consta de un arduino MEGA 2560, la pantalla de mcufriend (hablé anteriormente en esta otra entrada), el transceptor NRF24L01 y el sensor de temperatura y humedad DTH11.








El proyecto lo realicé porque quería ver cuantas cosas podía integrar en un solo arduino, y como los arduino UNONANO y LEONARDO tenían pocos pines I/O decidí pasar al MEGA, con el cual puedo disponer de 53 pines I/O y 15 entradas analógicas. El sistema cuenta con: una comunicación con otro dispositivo (las direcciones todavía no se pueden cambiar) llamado "serv1", un reloj configurable, una linterna en pantalla y sensor de temperatura y humedad. A futuro estoy pensando en agregar un control remoto de domótica y un "generador de ondas" que serviría para generar señales cuadradas con ciertos patrones o frecuencias.






De momento el dispositivo solo puede establecer comunicación inalámbrica con la computadora (por puerto serie) con un arduino NANO y un tranceptor como interfaz (para recibir estoy usando el programa del chat que está en esta otra entrada), pero estoy seguro que si se obtiene el mismo equipo y realizando cambios mínimos (como la dirección de recepción y la dirección de emisión) se debería poder tener ambos equipos con una comunicación entre ellos.


En algunos días, subiré el programa y las librerías. Cuando yo considere que está terminado, voy a crear una página dedicada al proyecto completo para que se pueda ver sin tener que buscar viejas entradas.

domingo, 26 de julio de 2015

Comunicación serie

Acá les dejo un pequeño programa para hacer una comunicación serie en la cual se reciben datos por el puerto serie y se devuelven los mismos datos, de esta forma se pueden mandar datos al arduino por esta vía, este programa va a servir para el que voy a subir dentro de un rato.


char hola[33];
int primero = 0, i = 0, cantidad = 0;
void setup() {
  Serial.begin(9600);
}

void loop() {
  if (primero == 0)
  {
    Serial.println("ahora puede empezar a escribir");
    primero = 1;
  }
  while (Serial.available()) 
  {
    hola[i] = Serial.read();
    i++;
    cantidad = 1;
    delay(3);
  }
  
  i = 0;
  if (cantidad > 0)
  {
    for (int i = 0; i < 33; i = i + 1) 
    {
      Serial.print(hola[i]);
      hola[i] = 32;
    }
    Serial.println(" ");
    cantidad = 0;
  }
}