Actividad realidad virtual #tecnoandel

Siguiendo con los seminarios y talleres #tecnoandel los alumnos de 1 y 2 eso han realizado una inmersión en las competencias de ciencias y tecnologías  STEAM con realidad virtual.

IMG_20190617_161746

IMG_20190617_134245

En enlace a la encuesta de satisfacción de la Fundación @3Mfundation es el siguiente:

https://forms.office.com/Pages/ResponsePage.aspx?id=xMPK-qXiV0KvdiBcioId2-jUgk5OPe9FqF7VrgRvfgBUM1dZUFU3S0s1UjA0QUFSV1JPNFpQUjY4NS4u

Gracias por participar 🤗 el curso que viene más y mejor! 👍💯

 

Anuncio publicitario

Práctica: Sensor de temperatura

El objetivo de esta práctica es regular la intensidad de 3 LEDs utilizando un potenciómetro, es decir, podemos variar la cantidad de luz que emiten los LEDs girando el potenciómetro desde su posición de resistencia mínima a resistencia máxima.

Sensor de temperatura con Arduino
Sensor de temperatura con Arduino

 

 Materiales

  • 1 Arduino UNO
  • 1 Protoboard
  • 7 Latiguillos
  • 3 LEDs (rojo, naranja y azul)
  • 3 Resistencia de 100Ω (marrón-negro-marrón)
  • 1 Sensor de temperatura LM35

 

 Esquema eléctrico

Características LM35

Tensión 3v – 5V
Rango de medición -55ºC a 150ºC
Precisión ±0.5ºC

 

Características LED

Polarizado
Intensidad de Corriente 20mA
Tensión Led (verde, ámbar, rojo) 2.1V
Tensión Led blanco 3.3V

 

Cálculo de la resistencia para el LED

V = 5V - 2.1V = 1.7V
I = 20mA

V = I x R ; R = V / I

R = 1.7V / 0.02A = 85Ω -> 100Ω (por aproximación)

 

El sensor de temperatura se conectará a los terminales de 5V y GND siendo la patilla central el valor analógico que medirá la temperatura. En caso de conectar el sensor de temperatura al revés, observaremos que se calienta demasiado en cuestión de segundos.

El sensor de temperatura se conectará a los terminales de 5V y GND siendo la patilla central el valor analógico que medirá la temperatura. Los extremos son para alimentación, mientras que el pin central proporciona la medición en una referencia de tensión, a razón de 10mV/ºC.

El rango de medición es de -55ºC (-550mV) a 150ºC (1500 mV). Su precisión a temperatura ambiente es de 0,5ºC.

Milivoltios = ( valor analógico / 1023 ) * 5000
Temperatura = Milivoltios / 10
Esquema eléctrico
Esquema eléctrico

 

 Programación en mBlock

La programación consiste en detectar la temperatura siguiendo la conversión anterior y encender uno un otros LEDs dependiendo de la temperatura almacenada en la variable.

Sensor de temperatura en mBlock
Regulador de luz en mBlock

 

 Programación en Arduino IDE

La programación consiste en detectar la temperatura siguiendo la conversión anterior y encender uno un otros LEDs dependiendo de la temperatura almacenada en la variable «temperatura».

/**
 * sensor de temperatura
 */

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

void loop() {

    float temperatura = analogRead(0);
    float milivoltios = ( temperatura / 1023 ) * 5000;
    temperatura = milivoltios / 10; 

    if (temperatura < 10 ) {
        digitalWrite(13, LOW);
        digitalWrite(12, LOW);
        digitalWrite(11, HIGH);
    } else if (temperatura > 10 && temperatura < 25) {
        digitalWrite(13, LOW);
        digitalWrite(12, HIGH);
        digitalWrite(11, LOW);
    } else {
        digitalWrite(13, HIGH);
        digitalWrite(12, LOW);
        digitalWrite(11, LOW);
    }
}

Prácticas arduino mblock con potenciómetro

Un potenciómetro es uno de los dos usos que posee la resistencia o resistor variable mecánica (con cursor y de al menos tres terminales). 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.

Práctica: Regulador de luz

El objetivo de esta práctica es regular la intensidad de 3 LEDs utilizando un potenciómetro, es decir, podemos variar la cantidad de luz que emiten los LEDs girando el potenciómetro desde su posición de resistencia mínima a resistencia máxima.

