Buscar este blog

lunes, 16 de febrero de 2015

Lectura de distancia con Arduino y sensor ultrasonico

//Medicion de distancia con sensor ultrasonico

int triger=2; // Pulso
int echo=4; // Echo recivido
void setup()
{
Serial.begin(9600);  // inicializamos el puerto serie
}
void loop()
{
  long pulso, inches, cm;  // Variables de medicion
  pinMode(triger, OUTPUT);     // ponemos el triger como salida
  digitalWrite(triger, LOW);  // lo inicializamos bajo
  delayMicroseconds(2);    // esperamos 2 microsegundos
  digitalWrite(triger, HIGH);   // lo activamos
  pinMode(echo, INPUT);      // ponemos el echo como entrada
  pulso = pulseIn(echo, HIGH);  // medimos el pulso de salida del sensoR

  // Convertimos el tiempo en distancia
  inches = microsecToin(pulso);
  cm = microsecTocm(pulso);
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();

  delay(750);
}

long microsecToin(long microsec)
{ return microsec / 74 / 2; }
long microsecTocm(long microsec)
{ return microsec / 29 / 2; }


  // http://www.pesadillo.com/pesadillo/?p=10067

Lectura de temperatura con Arduino, lm35 y lcd

#include <LiquidCrystal.h>          //Incluir esta libreria para poder usar el lcd

int Ana1ogica = A0;                      //Entrada analogica de LM35
LiquidCrystal lcd(12,11,5,4,3,2);   //Definimos las salidas de la pantalla LCD
int Temp = 0;
char Grados = '°C';

void setup(){
  Serial.begin(9600);    
  lcd.begin(16,2);
  pinMode(13,OUTPUT);
  digitalWrite(13, HIGH);          //Activamos la retroiluminacion
}

void loop(){
  Temp = analogRead(Ana1ogica);          //Leemos el valor de la entrada analogica
  Temp = Temp * 0.48828125;  //Escalamos la señal a grados centigrados

  if (Temp >= 25 && Temp <=80){
lcd.clear();
  //Mostramos los grados en el serial
  Serial.print("Grados: ");
  Serial.print(Temp);
  Serial.print(Grados);
  Serial.println("°C");


  //Mostramos los grados en la pantalla LCD
  lcd.setCursor(0,0);            //Con este comando decimos en que linea queremos escribir
  lcd.print("Temperatura: ");
  lcd.setCursor(0,1);
  lcd.print(Temp);
  lcd.setCursor(3,1);
  lcd.print(Grados); }

  else{ lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Temperatura FR ");
  }

  delay(1000);  //Al ser temperatura no hace falta leerlo tan seguido
}