jueves, 16 de mayo de 2019

LABORATORIO NRO 11



                    Programacion con arduino.

Competencia especifica de la sesion


  • programar en la tarjeta del arduino
  • cononocer el entorno del arduino uno.
contenido ha tratar.
  • entorno y tarjeta de arduino uno.
  • entorno de programcion basica utilizando el sotfwrare mencionado.
materiales y equipos
  • tarjeta de arduino uno.
  • pc con sotfware de simulacion.
  • tres led.
  • potenciometro.
  • cables y resistencias
marco teorico .

arduino
Arduino es una plataforma de creación de electrónica de código abierto, la cual está basada en hardware y software libre, flexible y fácil de utilizar para los creadores y desarrolladores.Arduino es una placa basada en un microcontrolador ATMEL. Los microcontroladores son circuitos integrados en los que se pueden grabar instrucciones, las cuales las escribes con el lenguaje de programación que puedes utilizar en el entorno Arduino IDE. Estas instrucciones permiten crear programas que interactúan con los circuitos de la placa.

El microcontrolador de Arduino posee lo que se llama una interfaz de entrada, que es una conexión en la que podemos conectar en la placa diferentes tipos de periféricos. La información de estos periféricos que conectes se trasladará al microcontrolador, el cual se encargará de procesar los datos que le lleguen a través de ellos.

El tipo de periféricos que puedas utilizar para enviar datos al microcontrolador depende en gran medida de qué uso le estés pensando dar. Pueden ser cámaras para obtener imágenes, teclados para introducir datos, o diferentes tipos de sensores.

También cuenta con una interfaz de salida, que es la que se encarga de llevar la información que se ha procesado en el Arduino a otros periféricos. Estos periféricos pueden ser pantallas o altavoces en los que reproducir los datos procesados, pero también pueden ser otras placas o controladores.



arduino uno y sus partes 


entradas pwm con arduino 

el PWM y su uso en Arduino y en electrónica en general. PWM significa modulación por ancho de pulso y es una técnica para transferir información o energía a un dispositivo con una señal cuadrada. La señal esta compuesta por un valor alto y un valor bajo, en nuestro caso 5 y 0 voltios respectivamente. 

La frecuencia de la señal PWM en la mayoría de los pines es de aproximadamente 490 Hz. En los tableros Uno y similares, los pines 5 y 6 tienen una frecuencia de aproximadamente 980 Hz. Los pines 3 y 11 en el Leonardo también funcionan a 980 Hz.

En la mayoría de las placas Arduino (aquellas con el ATmega168 o ATmega328 ), esta función funciona en los pines 3, 5, 6, 9, 10 y 11. En el Arduino Mega, funciona en los pines 2 - 13 y 44 - 46. Arduino más antiguo Las placas con un ATmega8 solo admiten analogWrite () en los pines 9, 10 y 11.

Se puede usar para encender un LED a diferentes niveles de brillo o para conducir un motor a varias velocidades.



potenciometro.

Un potenciómetro es uno de los dos usos que posee la resistencia o resistor variable mecánica  El usuario al manipularlo, obtiene entre el terminal central (cursor) y uno de los extremos una fracción de la diferencia de potencial total, se comporta como un divisor de tensión o voltaje.

conexion del potenciometro al arduino.




evidencia de la tarea en el laboratorio

en este presente laboratorio se planteo el siguente ejercicio :
se tiene un potenciometro que ha medida que giramos nos tiene que prender cuatro led diferentes ,estos leds tenian que varias su intensidad o brillo y al mismo tiempo esta encendido los cuatro.

codigo en el arduino .





const int led2=10;
const int led3=9;
const int led4=6;

const int sensor1=A0;
int valorsensor=0;
int valores=0;
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:
valorsensor=analogRead(sensor1);
valores=map(valorsensor, 0, 1023, 1, 4);

