Algoritmo para obtener el valor mayor de las medidas realizadas por un sensor de ultrasonidos.

Vamos a analizar el algoritmo para obtener el mayor de tres números

Algoritmo para obtener el mayor de tres números

Fuente: Hazaelocielx's Blog

ALGORITMO INFORMAL


INICIO.

1.- Pedir al usuario tres números diferentes.

2.- Comparar el primero con el segundo.

3.- Al mayor de los anteriores, compararlo con el tercero. El número más grande es el mayor de los tres.

4.- Imprimir el resultado en la pantalla.

FIN


ALGORITMO COMPUTACIONAL

INICIO

1.- Solicitar a usuario n1, n2 y n3

2.- Comparar n1 con n2

3.- Si n1 > n2

                Si n1 > n3

                     Imprimir n1

                Si no
                     Imprimir n3
     Si no, comparar n2 con n3
                Si n2 > n3
                     Imprimir n2
                Si no
                     Imprimir n3
FIN

En nuestro caso lo vamos a adaptar a para obtener la distancian mayor obtenida por un sensor de ultrasonidos que realiza tres medidas:

Se posiciona en 0º y realiza una medida. distancia_0
Se posiciona en 90º y realiza una segunda media. distancia_90
Se posiciona en 180º y realiza una tercera medida distancia_180

El valor obtenido, la distancia mayor se va  a utilizar para indicar al robot la dirección en la que tiene que avanzar.



ALGORITMO INFORMAL


INICIO.

1.- Realizar las medidas de distancia (distancia_0, distancia_90 y distancia_180).

2.- Comparar el primero con el segundo.

3.- Al mayor de los anteriores, compararlo con el tercero. El número más grande es el mayor de los tres.

4.- Imprimir el resultado en la pantalla.

FIN


ALGORITMO COMPUTACIONAL

INICIO

1.- Realizar las medidas de distancia (distancia_0, distancia_90 y distancia_180).

2.- Comparar distancia_0 con distancia_90

3.- Si distancia_0 >distancia_90

                Si distancia_0 > distancia_180

                     avanzar();

                Si no

                     girarDerecha();

     Si no, comparar distancia_90 con distancia_180
              
           Si distancia_90 > distancia_180
       
            girarIzquierda();
       
       Si no
                    girarDerecha();

FIN

Las funciones avanzar(), girarDerecha() y girarIzquierda(), han sido creadas para controlar el funcionamiento del robot.

CircuitLab, la forma más sencilla de diseñar tus circuitos en la web



Se trata de un sencillo editor que podemos ejecutar cómodamente desde el navegador, sin ni siquiera tener que crear una cuenta para poder usarlo y con los componentes más habituales a nuestro alcance. La herramienta funciona perfectamente, permitiendo diseñar circuitos rápidamente y realizar distintas simulaciones antes de llevar los resultados a la práctica física.

CircuitLab es gratis, haciendo de él un compañero ideal para el sector educativo o para aficionados a la electrónica. Creando una cuenta podremos además guardar nuestros circuitos, imprimir los resultados en PDF y hacerlos públicos para compartirlos con otros usuarios.

Fuente: Genbeta



Control del funcionamiento de un ventilador con Arduino

Propuesta

Diseñar un circuito para controlar la temperatura de la maqueta de una habitación con la utilización de un pequeño ventilador de corriente continua y un sensor de temperatura.

El funcionamiento del circuito será el siguiente, siempre que la temperatura sea superior a 28ºC el ventilador estará funcionamiento.

El sensor que vamos a utilizar es el LM35, cuyas características principales son las siguientes: Sensor de temperatura LM35


Montaje realizado


Diagrama de flujo



Código

 float tempC;
 int pinLM35=0;
#define EA 11
#define I1 10
#define I2 9

void setup()
{
  pinMode(EA,OUTPUT);
  pinMode(I1,OUTPUT);
  pinMode(I2,OUTPUT);
 
}
void loop()
{
  tempC= analogRead(pinLM35);
  tempC=(tempC*5.0*100.0)/1024.0;
 
  if(tempC>30)
  {
    digitalWrite(EA,HIGH);
    digitalWrite(I1,LOW);
    digitalWrite(I2,HIGH);

  }
  else
  {
  digitalWrite(EA,LOW);
}
}





Control del funcionamiento de un puente levadizo con Arduino

Propuesta

En el taller de tecnología disponemos de la maqueta de un puente levadizo, dicha maqueta incorpora dos finales de carrera, uno para detectar que el tablero del puente alcanza su posición de máxima apertura y otro para detectar que el puente ha bajado completamente. El sistema incorpora un motor con reductora y un sistema de poleas.

El sistema de control de regulación y control debe funcionar de la siguiente manera:

Al accionar un pulsador el puente debe de subir o bajar dependiendo de la posición en la que se encuentre, hasta alcanzar la posición contraria.

El sistema incorpora dos diodos, uno verde para indicar que el tablero está subiendo y otro rojo para indicar que el tablero está bajando.

Solución adoptada

Nota: Hemos tenido que utilizar dos interruptores para simular el funcionamiento de los finales de carrera.


Diagrama de flujo


Código

int Pulsador = 6;
int finalA = 11;
int finalB = 7;
int DiodoA = 1;
int DiodoB = 0;
int estadoPulsador = 0;
int estadoFinalA = 0;
int estadoFinalB = 0;
int E1=10;
int I1=9;
int I2=8;

