jueves, 29 de noviembre de 2018

LABORATORIO 14

PROGRAMACIÓN DEL CARRITO COMO EVASOR DE OBSTÁCULOS

CÓDIGO FUENTE

int Echo = A4;  
int Trig = A5; 
int in1 = 9;
int in2 = 8;
int in3 = 7;
int in4 = 6;
int ENA = 10;
int ENB = 5;
int ABS = 130;
int rightDistance = 0,leftDistance = 0,middleDistance = 0;
void Up()
{
 analogWrite(ENA,ABS);
 analogWrite(ENB,ABS);
 digitalWrite(in1,LOW);
 digitalWrite(in2,HIGH);
 digitalWrite(in3,LOW);
 digitalWrite(in4,HIGH);
}

void Down()
{
 analogWrite(ENA,ABS);
 analogWrite(ENB,ABS);
 digitalWrite(in1,HIGH);
 digitalWrite(in2,LOW);
 digitalWrite(in3,HIGH);
 digitalWrite(in4,LOW);
}

void Izq()
{
 analogWrite(ENA,ABS);
 analogWrite(ENB,ABS);
 digitalWrite(in1,LOW);
 digitalWrite(in2,HIGH);
 digitalWrite(in3,HIGH);
 digitalWrite(in4,LOW);
}

void Der()
{
 analogWrite(ENA,ABS);
 analogWrite(ENB,ABS);
 digitalWrite(in1,HIGH);
 digitalWrite(in2,LOW);
 digitalWrite(in3,LOW);
 digitalWrite(in4,HIGH);
void Stop()
{
  digitalWrite(ENA,LOW);
  digitalWrite(ENB,LOW);
  Serial.println("Stop!");
 /*Ultrasonic distance measurement Sub function*/
int Distance_test()   
{
  digitalWrite(Trig, LOW);   
  delayMicroseconds(2);
  digitalWrite(Trig, HIGH);  
  delayMicroseconds(20);
  digitalWrite(Trig, LOW);   
  float Fdistance = pulseIn(Echo, HIGH);  
  Fdistance= Fdistance/58;       
  return (int)Fdistance;
}  

bool ang;

void setup() 
  ang=1;
  pinMode(Echo, INPUT);    
  pinMode(Trig, OUTPUT);  
  pinMode(in1,OUTPUT);
  pinMode(in2,OUTPUT);
  pinMode(in3,OUTPUT);
  pinMode(in4,OUTPUT);
  pinMode(ENA,OUTPUT);
  pinMode(ENB,OUTPUT);
  Stop();

void loop() 
{
  
  
    middleDistance = Distance_test();

    if(middleDistance<=25)
    {
      Stop();
      delay(500);
      if(ang){
        Der();
        delay(700);
      }
      else{
        Izq();
        delay(700);
      }
      ang = not ang;
      
    }  
    Up(); 
}

VIDEO DEMOSTRACIÓN


Laboratorio 13- Carrito

PROGRAMACIÓN DEL CARRITO ARDUINO

CÓDIGO FUENTE

/*define logic control output pin*/
int in1=9;
int in2=8;
int in3=7;
int in4=6;
/*define channel enable output pins*/
int ENA=10;
int ENB=5;
/*define forward function*/
void _mForward()
  digitalWrite(ENA,HIGH);
  digitalWrite(ENB,HIGH);
  digitalWrite(in1,LOW);//digital output
  digitalWrite(in2,HIGH);
  digitalWrite(in3,LOW);
  digitalWrite(in4,HIGH);
  Serial.println("Forward");
}
/*define back function*/
void _mBack()
{
  digitalWrite(ENA,HIGH);
  digitalWrite(ENB,HIGH);
  digitalWrite(in1,HIGH);
  digitalWrite(in2,LOW);
  digitalWrite(in3,HIGH);
  digitalWrite(in4,LOW);
  Serial.println("Back");
}
/*define left function*/
void _mleft()
{
  digitalWrite(ENA,HIGH);
  digitalWrite(ENB,HIGH);
  digitalWrite(in1,LOW);
  digitalWrite(in2,HIGH);
  digitalWrite(in3,HIGH);
  digitalWrite(in4,LOW);
  Serial.println("Left");
}
/*define right function*/
void _mright()
{
  digitalWrite(ENA,HIGH);
  digitalWrite(ENB,HIGH);
  digitalWrite(in1,HIGH);
  digitalWrite(in2,LOW);
  digitalWrite(in3,LOW);
  digitalWrite(in4,HIGH);
  Serial.println("Right");
}

void detener(){
  digitalWrite(ENA,HIGH);
  digitalWrite(ENB,HIGH);
  digitalWrite(in1,LOW);
  digitalWrite(in2,LOW);
  digitalWrite(in3,LOW);
  digitalWrite(in4,LOW);
  Serial.println("Detener");
  
}
/*put your setup code here, to run once*/
void setup() {
 Serial.begin(9600); //Open the serial port and set the baud rate to 9600
/*Set the defined pins to the output*/
  pinMode(in1,OUTPUT);
  pinMode(in2,OUTPUT);
  pinMode(in3,OUTPUT);
  pinMode(in4,OUTPUT);
  pinMode(ENA,OUTPUT);
  pinMode(ENB,OUTPUT);
}

void up(){
  _mForward();
  delay(500);
}
void der(){
  _mright();
  delay(300);
  detener();
  delay(200);
  _mForward();
  delay(500);
}

void izq(){
  _mleft();
  delay(300);
  detener();
  delay(200);
  _mForward();
  delay(500);
}
/*put your main code here, to run repeatedly*/
void loop() {


up();
der();
up();
izq();
izq();
izq();
up();
der();
detener();
while(true){}

}

VIDEO DEMOSTRACIÓN



jueves, 15 de noviembre de 2018

viernes, 9 de noviembre de 2018

Laboratorio N° 9

LABORATORIO N° 9

PROGRAMACIÓN DE ARDUINO CON MBLOCK


VIDEO DEMOSTRACIÓN


Luis Alonso Bayton Coaguila

Kristhyan Andree Kurt Lazarte Zubia



Marck Ascona Pérez

miércoles, 24 de octubre de 2018

Laboratorio 08

LABORATORIO 08

PROGRAMACIÓN DE ARDUINO CON MBLOCK
1) OBJETIVOS
Utilizar al microcontrolador en aplicaciones de control electrónico.
- Desarrollar y ejecutar programas en un microcontrolador PIC.
- Programar y configurar interfaces básicas del microcontrolador.

2) 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.

3) MATERIAL Y EQUIPO:
- IDE Arduino y mBlock instalado.
- Tarjeta Arduino UNO.
- Componentes accesorios.

4) MARCO TEÓRICO:
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.

mBlock y 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.

5) PROCEDIMIENTO

VIDEO DEMOSTRACIÓN

Kristhyan A. Kurt Lazarte Zubia

Marck Ascona Pérez






Luis Alonso Bayton Coaguila

OBSERVACIONES Y CONCLUSIONES


  • Logramos emplear un programa de simulación de un semáforo con el software de simulación m-block, la cual nos permite programar de una manera más práctica.
  • Identificamos el programa realizado como lenguaje para arduino con las funciones que nos ofrece la aplicación m block.
  • Logramos simular el programa realizado tanto en el software de simulación, como en la placa arduino.
  • Identificamos y comprendimos las acciones que realizan los distintos bloques de comandos utilizados en el laboratorio.
  • Reconocimos la interfaz del software de simulación m-block para poder realizar las distintas tareas asignadas.