switch (valores)
{
  case 1:
  Serial.println("20%");
  analogWrite(led1, 13);
  analogWrite(led2, 0);
  analogWrite(led3, 0);
  analogWrite(led4, 0);
  break;
   case 2:
  Serial.println("40%");
  analogWrite(led1, 13);
  analogWrite(led2, 77);
  analogWrite(led3, 0);
  analogWrite(led4, 0);
  break;
   case 3:
  Serial.println("70%");
  analogWrite(led1, 13);
  analogWrite(led2, 77);
  analogWrite(led3, 179);
  analogWrite(led4, 0);
  break;
 case 4:
  Serial.println("90%");
  analogWrite(led1, 13);
  analogWrite(led2, 77);
  analogWrite(led3, 179);
  analogWrite(led4, 255);
  break;
}
delay(10);

}

armado de nuestro proyecto en protoboard



encendido de nuestro led 1 a un brillo o intensidad de 20%.


encendido de nuestro led 2 a un brillo o intensidad de 40 %.


encendido de nuestro led 3 a un brllo o intensidad de 70%.



encendido de nuestro leds  4 a un brllo o intensidad de 90%.



encendidido de los cuatro leds con sus recpectivo intensidad o brillo



funcionamiento de nuestro problema 

https://www.youtube.com/watch?v=VHdBtYiKK2g



observaciones .

  • observamos que para hacer la declaracion de un variable se tenia que comenzar con un letra mayuscula al inicio .
  • observamos que nostros al poner Serial.println en la programcion  esto lo va leer en el monitor serie de forma vertical .
  • se observo que para hacer la conexion del potenciometro con el arduino se tuvo que recurir a las paginas de internet.

conclusiones

  • se concluyo que las entradas de tipo pwm son  de  modulación por ancho de pulso y es una técnica para transferir información o energía a un dispositivo con una señal cuadrada.
  • concluiomos que en el presente laboratorio se tuvo que utilizar puerto anlogico y entradas pwm para poder ver la diferencia de la intensidad de los led
  • conluioms que el comando de ayuda de arduino no da ha conocer mejor las funciones que usamos en la programacion.


foto


bibliografia y pagina web recomendado



  • Marin, Francisco (2007) Diseño basado en microcontroladores . Malaga : Universidad de          Malaga(004.16/M26D)
  •  Pereira; Fabio (2007) Microcontroladores PIC.Sao Paulo:s.n.(005.13/P43)


LARORATORIO NRO 10



                                                          programacion con arduino 


competencia especifica de la sesion .

  • programar en la tarjeta de arduino.
  • conocer el entorno del arduino uno.
contenido ha tratar
  • entorno y tarjeta de arduino.
  • entorno de programcion del software mencionado.
materiles y equipos.
  • tarjeta de arduino uno.
  • pc con software de simulacion.
  • pulsadores
  • cables bananos.
marco teorico 



arduino

Arduino es una plataforma de creación de electrónica de código abierto, la cual está basada en hardware y software libre, flexible y fácil de utilizar para los creadores y desarrolladores.Arduino es una placa basada en un microcontrolador ATMEL. Los microcontroladores son circuitos integrados en los que se pueden grabar instrucciones, las cuales las escribes con el lenguaje de programación que puedes utilizar en el entorno Arduino IDE. Estas instrucciones permiten crear programas que interactúan con los circuitos de la placa.

El microcontrolador de Arduino posee lo que se llama una interfaz de entrada, que es una conexión en la que podemos conectar en la placa diferentes tipos de periféricos. La información de estos periféricos que conectes se trasladará al microcontrolador, el cual se encargará de procesar los datos que le lleguen a través de ellos.

El tipo de periféricos que puedas utilizar para enviar datos al microcontrolador depende en gran medida de qué uso le estés pensando dar. Pueden ser cámaras para obtener imágenes, teclados para introducir datos, o diferentes tipos de sensores.

También cuenta con una interfaz de salida, que es la que se encarga de llevar la información que se ha procesado en el Arduino a otros periféricos. Estos periféricos pueden ser pantallas o altavoces en los que reproducir los datos procesados, pero también pueden ser otras placas o controladores.





arduino uno y sus partes .



 los pulsadores.