void subir(){
  digitalWrite(E1, HIGH);
  digitalWrite(I1, HIGH);
  digitalWrite(I2, LOW);
}

void bajar(){
  digitalWrite(E1, HIGH);
  digitalWrite(I1,LOW);
  digitalWrite(I2, HIGH);
}

void parar(){
  digitalWrite(I1, LOCódigoW);
  digitalWrite(I2, LOW);
  digitalWrite(E1, LOW);
}

void setup()
{
  pinMode(E1, OUTPUT);
  pinMode(I1, OUTPUT);
  pinMode(I2, OUTPUT);
  pinMode(Pulsador, INPUT);
  pinMode(finalA, INPUT);
  pinMode(finalB, INPUT);
  pinMode(DiodoA, OUTPUT);
  pinMode(DiodoB, OUTPUT);
}

void loop()
{
estadoPulsador=digitalRead(Pulsador);
estadoFinalA=digitalRead(finalA);
estadoFinalB=digitalRead(finalB);

if((estadoPulsador==HIGH)&&(estadoFinalA==HIGH))
{
  while(estadoFinalB==LOW)
  {
    bajar();
    digitalWrite(DiodoA, HIGH);
    estadoFinalB = digitalRead(finalB);
   }
   parar();
 }

 if((estadoPulsador==HIGH) && (estadoFinalB==HIGH))
  {
   while(estadoFinalA==LOW)
   {
     subir();
     digitalWrite(DiodoB, HIGH);
     estadoFinalA = digitalRead(finalA);
   }
    parar();
  }
}

Cómo pegar con pistola termofusible

Pegamento termofusible. Es una forma rápida de unión, siempre y cuando ésta no tenga que soportar esfuerzos de torsión. Se aplica con una pistola. Se solidifica rápidamente y es eficaz con la mayoría de los materiales.

Cómo pegar con pistola

1.- Lo primero que debemos hacer es insertar la barra de pegamento en la parte trasera de la pistola, empujándola suavemente hacia adelante.
2.- Enchufamos la herramienta y dejamos que el pegamento se caliente. Para que el pegamento ejerza correctamente su función y evitar que la herramienta se rompa, es muy importante que éste se derrita bien.

3.- A la hora de presionar el gatillo, lo haremos con suavidad, sin forzar. Si vemos que está duro, esperaremos unos minutos más hasta que el pegamento se caliente adecuadamente.

4.- El siguiente paso consiste en aplicar el pegamento en una de las superficies a unir.
5.- Inmediatamente después, fijamos las piezas a unir, presionando fuerte para que se adhieran a la perfección.
6.- Debemos actuar con rapidez, puesto que el adhesivo se endurece en seguida y si eso ocurre, ya no pega.
 
Colocar un trozo de material inservible bajo la boquilla para evitar manchar la mesa.

Sistema de riego automático con Arduino

Se quiere diseñar un sistema de riego automático de un invernadero. El sistema está formado por tres sensores:
➢ S: detecta la Sequedad del suelo. Si está seco da un 1.
➢ T: detecta la Temperatura. Si es demasiado alta da un 1.
➢ A: detecta si hay Agua en el depósito desde el que se riega. Si hay agua da un 1.
El sistema tiene las siguientes salidas:
➢ VR: Válvula de Riego. Cuando se pone a 1 se abre el sistema de riego. Si se pone a 0 se deja de regar.
➢ AV: Mecanismo que abre ventanas para que entre aire fresco. Cuando se pone a 1 se abren las ventanas, cuando se pone a 0 se
cierran las ventanas.
➢ GD: Grifo Depósito. Cuando se pone a 1 este grifo empieza a llenar el depósito de agua.
➢ LA: Luz de Alarma. Cuando se pone a 1 se enciende una luz roja de alarma que indica peligro
Las condiciones de funcionamiento son:
➢ Se riega si hay sequedad, no es alta la temperatura y hay agua en el depósito.
➢ Se abren ventanas si es alta la temperatura.
➢ Se empieza a llenar el depósito si éste se queda sin agua.
➢ Se enciende la luz de alarma si hay sequedad y no hay agua en el depósito para regar.
Obtener la tabla de verdad y las funciones lógicas de las cuatro salidas del sistema ( VR, AV, GD y LA).

  • Dibuja el circuito correspondiente.
  • Realiza el algoritmo.
  • Realiza el programa para Arduino.

Posible solución al problema 

 

Estructuras estéreas

Las estructuras estéreas, también conocidas como mallas espaciales. Se caracterizan porque transmiten las cargas aplicadas en dos direcciones, por lo que sus elementos están sometidos a esfuerzos de tracción y compresión. Se la denomina también malla espacial.

Muchos de sus elementos forman triángulos.


Construcción de una estructura estérea

Estructura estérea
Material y herramientas

Papel  (folios ya usados), pegamento termofusible, pistola de pegamento, tijeras y cutter.

1.- Construimos las barritas enrollando papel y cortamos piezas de igual tamaño, en nuestro caso 15 cm.
2.- Colocamos las barras formando cuadrados y fijamos los vértices con pegamento termofusible.
3.- Construimos pirámides que parten de los vértices.
4.- Unimos los vértices de las pirámides.
Seguimos colocando otra cuadrícula y repetimos el proceso.

El resultado es una estructura de gran rigidez y resistencia.

Estructura estérea

En la estructura del ejemplo se ha usado además, una base de cartón, (un material más resistente que el papel), y las barras circulares miden todas lo mismo, 15 cm.


Prueba de resistencia