viernes, 2 de marzo de 2018

Programa de la puerta con sensores


Práctica  Dirigida 2.    Programación de Puerta con Servo Motor y Pantalla LiquidCrystal
#include <LiquidCrystal.h>   // se  agrega  desde  la  librería
#include <Servo.h>           // Se incluye servo motor desde  la  librería
Servo servo1;
 LiquidCrystal lcd(8,9,4,5,6,7);    //pines para comunicar información  a a pantalla
int v=-1;
int puertoservo =3;    //  variable para mandar datos servo
int trig = 13;          // pin designado para entrada
int echo =12; 
 int piezo =2;    // variable  para  el piezo
 int grados; //    variable que captura datos del ángulo en grados
 int tmp=0;    //variable  temporal usada en la condicional
 int pulsominimo=650;     //variable que  define  el ángulo menor
 int pulsomaximo=2550;       // variable que define el àngulo mayor
   int calcularDistancia();
float disCalculada;

void setup()
{
  lcd.setCursor(4,1);   //define la posición 4 en la fila uno de la pantalla
  lcd.print ("PRONIE");  //se muestra  la  palabra  PRONIE en la posiciòn indicada
  lcd.noBlink();  //indicación  a  la lcd para que  no parpadee
  delay (2000);  // espera 2 segundos
  servo1.attach (puertoservo,pulsominimo , pulsomaximo);  //definición del puerto para esos puntos
  //--------------------//
pinMode (trig, OUTPUT);     // pin definido como  elemento  de salida
pinMode (echo, INPUT);     // pin definido  como  elemento  de  entrada
pinMode (piezo,OUTPUT);     // se  define  la  salida en el piezo
 //--------------------//
Serial.begin (9600);       // activación del  monitor  serial
}
void loop()
{
 disCalculada = calcularDistancia ();  // devuelve  el  valor  de  calcularDistabcia
 grados = servo1.read(); //variable que  guarda  el valor  del ángulo de  giro
Serial.print("Grados :");  //mostramos  la  palabra grados
 Serial.println(grados);  // muestra  el valor  del ángulo
delay (200);  // espera  milisegundos
 Serial.println("--------");    // líneas  para  lectura  de  la  información
 Serial.print("cm :");
 Serial.println (disCalculada);    // función  para  mostrar  el  valor  de  la  variable
  delay (200);
  if (disCalculada < 100)     // condicional  Si  calcula el  valor  de  la  distancia  
{
  tmp=90 + 10;   // variable temporal con  valor  asignado
tone (piezo, 600,100);     // debe activar  el  pieso  si cumple  la  funcion
}
else
{
  tmp=0-10;
  }
  delay (10);       // espera 10  milisegundos
  servo1.write (tmp);
  lcd.setCursor(1,1);  //posiciòn en el cursor,fila1,posición 1
  lcd.print ("Distancia");       //
  lcd.println(disCalculada);   //muestra  el valor  de  la  variable
}
   int calcularDistancia(){   // variable  para  calcularDistancia
    long distancia;   
    long duracion;
   digitalWrite (trig, LOW);
   delayMicroseconds  (4);
   digitalWrite (trig,HIGH);
   delayMicroseconds  (10);
   digitalWrite (trig,LOW);
duracion = pulseIn (echo, HIGH);
duracion = duracion/2;
distancia = duracion/29;
return distancia;
}




video_Práctica2



viernes, 23 de febrero de 2018

Programación del reto

Programación  para  la  alarma  con sensor de  luz:reto1

int pinRojo = 3;   // declaraciòn de  pines  a usar
int pinAzul = 5;
int piezo= 6 ;
int ldrPin = A0;
void setup ()
{
  pinMode (pinRojo, OUTPUT);   //Los  pines  se  programan para
  pinMode (pinAzul, OUTPUT);   //apagar
  pinMode (piezo, OUTPUT);
  pinMode(ldrPin, INPUT);      // encender
  Serial.begin (9600);
}
void loop () {
int ldrValor = analogRead (ldrPin);  
if (ldrValor <=50) {
analogWrite (pinRojo, HIGH);  //programaciòn de  pines paraaumentar intensidad con sensor
analogWrite (pinAzul, LOW);   //pin  para  bajar  intensidad con sensor
delay (100);
analogWrite (pinRojo, LOW);
analogWrite (pinAzul, HIGH);   // el  led  se  empieza encender al bajar  el umbral de  luz ambiente


delay (100);
tone (piezo, 450,50);
delay(100);
Serial.println (ldrValor);
}
else {
  digitalWrite (pinRojo, LOW);    //Estos pines bajan la  intensidad  de  la  luz
  digitalWrite (pinAzul, LOW);
  Serial.println (ldrValor);
}

   }

Programación de la práctica dirigida1.

  Práctica dirigida1. Programación  para  leds, botón y piezo
int pinRojo = 3;   // declaración de  pines  a usar
int pinAzul = 5;
int piezo= 6 ;
boton = 2;          // declaración  del botón para  apagar
int estado = 0    // definición del puerto para el botón

void setup ()
{
  pinMode (pinRojo, OUTPUT);   //puerto de salida para el botón
  pinMode (pinAzul, OUTPUT);   //apagar
  pinMode (piezo, OUTPUT);
  pinMode(ldrPin, INPUT);      // encender
  Serial.begin (9600);
}
void loop () {
while (digitalRead(boton)==0)   //función creada  para indicar  cuando encender y apagar led y piezo
{
analogWrite (pinRojo, HIGH); 
analogWrite (pinAzul, LOW);   //pin  para  bajar  intensidad con sensor
delay (100);
tone (piezo, 300, 100);
serial.println (digitalRead (boton)); 
delay (100);
}

while (digitalRead(boton)==1) //Función que  indica  cuando se  apagan los leds y piezo ap presionar botón
analogWrite (pinRojo, HIGH); 


Serial.println (digitalRead(boton));

vídeo del reto1


vídeo/práctica1


miércoles, 14 de febrero de 2018

Taller Prototipos  interactivos 2
Práctica  dirigida1:

Esta  práctica  es  un  ejercicio  introductorio  y  de  repaso  en  el  uso  de  los diferentes  dispositivos(cables, interruptor,piezo,led,resistencias)  que  se  pueden  usar  en  las placas  Arduino  para  representar   la  programación  de  diferentes  tipos  de  circuitos   en  los  que  ocurren  acciones  de  luz  y  sonido.

La  práctica  inició  con  el  diseño  de  una  alarma  led en la  cual  se  utilizan  dos  bombillos  led  que  deben  encenderse  al  correr  la programación, para   crear  esta  alarma  se  usan  las  dos  placas ,  la  Arduino  y la  protoboard.
En  lo  que  a  programación  se  refiere  deben  declararse  las  variables  que  van   a  asociar   los  puertos  de arduino  con  el  encendido  de  los  bombillos, recordemos  usar  el setup para  declarar  los  pines  de  salida.
El  siguiente paso  es adicionar  un  piezo  a  la  alarma , para que  además  de  las  luces  contenga  la  alarma  de  sonido ; para  ello  en  la  programación  debe  declararse la  variable  para  el  pin  Arduino  que  recibirá  el  piezo  para  activar  el  sonido.

Por  último  debe  de  añadirse  un botón  interruptor ,se  utiliza  la  base  de  la  programación  anterior y  se  declara  el  “boton” ,debe  agregarse  la  variable  para  botón y  el  estado:encendido  y  apagado.



Problemas en la realización del Reto

Problemas y soluciones: 1.         1.  En   primer   lugar   tuve   complicaciones   para integrar   la   programación   de la   fotoc...