unpulsador es un operador electrico que, cuando se oprime ,permite el paso de la corriente electrica y, cuando se deja oprimir ,lo interrupe

conexion del pulsador al arduino 







evidencia de la tarea en el laboratorio .

problema plantaeado

Se dispone de una pantalla. Elaborar un programa que INCREMENTE un número en 150 unidades cada vez que se presione un pulsador y DECREMENTE dicho número en 25 unidades cada vez que se presione otro pulsador.
Si el valor del número supera 1000 unidades, mostrar en la pantalla en la primera línea: “FULL”. Si el valor llega a ser menor o igual a 10, mostrar “VALOR MINIMO”. En ambos casos el valor del número no debe incrementarse ni decrementarse.

nuestro programa en arduino 





int contador = 100;

void setup (){
  pinMode (2, INPUT);
  pinMode (3, INPUT);
  Serial.begin(9600);
}

void loop (){
  if( digitalRead(2) == HIGH)
  {
    contador = contador + 150 ;
    Serial.println(contador) ;
    delay(200);
  }
  if(digitalRead(3) ==HIGH)
  {
    contador = contador - 25 ;
    Serial.println(contador) ;
    delay(200);
  }
  if( contador >= 1000)
  {
    Serial.println("FULL");
    delay(200);
  }
  if( contador < 10)
  {
    Serial.println("VALOR MINIMO");
    delay(200); 
  }
}


armado de nuestro circuito en protoboard



el pulsador que esta conectado al pin numero 3 en el arduino




cuando pulsamos esta disminuye en 25 unidades  de nuestro valor inicial.como podemos ver en la imagen .


cuando el numero sea menor que diez debe aparecer la palabra valor minimo en el monitor serie.





el pulsador que esta conectado al pin numero 2 en el arduino







cuando pulsamos estadebe aumentar en 150 unidades  de nuestro valor inicial.como podemos ver en la imagen .


cuando el numero sea mayor o igual que mil debe aparecer la palabra full en nuestro monitor serie.




funcionamiento de nuestro problema 






observaciones 
  • observamos que para poder hacer la comunicación con la plata de arduino se tuvo que conectar aun puerto serial de la pc para hacer la intercomunicación.
  • observamos que para poder mandar un mensaje como ejemplo FULL  para que lea el monitor serie como mensaje este se tiene que poner entra comillas en la programación.
  • observamos que al final de cada reglon teniamos que poner un punto y coma para que no hayga errores en la compilacion.
conclusiones 
  • concluimos la diferencia que existe entre void loop y void setup para poder hacer bien nuestra programacion en arduino.
  • concluimos que el uso del arduino nosotros podernos hacer muchas proyectos didacticos y con lenguaje de programacion facil de entender.
  • se concluyo con exito el problema planteado por el docentey para  sabes si nuestro programa esta bien o mal primero se tuvo compilar..


foto


bibliografia y pagina web recomendada
  • Marin, Francisco (2007) Diseño basado en microcontroladores . Malaga : Universidad de          Malaga(004.16/M26D)
  • Pereira; Fabio (2007) Microcontroladores PIC.Sao Paulo:s.n.(005.13/P43)


LABORATORIO NRO 9



                            Programacion de arduino utilizando Mblock.


competencia especifica de la sesión.

  • Programar la tarjeta ARDUINO UNO utilizando un lenguaje gráfico y comparar con lenguaje de texto.
  • Conocer el entorno de mBlock y todas sus posibilidades.
  • Realizar programación básica utilizando software mencionado.
contenido a tratar
  • entorno y tarjeta de arduino uno.
  • entorno de programacion basica utlizando software mencionado.
materiales y equipos 
  • tarjeta arduino
  • pc de sotfwarea de simulacion 
  • componentes y accesorios 
marco teorico .

 mBlock y IDE Arduino:

mBlock  es un entorno gráfico de programación basado en el editor Scratch 2.0 para que escuelas y centros de formación pueda introducir la robótica de forma sencilla y enseñar a programar robots basados en Arduino.

