ARDUINO M1 CLASE 2

CLASE 2


PROGRAMACIÓN GRÁFICA

¿QUÉ ES LENGUAJE DE PROGRAMACIÓN GRÁFICA?
En la programación del lenguaje visual, la interfaz gráfica se perfila como uno de los elementos más trascendentales, ya que de éste dependerá el resultado final que obtendrá cada proyecto. Es por ello que para muchos programadores la interfaz gráfica puede considerarse como un artefacto tecnológico que posibilita la representación visual e interactiva de las funciones programadas en el sistema informático.

ALGUNOS LENGUAJES DE PROGRAMACIÓN GRÁFICA

                       JAVA                               VISUAL BASIC 6.0
                            
                         
                        PyQt4                                  LABVIEW




                  App Inventor 2                                  Scratch S4A




SCRATCH S4A

El conocimiento de la programación esta comenzando a formar parte de las competencias necesarias en la educación básica, no con la intención de todos se conviertan en programadores, sino para que conozcan los rudimentos de una disciplina que es clave para comprender el mundo en el que van a vivir.


Scratch for Arduino - S4A


Scratch for Arduino S4A es un entorno sencillo y divertido para los alumnos mas jóvenes, que les inicia en ese camino y les introduce a los conceptos inherentes a la programación estructurada de un modo que parece un juego, pero con muchas mas profundidad de lo que a primera vista se percibe. En el siguiente link podrán seguir el curso de Scratch para Arduino Curso Scratch-Arduino.

Para que el Arduino se comunique con el programa Scratch:
1) Instalamos Scrath4Arduino para Windows descargando del aquí: S4A.
2) Debemos cargar en el Arduino el programa que se encuentra en el siguiente link: Arduino-Scracth.ino.
3) Conectamos el Arduino a la PC.

4) Abrimos Scratch e Iniciaremos nuestra aplicación
EJERCICIO SCRATCH Y ARDUINO


En el siguiente ejercicio vamos realizar un ejemplo básico donde aplicaremos todas las funciones de Arduino como son entradas y salidas digitales, entradas y salidas análogas usando el programa scratch, para ello usaremos lo siguiente:

MATERIALES:
1) Una placa de Arduino
2) Un protoboard
3) 2 Pulsadores
4) 2 Resistencias de 1k ohm
5) 3 leds
6) 4 Resistencias de 330 ohm
7) 1 transistor 2n3904
8) 1 Relé de 5V
9) 1 Potenciómetro de 2K ohm
10) 1 Foco de 120 V
11) Cables de arduino

En la primera parte del ejercicio encenderemos y apagaremos un led por medio de scratch.

Programación en bloques en objeto arduino


En la segunda parte encenderemos y apagaremos un foco de 120 V con ayuda de una resietncia de 330, un transistor y un  relé de 5V usando Scratch y Arduino.
Programación en bloques en el objeto arduino




la siguiente parte del ejercicio vamos a mover un murciélago por medio de 2 pulsadores, también crearemos una variable "m" que servirá para saber en que estado se encuentran los pulsadores.

Programación Bloques en el objeto Arduino

Programación de bloques en el objeto murciélago




En la siguiente parte vamos a crear dos pulsadores virtuales dentro de la interfaz de Scratch, donde vamos a aumentar y disminuir el tamaño de un cangrejo y a su vez controlaremos la intensidad de luz de un led usando el PWM de Arduino, también crearemos una variable "i" que servirá como incrementos o decrementos tanto para el tamaño del cangrejo e intensidad de luz del Led, y también haremos uso de la variable "m" para saber el estado de los pulsadores virtuales.


Programación de bloques del Arduino

   Programación de bloques del cangrejo

   Programación de bloques de los pulsadores 1 y 2




   Finalmente moveremos un gato a lo largo del eje x por medio de ,    un potenciómetro usando las entradas análogas del Arduino,            también crearemos una variable "s" donde calcularemos la              posición en eje x del gato usando con entrada el valor análogo del    potenciómetro. 

   Programación de bloques de Arduino


   Programación de bloques del gato