Regulador de luz con Arduino
Regulador de luz con Arduino

Materiales

  • 1 Arduino UNO
  • 1 Protoboard
  • 7 Latiguillos
  • 3 LEDs
  • 3 Resistencia de 100Ω (marrón-negro-marrón)
  • 1 Potenciómetro

 

 Esquema eléctrico

Características Potenciómetro

Polarizado
Resistencia mínima
Resistencia máxima 10KΩ

 

Características LED

Polarizado
Intensidad de Corriente 20mA
Tensión Led (verde, ámbar, rojo) 2.1V
Tensión Led blanco 3.3V

 

Cálculo de la resistencia para el LED

V = 5V - 2.1V = 1.7V
I = 20mA

V = I x R ; R = V / I

R = 1.7V / 0.02A = 85Ω -> 100Ω (por aproximación)

 

Por un lado se conectan los LEDs a los pines 9, 6 y 5 de la placa de arduino (utilizando su debida resistencia). Por otro lado, se conecta el potenciómetro al pin analógico 0 de la placa de arduino.

Esquema eléctrico
Esquema eléctrico

 

 Programación en mBlock

Al ejecutar el código se calcula el valor analógico del potenciómetro y se almacena en una variable. A continuación se interpola el valor obtenido en la entrada analógica a través del potenciómetro (o-1023) con el valor de salida analógica (0-255). Todos los LEDs se encenderán con la misma intensidad fijada en la variable.

Regulador de luz en mBlock
Regulador de luz en mBlock

 

 Programación en Arduino IDE

En primer lugar, se configuran los pines analógicos 9, 6 y 5 en modo salida (OUTPUT). Esta configuración se establece en la función setup(), ya que solamente se ejecuta una vez.

Al ejecutar el código se calcula el valor analógico del potenciómetro y se almacena en una variable. A continuación se interpola utilizando la función map() el valor obtenido en la entrada analógica a través del potenciómetro (o-1023) con el valor de salida analógica (0-255). Todos los LEDs se encenderán con la misma intensidad fijada en la variable.

/**
 * Regulador de luz
 */