La interfaz es muy amigable e intuitiva. Usa bloques previamente definidos para programar, también podrás sacarle todo el partido con el entorno de Arduino.
Permite programar tus robots de forma inalámbrica mediante tecnología bluetooth o 2.4G
Te permite traducir los bloques de Scratch a código fuente de Arduino
Puedes probar en tiempo real el programa que relices en Scratch sin necesidad de grabarlo en la placa.




arduino.

Arduino es una plataforma de creación de electrónica de código abierto, la cual está basada en hardware y software libre, flexible y fácil de utilizar para los creadores y desarrolladores.Arduino es una placa basada en un microcontrolador ATMEL. Los microcontroladores son circuitos integrados en los que se pueden grabar instrucciones, las cuales las escribes con el lenguaje de programación que puedes utilizar en el entorno Arduino IDE. Estas instrucciones permiten crear programas que interactúan con los circuitos de la placa.

El microcontrolador de Arduino posee lo que se llama una interfaz de entrada, que es una conexión en la que podemos conectar en la placa diferentes tipos de periféricos. La información de estos periféricos que conectes se trasladará al microcontrolador, el cual se encargará de procesar los datos que le lleguen a través de ellos.

El tipo de periféricos que puedas utilizar para enviar datos al microcontrolador depende en gran medida de qué uso le estés pensando dar. Pueden ser cámaras para obtener imágenes, teclados para introducir datos, o diferentes tipos de sensores.

También cuenta con una interfaz de salida, que es la que se encarga de llevar la información que se ha procesado en el Arduino a otros periféricos. Estos periféricos pueden ser pantallas o altavoces en los que reproducir los datos procesados, pero también pueden ser otras placas o controladores.




arduino y sus partes.




evidencia de la tarea en el laboratorio 

conexion del arduino al mBlock

lo primero que hay que hacer seleccionar la placa de vamos ha utilizar

segundo paso y conectar arduino al puerto de ubs y establecer conexión mediante puerto serie


tercer paso verificar que debe aparecer el punto verde en la seccion robots del Mblock.


cuarto paso seria actulizar firmware para poder trabajar mbloc y arduino


codigo del semaforo en Mblock


codigo del semaforo en el arduino

#include <Wire.h>
#include <SoftwareSerial.h>

double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;

void setup(){
    pinMode(13,OUTPUT);
    pinMode(12,OUTPUT);
    pinMode(11,OUTPUT);
}

void loop(){
    digitalWrite(13,1);
    digitalWrite(12,0);
    digitalWrite(11,0);
    _delay(2);
    digitalWrite(13,0);
    digitalWrite(12,1);
    digitalWrite(11,0);
    _delay(1);
    digitalWrite(13,0);
    digitalWrite(12,0);
    digitalWrite(11,1);
    _delay(2);
    _loop();
}

void _delay(float seconds){
    long endTime = millis() + seconds * 1000;
    while(millis() < endTime)_loop();
}

void _loop(){
}

armado del semaforo en el protoboard


encendito del led rojo del semaforo



encendito del led ambar del semaforo.




encendido del led verde del semaforo.


funcionamiento de nuestro semaforo






observaciones 


  •   se observo que el programa mblock es buenos para hacer programas en forma didactica y asi poder comprer mucho mejor.
  •  observamos que para hacer la intercomunicación del arduino y el mblock teniamos que ponerlo en el mismo puerto serial .
  •  se observo que la programcion en mblock es diferente porque teniamos que cambiar o quitar  algunas cosas para el arduino.
conclusiones 
  •  concluimos con exito el problema palnteado por el docente y hemos hecho la comunicacion exitosamente entre el arduino y mblock.
  • concluioms que al  momento de programar en mblock teniamos que conocer su entorno para asi poder logra mas facil la programacion.
foto




bibliografia y paginas web recomendado

  •   Marin, Francisco (2007) Diseño basado en microcontroladores . Malaga : Universidad de          Malaga(004.16/M26D)
  •  Pereira; Fabio (2007) Microcontroladores PIC.Sao Paulo:s.n.(005.13/P43)