COMUNICACIÓN BLUETOOTH ARDUINO-ANDROID

En este ejercicio vamos realizar una aplicación en App Inventor 2 que se instalará en un celular que contenga el sistema operativo Android con el cual controlaremos las funciones de una tarjeta Arduino usando comunicación Bluetooth.
Materiales:
1) Una tarjeta Arduino
2) 1 Módulo Bluetooth HC-06 ó HC-05
3) 5 Leds
4) 5 Resistencias de 330 ohm
5) 1 Sensor LM35Z
6) 1 Protoboard
7) Cables de araduino

Para iniciar crearemos la aplicación en App Inventor 2 

1) Para hacer las aplicaciones Android se necesita crear una cuenta ingresando al siguiente Link: App Inventor 2

2) Una vez creada la cuenta, nos vamos a Proyectos y pulsamos en "Comenzar un proyecto nuevo"

Nota: Si eres nuevo en aplicaciones Android te recomiendo que ingreses a los siguientes links: link1, link2.

3) Luego ingresaremos al entorno de trabajo de App Inventor 2 donde se divide en 2 sub-entornos  los cuales son el de Diseñador y Bloques


4) Empezamos a diseñar la aplicación haciendo uso de las herramientas que tenemos en la secciones: paleta, visor, componentes, propiedades, para este ejercicio vamos a echar un vistazo de como se estructuró el diseño, en la parte superior pondremos un Campo de Texto donde se mostrará el valor del sensor de temperatura LM35Z que mandará el Arduino por medio de comunicación Bluetooth; después pondremos un botón llamado "enviar" que se encargará de enviar el código que ingresemos  en el segundo Campo de Texto hacia el Arduino, dicho código si es correcto encenderá un led, luego pondremos 3 botones para encender 3 leds respectivamente, si enviamos la palabra "apagar" en el segundo Campo de Texto se apagarán los 3 leds; después ingresaremos un deslizador que se encargará de variar el PWM de un led, y finamente en la parte inferior pondremos un selector de lista para desplegar todos los dispositivos vinculados al módulo Bluetooth que servirá para conectarse con la aplicación y un botón para desconectar.



Programación en bloques



Nota: el Clock 1 tendrá una temporización de 100 ms y el Clock2 tendrá un temporización de 1000ms de tal forma que tendrá una comunicación asíncrona para no perder los datos de transmisión y recepción.

Descarga la aplicación: JCTECNOLOGIAS.Apk


Programa de Arduino

int Led[]={8,10,11,12,9};
int i=0;
String estado = ""
int valor=0;
int pwmled=0;

void setup() {
  // Sets the four pins as Outputs
  for(i=0;i<4;i++)  pinMode(Led[i],OUTPUT);
  
  Serial.begin(9600); // Default communication rate of PC
  
}
void loop() {
  delayMicroseconds(1);
  if(Serial.available() > 0){ // Checks whether data is comming from the serial port
    estado = Serial.readString(); // Reads the data from the serial port
  }
  
  valor = analogRead(A0);
  valor = ((valor*5*100)/1023); //Conversión de un sensor LM35
  Serial.println(valor);
  delay(1000);
  
 if (estado=="a"){
   delay(10);
   digitalWrite(Led[0],HIGH);
   delay(10);
   estado="";
 }

 if (estado=="b"){
   delay(10);
   digitalWrite(Led[1],HIGH);
   delay(10);
   estado="";
 }

 if (estado=="c"){
   delay(10);
   digitalWrite(Led[2],HIGH);
   delay(10);
   estado="";
 }

 if (estado=="jctecnologias"){
   delay(10);
   digitalWrite(Led[3],HIGH);
   delay(10);
   estado="";
 }

 if (estado=="apagar"){
   delay(10);
   for(i=0;i<4;i++) digitalWrite(Led[i],LOW);
   delay(10);
   estado="";
 }

 pwmled=estado.toInt();
 analogWrite(Led[4],pwmled);

}

Diagrama electrónico






0 comentarios:

Copyright © 2013 JCTECNOLOGIAS and Blogger Themes.