void setup() {
  pinMode(9, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(5, OUTPUT);
}

void loop() {
  int valor = analogRead(0);
  valor = map(valor, 0, 1023, 0, 255);

  analogWrite(9, valor);
  analogWrite(6, valor);
  analogWrite(5, valor);
  delay(15);
}

Práctica: Servomotor con potenciómetro

El objetivo de esta práctica es regular el ángulo de un servomotor con ayuda de un potenciómetro, es decir, según se gira el potenciómetro desde su posición de resistencia mínima a resistencia máxima, el servomotor girará entre sus valores de 0º y 180º.

Servomotor manual con Arduino
Servomotor manual con Arduino

 

 Materiales

  • 1 Arduino UNO
  • 1 Protoboard
  • 6 Latiguillos
  • 1 Servomotor
  • 1 Potenciómetro

 

 Esquema eléctrico

Características Potenciómetro

Polarizado
Resistencia mínima
Resistencia máxima 10KΩ

 

Características Servomotor

Polarizado
Rotación 0º – 180º
Tensión de trabajo 5V

 

Conectamos el cable rojo (positivo del servomotor) al pin 5V de la placa de arduino, el cable negro (negativo del servomotor) al pin GND de la placa de arduino y el color amarillo al pin analógico PWM 9 de la placa de arduino. Por otro lado, se conecta el potenciómetro al pin 0 de la entrada analógica de arduino.

Esquema eléctrico
Esquema eléctrico

 

 Programación en mBlock

Al ejecutar el código se calcula el valor analógico del potenciómetro y se almacena en una variable. A continuación se interpola el valor obtenido en la entrada analógica a través del potenciómetro (o-1023) con el valor de salida analógica (0-180) correspondiente a los valores admitidos por el servomotor.

Servomotor manual en mBlock
Servomotor manual en mBlock

 

 Programación en Arduino IDE

En primer lugar, se importa la librería a utilizar <Servo.h> y se inicializa el objeto llamado servomotor. Además se configura el pin analógico PWM 9 a utilizar por el servomotor. Esta configuración se establece en la función setup(), ya que solamente se ejecuta una vez.

Por otro lado, al ejecutar el código se calcula el valor analógico del potenciómetro y se almacena en una variable. A continuación se interpola el valor obtenido en la entrada analógica a través del potenciómetro (o-1023) con el valor de salida analógica (0-180) correspondiente a los valores admitidos por el servomotor.

/**
 * Servomotor manual
 */

#include <Servo.h> 

Servo servomotor;

void setup() {
  servomotor.attach(9);
}

void loop() {
  int angulo = analogRead(0);
  angulo = map(angulo, 0, 1023, 0, 180);

  servomotor.write(angulo);
  delay(15);
}

tutorial logicly

Para aquellas personas que necesiten de un simulador de circuitos de puertas lógicas, no tienen porque buscarse ninguna aplicación para su sistema operativo. Pueden usar Logicly, un simulador de circuitos puertas lógicas online donde pueden crear sus esquemas de puertas lógicas y probar resultados sin necesidad de registros.

Para la creación de los esquemas, simplemente hay que coger los objetos que deseen integrar y arrastrarlos al panel, donde después solo queda interconectar las diferentes entradas y salidas de cada uno de los objetos. Ya sólo queda comprobar el comportamiento del dispositivo de entrada, la bombilla, en función de la complejidad del esquema realizado.

Sin duda, una opción interesante para realizar pruebas sobre la web antes de llevarlo a cabo en la placa de circuitos.

https://logic.ly/demo/

 

1º PRÁCTICA Elaborar una guía para un futuro tutorial en la cual aparezca un circuito integrado con puertas lógicas y su tabla de verdad.

2º PRÁCTICA Realizar un circuito de 3ºeso y explicar qué sucede en cada uno de los casos de las entradas (tabla de verdad).

Resultado de imagen de CIRCUITO LOGICLY 3 ESO

 

Aquí os adjuntamos algunos ejemplos de vuestros compañeros de 2ºA-

Guión tutorial logicly

 

 

 

 

Práctica empresas tecno2019

2a2b2c

ENCARGOS Y RESPONSABILIDADES (todos los alumnos realizarán las diferentes tareas de forma conjunta y con la participación de todos sin embargo habrá personas encargadas de cada función que serán los que velen por el buen funcionamiento de esa tarea en particular y los que respondan frente a la comisión)

Portavoz (responsable frente a la competencia, gerente, funcionamiento, orden y silencio del equipo, …)

Distribuidor (recogida y entrega del material/maletín arduino a la comisión, sacar los elementos que se necesiten en cada momento, guardar material, …).

Electrónico (montaje circuitos, conexionado de conductores, receptores, …)

Programador y responsable de ordenador (informático, correcto funcionamiento del ordenador, software mBot, software arduino, …)

 

PUNTUACIÓN

De 0 a 1.000.000 € por práctica correcta (correcto funcionamiento tras la verificación)

– 100.000 € al equipo/empresa que peor incumpla el funcionamiento, orden y silencio en 1 día

+ 100.000 € al equipo/empresa que mejor cumpla el funcionamiento, orden y silencio en 1 día

50.000 € a todos los equipos/empresas de un mismo curso y grupo (2A, 2B o 2C) que mejor resultado global tengan pasadas 2 prácticas

Estos son los primeros resultados

resultados primera fase equipos

Prácticas de ampliación TINKERCAD

Abre un documento word y explica los circuitos que aparecen en el siguiente enlace.

Puedes hacer una captura de pantalla para que te quede más presentable.

Tienes que hablar de los elementos que tienen, generadores, receptores y actuadores; cómo funciona el circuito y qué finalidad tiene. Abre el código de programación para ver los tiempos de accionamiento, las entradas (INPUT), salidas (OUTPUT), etc.

Puede tener el siguiente formato:

circuito número: _____   nombre del circuito:________________________

elementos que lo componen: (número de cables, servos, led´s, etc) ________________________________________          ____________________________________________________________                 ______________________________________________________.

funcionamiento: ________________________________________________    ____________________________________________________________   _____________________________________________________.

¿qué conclusiones puedo extraer del código de programación? :_______________ ___________________________________________________________ ______________________________________________. (Explica algo del código)

 

primer circuito

https://www.tinkercad.com/embed/lKlJnnkm169?editbtn=1

segundo circuito

https://www.tinkercad.com/embed/fax7GaBNAHN?editbtn=1

tercer circuito

https://www.tinkercad.com/embed/76F7SvaQzTp?editbtn=1

cuarto circuito

https://www.tinkercad.com/embed/cIAk9ozfFIr?editbtn=1

 

envíalo al correo electrónico gabellan@andel.es

 

Introducción arduino y prácticas (TINKERCAD)

http://www.tinkercad.com es una aplicación web que permite crear proyectos de arduino con layout de protoboard o PCB. ¿Cómo empezar a desarrollar en http://www.tinkercad.com?

Accede a http://www.tinkercad.com

 Registrarse lo cual es muy fácil y rápido (tendremos que añadir el país y nuestra edad, le daremos a SIGUIENTE, y finalmente un correo electrónico y contraseña)

tinkercad1

Una vez registrados ya accedemos a la pantalla/interfaz del programa y hacemos click en CIRCUITS

tinkercad2

Le damos a crear nuevo circuito y comenzamos a montar y programar nuestros circuitos digitales. Aquí te explica para que sirven algunas de las acciones

tinkercad3

  1. Volver al menú inicial donde aparecen todos mis proyectos
  2. Rotar/Girar componentes (sobre todo válido para resistencias)
  3. Deshacer o rehacer la última acción realizada
  4. Para insertar el código (si ya lo tienes lo puedes copiar en «texto» sino lo puedes hacer por bloques)
  5. Cuadro de componentes electrónicos (hay una opción en la que se visualizan solamente los básicos y otra opción para que aparezcan todos los componentes posibles).

Tienes que saber que al hacer click en algunos componentes te da la opción de cambiar sus características, por ejemplo el color de los LED, o los ohmnios en las resistencias.

 

PRÁCTICAS INICIALES

 

PRÁCTICA 1. LED INTERMITENTE

Se recuerda que la resistencia es de 220 Ohmnios.

ESQUEMA:

práctica 1

PROGRAMA:

#define pinLED 8

void setup() {

 pinMode(pinLED, OUTPUT);  
}

void loop() {
  
  digitalWrite(pinLED, HIGH); // enciende el LED.
  delay(500); // retardo en milisegundos
  digitalWrite(pinLED, LOW); // apaga el LED.
  delay(500); 
}

PRÁCTICA 2.DETECTOR DE LUZ

Realiza un montaje con Arduino para detectar cambios en el nivel de luminosidad del aula donde te encuentras.

Para ello utiliza un sensor de luz LDR (light-dependent resistor), una resistencia eléctrica y un LED. La idea es que cuando la intensidad luminosa disminuya un cierto umbral, el LED se active.

El sensor LDR es un sensor resistivo (fotoresistor), es decir que su resistencia eléctrica varía en función de la luz que recibe. Es un sensor analógico por lo que, para leer sus medidas, tenemos que conectarlo a una entrada analógica de Arduino. Si tapamos o acercamos el sensor a la luz veremos cómo cambian las medidas a través del monitor serie. El valor de la resistencia (R1) marcará la sensibilidad de las medidas y dependerá también del rango de resistencias que nos proporcione el LDR. Puedes empezar un una resistencia de 1KOhmio.

ESQUEMA:

Para el sensor LDR:

esquema-LDR

Circuito completo:

detector-luz

PROGRAMA:

// Detector de luz con LDR

#define pinLED 12

void setup() {

  pinMode(pinLED, OUTPUT);
  Serial.begin(9600);
}

void loop() {

  int v = analogRead(A0);
  // El valor 600 (siguiente línea) se debe de ajustar dependiendo de la luz en el local
  // y del valor de la resistencia pull-down
  // poca luz -> v pequeño, mucha luz -> v grande. 
  if (v < 600) digitalWrite(pinLED, HIGH); 
  else digitalWrite(pinLED, LOW);
  Serial.println(v);
}

PRÁCTICA 3. CONTROL DE SERVO

Realizar una práctica que haga girar un motor de rotación continua una vez con la siguiente secuencia: giro durante 2 segundos, parada durante 2 segundos y giro en sentido contrario durante 2 segundos.

Un servomotor de rotación se programa de forma muy similar a los servomotores vistos anteriormente. La diferencia respecto a estos es que el servo de rotación continua puede girar (como su nombre indica) los 360 grados de forma continua. Hay que recordar que un servomotor sólo podía girar de 0 a 180 grados. Los servos de rotación continua llevan una reductora y proporcionan un buen par motor. Incluyen un circuito interno de control y las conexiones se realizan a través de 3 cables: Alimentación (+Vcc), Tierra (GND) y señal de control.

ESQUEMA:

esquema-servocont

PROGRAMA:

#include <Servo.h>
Servo servoRotCont; // crea los objetos para controlar los servomotores

void setup() {

  servoRotCont.attach(9); 
  servoRotCont.write(0);//clockwise
  delay(2000);
  servoRotCont.write(90); //stop (el valor 90 depende del motor.
  //Es conveniente probar valores por encima o por debajo
  //de 90 hasta comprobar que se para el servomotor.
  delay(2000);
  servoRotCont.write(180);//counter-clockwise
  delay(2000);
  servoRotCont.write(90); //stop

}
void loop() {

 
}

PRÁCTICA 4. SECUENCIA LED

Realizar un montaje con 3 LEDs (rojo, verde y amarillo) que realice la siguiente secuencia con un intervalo de tiempo de 0,5 segundos entre cada uno (‘1’ indica encendido y ‘0’ apagado):

  1. 100 (LED rojo encendido y el resto apagado).
  2. 010 (LED verde encendido y resto apagado).
  3. 001 (LED amarillo encendido y resto apagado).

ESQUEMA:

práctica2

#define pinLED1 8
#define pinLED2 9
#define pinLED3 10

void setup() {

 pinMode(pinLED1, OUTPUT);  
 pinMode(pinLED2, OUTPUT);  
 pinMode(pinLED3, OUTPUT);  

}

void loop() {
  
 digitalWrite(pinLED1, HIGH); // enciende
 digitalWrite(pinLED2, LOW); // apaga
 digitalWrite(pinLED3, LOW); // apaga
 delay(500);
 digitalWrite(pinLED1, LOW);   
 digitalWrite(pinLED2, HIGH); 
 digitalWrite(pinLED3, LOW); 
 delay(500); 
 digitalWrite(pinLED1, LOW); 
 digitalWrite(pinLED2, LOW); 
 digitalWrite(pinLED3, HIGH); 
 delay(500);
  
}

 

PRÁCTICA 5. MOTORES CON TRANSISTOR

Desde Arduino (salida digital) actuamos sobre la base si enviamos un HIGH al pin digital donde la conectemos (pin 6 en el esquema). El transistor tiene que tener suficiente ganancia. Se conecta un diodo de protección en antiparalelo (1N004). Cuando el motor se para las bobinas se desmagnetizan y se descargan de energía eléctrica. El diodo proporciona un camino para su descarga (la energía se disipa en forma de calor en el diodo) y así se evita que sufra el transistor.

Otra posibilidad que protege el transistor es, en vez de conectar directamente el motor al colector del transistor, ubicar un relé en esa posición y accionar el motor con alimentación independiente con la conmutación del relé. Este ejercicio se propone en la sección de actividades.

transistor-motorDCfritz-tr-motorDC

// Activa y desactiva un 
// motorDC conectado al pin6 
// durante 2 segundos

#define motorDC 6

void setup() {
  
  pinMode(motorDC, OUTPUT);

}

void loop() {

  digitalWrite(motorDC, HIGH);
  delay(2000);
  digitalWrite(motorDC, HIGH);
  delay(2000);
}

Prácticas circuitos electrónicos

La electrónica es la rama de la física y especialización de la ingeniería, que estudia y emplea sistemas cuyo funcionamiento se basa en la conducción y el control del flujo de los electrones u otras partículas cargadas eléctricamente.

Utiliza una gran variedad de conocimientos, materiales y dispositivos, desde los semiconductores hasta las válvulas termoiónicas. El diseño y la gran construcción de circuitos electrónicos para resolver problemas prácticos forman parte de la electrónica y de los campos de la ingeniería electrónica, electromecánica y la informática en el diseño de software para su control. El estudio de nuevos dispositivos semiconductores y su tecnología se suele considerar una rama de la física, más concretamente en la rama de ingeniería de materiales.

En el siguiente enlace puedes encontrar las prácticas de electrónica con resistencias fijas, potenciómetros, termistores NTC, PTC, LDR, diodos LED´s, transistores.

practicas-crocodile-electronica