lunes, 31 de mayo de 2021

Cruce de semáforos y luminarias

Desarrollo del proyecto

Con el desarrollo de este proyecto se ha pretendido ver las aplicaciones que la programación con Arduino podría tener en la vida real. De esta forma se planteó a los alumnos la idea de diseñar un cruce de peatones regulado por semáforos y la colocación de luminaria que se activarán de forma automática al bajar la intensidad de la luz.


El funcionamiento del cruce sería igual que el que vemos en la realidad, es decir cuando un peatón quiera cruzar deberá activar el pulsador y el semáforo de coches se pondrá en rojo y el de peatones en verde, todo ello calculando los tiempos necesarios de activación y desactivación de semáforos  para que la operación se pueda hacer con las debidas condiciones de seguridad vial.


Para la activación de las luminarias se ha utilizado un LDR conectado a unos led,  de forma que se activará cuando la intensidad de la luz baje de unos niveles establecidos y los led se encenderán.


Para la realización del proyecto se dividió la clase en varios grupos y cada uno aportó sus ideas, eligiendo entre todas la solución más adecuada. Cada grupo aportó: 

  • Su código de programación de arduino, el cual trabajaron con la aplicación Tinkercad.

  • Su propuesta de maqueta en 3D

  • Materiales a utilizar, los cuales serían todos reciclados.


De entre todas las propuestas se eligió la más idónea y factible,  y nos pusimos “manos a la obra” , con la dificultad de que la maqueta debería realizarse entre toda la clase. 

Para organizarnos se asignó la realización de cada parte de la maqueta a un grupo, de esta forma el trabajo se dividió en: calzada, señalización y semáforos, luminarias y edificios. 


Indicar que todos los materiales utilizados han sido reciclados.


A continuación se expone material gráfico del proceso seguido:

Propuestas en 3D

Montaje del circuito con Tinkercad

 

Código Arduino 

const int LEDR=13; const int LEDA=12; const int LEDV=11; const int LEDRp=8; const int LEDVp=7; const int PULSADOR=4; const int D2=2; void setup() { pinMode(A0, INPUT); Serial.begin (9600); pinMode(D2, OUTPUT); pinMode(LEDR, OUTPUT); pinMode(LEDA, OUTPUT); pinMode(LEDV, OUTPUT); pinMode(LEDRp, OUTPUT); pinMode(LEDVp, OUTPUT); pinMode(PULSADOR, INPUT); } void loop(){ digitalWrite(LEDV, HIGH); digitalWrite(LEDRp, HIGH); Serial.println(analogRead(A0)); if (digitalRead(PULSADOR) ==HIGH) { delay(2000); digitalWrite(LEDV, LOW); digitalWrite(LEDA, HIGH); delay(5000); digitalWrite(LEDA, LOW); digitalWrite(LEDR, HIGH); delay(1000); digitalWrite(LEDRp, LOW); digitalWrite(LEDVp, HIGH); delay (5000); digitalWrite(LEDVp, LOW); delay (1000); } else { digitalWrite(LEDR, LOW); digitalWrite(LEDA, LOW); digitalWrite(LEDV, HIGH); digitalWrite(LEDRp, HIGH); digitalWrite(LEDVp, LOW); } if (analogRead(A0)<450){ digitalWrite(2, HIGH); }else{ digitalWrite(2, LOW); } }

Maqueta terminada


Profesora responsable de la práctica

Inma Gil Alonso 

martes, 25 de mayo de 2021

Sensor de lluvia. Práctica de Alex Lin Chen

 

En esta práctica he programado un sensor de lluvia con Arduino. Veamos cómo lo he hecho:

 

Utilidad:

Este montaje sirve para determinar la cantidad de agua según el nivel de esta en un recipiente. También, que es para lo que lo estoy utilizando en esta vez, sirve como un sensor de lluvia para saber si está lloviendo.

Para usarlo como un detector de lluvia, lo situaremos horizontalmente con el sensor hacia arriba de manera que caiga la lluvia en el sensor. Se formará una película de agua y aumentará el valor S, de manera que irá aumentando en función de cuán fuerte esté lloviendo y, así pues, la cantidad de agua que caiga sobre él.

Montaje del sensor

Materiales:

Placa Arduino Mega 2560

Cables de conexión

Sensor de nivel de agua T1592


Código:

int pin_sensor=0;

int valor;

void setup() {

pinMode(pin_sensor, INPUT);

Serial.begin(9600);

}

void loop()

{

valor=analogRead(A0); //lee el sensor

Serial.println("Valor recogido por el sensor:");

Serial.println(valor);

if(valor>10)

Serial.println ("Parece que llueve...");

else

Serial.println("No cae ni gota");

delay(1500);

}

Resultado final:




Participantes:

Alumno:Alex Lin Chen - 4º B

Profesora: Paqui Hernández Caballo 


LED RGB - Práctica de Rubén Moreno 4ºB

Con esta práctica podemos hacer que un LED emita luz del color que queramos gracias a la escala de colores RGB (Rojo, verde y azul). En mi caso he escogido el morado.

Resultado
Detalle del resultado

 

Materiales que necesitamos:

  • Un led RGB

  • Placa Arduino

  • 4 Cables

  • 3 resistencias (sin especificar)

  • Placa Protoboard

  • Cable USB

Pasos necesarios para realizar la práctica:



  • copiamos este programa:



int rojo = 6;

int azul = 5;

int verde = 3;

void setup() {

  pinMode(rojo, OUTPUT);

  pinMode(verde, OUTPUT);

  pinMode(azul, OUTPUT);

}



void loop() {

  analogWrite(rojo,255);

  analogWrite(azul,155);

  analogWrite(verde,0);

}



Los datos que podemos modificar para conseguir el color que queramos son los siguientes:

 analogWrite(rojo,255);

  analogWrite(azul,155);

  analogWrite(verde,0);

Los colores se presentan en una escala del 0 al 255 donde el 255 es el máximo. Mezclando diferentes valores entre los colores rojo, verde y azul podemos conseguir una inmensa variedad de colores.

En mi caso, utilicé el rojo (255), el azul (155) y nada del color verde para obtener como resultado el morado que podemos apreciar en las fotografías que incluí anteriormente.

En esta imagen podemos saber cómo realizar nuestro color deseado, aunque también recomiendo ir cambiando de valores para ver como el color se va transformando en otro.

El primer número en esta imagen es el valor del rojo, seguido del verde y, por último, el azul. No olvides respetar el valor de cada color a la hora de pasarlo al programa para evitar que salga un color diferente al deseado.

  • realizamos el siguiente esquema en nuestro kit arduino:




Fíjate bien dónde tienes que conectar los cables observando las indicaciones del led RGB, que nos indica con una R, una G, una B y un espacio vacío a dónde tenemos que llevar los cables, estas indicaciones pueden ser un poco diferentes a la imagen de arriba así que hay que prestar mucha atención.

Resultado:

Si has seguido correctamente las indicaciones, tu led RGB se habrá iluminado con el color que hayas elegido.

Alumno: Rubén Moreno Terán - 4º ESO B

Profesora: Paqui Hernández Caballo

lunes, 24 de mayo de 2021

MAQUETA RONDA NORTE CON ARDUINO

 Un proyecto con el objetivo de conocer la tecnología de la ciudad o, ¿incluso mejorarla?


Inicios del proyecto

Todos conocemos que las ciudades crecen en tamaño, pero también crecen y evolucionan tecnológicamente. Es por ello que en este proyecto se pretende proporcionar un punto de vista cercano a la tecnología que usa una ciudad en cosas tan sencillas como semáforos o farolas.


¿Quiénes somos?

El grupo está compuesto por alumnos de 1º de bachillerato B así como el tutor del mismo. Éstos son:

Julia Arias

Elena Díaz

Sofía Galán

Héctor Gómez

Aroa González

Sergio Leo

Ángel Recuero

Paula Villegas


Carlos Collado (tutor)


¿Qué hacemos?

En este proyecto se va a realizar una maqueta con el objetivo de recrear un fragmento de Ronda Norte. La decisión de realizar la maqueta ha sido totalmente voluntaria y se establece tras haber hecho prácticas con Arduino.

Además, para contribuir con el proyecto "Norba en Verde", se han utilizado algunos materiales reciclados.




 Desarrollo del proyecto

En el punto de partida se encuentra una puesta en común para elaborar un listado del material que será necesario. Tras esto, se elaboran grupos de trabajo y se reparten las tareas aplicando la técnica “divide y vencerás”.

Mientras un grupo se centra en la elaboración de la maqueta, el otro empieza a desarrollar el software necesario, aunque de vez en cuando se hacen puestas en común.

Como se suele decir, una imagen vale más que mil palabras, por lo que a continuación se muestra el proceso en fotos.













El desarrollo tecnológico se ha elaborado inicialmente desde Tinkercad, una web que permite elaborar pruebas con Arduino de forma realista y que contribuye a que se pueda probar sin miedo.




Posteriormente, cuando el diseño está elaborado, se ha descargado el software original de Arduino para poder cargar el código. La placa en este caso era nano y no original, por lo que ha habido que descargar un driver adicional que permitiera la conexión a la placa.




Posibles ampliaciones

A pesar de ser una maqueta bastante completa, se ha pensado en algunos elementos que podríamos añadir, pero que no ha sido posible debido a la falta de tiempo y recursos.

A nivel técnico se podrían añadir mejoras auditivas como sonido en los semáforos (para personas con discapacidad visual). También se ha valorado incluir aparatos como un radar, para lo que se usarían 2 sensores de movimiento que calcularían la velocidad a la que circula el vehículo. Otra posible adición al proyecto sería la incorporación de un puesto de peaje. Para ello se haría uso de un sensor de activación, tal como un botón, y así elevar una barrera. Junto a esto se podría colocar una pantalla LCD en la que apareciese información sobre el peaje.

Para finalizar, a nivel artístico se podría completar con figuras de personas y vehículos, señales de tráfico e incluso algunas luces reflectantes (hechas con espejo, por ejemplo) a ambos lados de las carreteras. Finalmente podríamos concluir el proyecto añadiendo una cúpula de cristal que evite el deterioro de la maqueta.




PROFESOR: CARLOS COLLADO GARRIDO

domingo, 23 de mayo de 2021

Montando un PC paso a paso con alumnos de PMAR

Durante este curso hemos montado un par de PC's que hemos adquirido por piezas con el fin de abaratar costes. Algunas de estas piezas las hemos comprado nuevas, otras han sido de segunda mano y otras las hemos reciclado de ordenadores viejos que han sido llevados al punto de reciclaje. Que mejor forma de reciclar que usando nosotros mismos los componentes que aún nos permitan dar vida a un PC.

Ya realizamos durante el curso pasado una descripción de todos los componentes del PC y cómo escogerlos para obtener un equipo bastante económico. Este año han sido los alumnos los que han ido explicando el proceso de montaje.

Instalación de RAM, disipador y disco duro

En este video se realiza una breve descripción de qué es el procesador y la placa base. A continuación se muestra como conectar un procesador en la placa (proceso que realiza uno de nuestros alumnos de 1º de PMAR), y acto seguido se conectan la memoria RAM, el disipador y un moderno disco duro M.2 en la placa. 

Como disponíamos de muchos ventiladores reciclados, y nuestro presupuesto era ajustado, reciclamos alguno de ellos para usarlo sobre el disipador, anclado con unos alambres.

Se recomienda realizar esta operaciones antes de ninguna otra cosa para tener espacio suficiente para trabajar. También hubiera sido interesante realizar la conexión de los cablecitos del frontal de la caja en este punto, ya que hacerlo al final es más complicado, pero no lo hicimos aquí por problemas de visualización.

 

Formatos de caja y placa: anclando la placa base

En este video mostramos placas base de distinto tamaño (en concreto, una micro ATX con socket 775 y una ATX con socket 2011) y explicamos visualmente sus diferencias relativas al tamaño y número de slots PCI express. Finalmente instalamos la placa ATX en una caja ATX. 

Como anécdota, nos ocurrió que compramos una caja micro ATX por error para la placa ATX, y al no poder usarla por su menor tamaño, tuvimos que recurrir al contenedor de reciclados para sacar un antiguo PC averiado y utilizar su caja. El resultado, un PC impecable y súmamente rápido.


Instalación de la tarjeta gráfica

Una vez anclada la placa base en la caja, procedimos a la instalación de la tarjeta gráfica, una de gama media/baja con potencia suficiente para la mayor parte de los trabajos que realizamos en el PC. Al final del video se describe brevemente qué son los periféricos, sus tipos, y se muestran algunos de los periféricos internos más usuales como la tarjeta de sonido, la cual no es necesaria en nuestro equipo pues integra una de serie.


Instalación de fuente de alimentación y conexiones frontales

Para rematar la instalación del hardware de este PC, solo queda instalar la fuente de alimentación para poder suministrar energía eléctrica a todos los componentes. Al final del video, se muestran varios esquemas para conectar los cablecitos procedentes de la caja que permiten que el pulsador de "power" y "reset" funcionen, que se iluminen los leds de encendido y disco duro, o que funcionen los puertos USB y audio del frontal de la caja.

En nuestro caso, como todos los componentes están conectados a la placa base, solamente hay que conectar el conector ATX de 20+4 pins y el conector EPS de 4+4 pins, cuyas imágenes se muestran a continuación:
 
Conector EPS de 4+4 pins (para la CPU)

Conector ATX de 20+4 pins

Los conectores de pulsadores y leds de la caja, deben conectarse mediante cables, generalmente individuales, a la placa base. Por lo general, las placas estándar siempre tienen agrupados estos conectores de la misma forma, con la etiqueta de "F_Panel". Pero no siempre ocurre así, y a veces hay que recurrir al manual de la misma o localizar las etiquetas típicas de "leds", "power", "reset"...

Cablecillos de la caja que deben conectarse al "F_Panel" de la placa base

Esquema típico de conexionado del "F_Panel" de la mayoría de las placas base

Conector "F_Panel" de nuestra placa base x79

Finalmente existen cablecitos adicionales que permiten llevar los puertos USB 2.0 o los puertos de audio al frontal de la caja. Para ello las cajas incluyen cables AUDIO o USB como los que se muestran en la imagen siguiente:

Conectores AUDIO, USB y otros asociados a leds y boton de reset

Imagen de una placa micro ATX muy parecida a la nuestra en donde se muestran los conectores AUDIO, Front USB y F_Panel (desglosado), así como otros conectores

Tuneando el PC

Finalmente, para mejorar un poco el PC, realizamos algunos diseños usando TinkerCad para adaptar un ventilador y un disipador reciclado de una forma un poquito menos chapucera al socket 2011.

Imprimiendo adaptador
Adaptador final
Adaptador con disipador
Disipador y ventilador

Otra mejora para conseguir mayor refrigeración y una estética más moderna, más cuando se utiliza una caja reciclada de unos 20 años de antiguedad, sacrificando el uso de unidades de CD (que ya prácticamente no se usan) es una rejilla a medida para adaptar un ventilador de 12cm con leds.

Imprimiendo frontal (1)
Imprimiendo frontal (2)
Frontal estético instalado
Temperaturas obtenidas

Como se aprecia en la imagen final, poniendo el ordenador a trabajar (8 núcleos de CPU y 16 hilos funcionando al 18% de media durante varios minutos) ninguno de los núcleos alcanza una temperatura superior a los 30 grados Centígrados.

Créditos finales

En esta práctica han trabajado los profesores:

  • Manoli Alfaro
  • Oscar García
  • Pablo Díaz

Todos ellos profesores de PMAR durante el curso 2020-21.

lunes, 10 de mayo de 2021

DISPLAY DE 7 SEGMENTOS- Práctica de Carmen Mateos

Un display de 7 segmentos es un componente que tiene 7 segmentos LED y otro más que hace de punto. 
Este punto nos indica cómo hay que colocar el display (siempre hacia abajo). 
Los displays de 7 segmentos se usan para visualizar dígitos comprendidos entre el 0 y el 9
Cada segmento se identifica por una letra (a,b,c,d,e,f y g). 
Dependiendo de los segmentos que se iluminen se visualizará un dígito u otro.
Ej: num 4: iluminamos los segmentos f,g,b,c. 
El uso de resistencias es recomendable para evitar daños a largo plazo. La resistencia cambia la intensidad con la que brillan los segmentos.
Existen dos tipos:
 
 • Display de 7 segmentos de ánodo común: todos los leds comparten el ánodo(+)
 • Display de 7 segmentos de cátodo común: todos los leds comparten el cátodo(-) 

Display de 7 segmentos de ánodo común 
Todos los leds (segmentos) comparten el mismo ánodo (V+). 
En cuanto al cátodo, cada led tendrá el suyo propio. 
Los segmentos se iluminan con valor lógico 0 (0V en el cátodo) y se apagan con valor lógico 1 (V+). 
Display de 7 segmentos de cátodo común 
El cátodo es compartido entre todos los segmentos, por lo que cada led tendrá su propio ánodo. 
Los segmentos se iluminan con valor lógico 1 (V+ en el ánodo) y se apagan con valor lógico 0 (0V):

El display tiene 10 pines y hay unos pines marcados como “común”. 
En realidad, son el mismo pin, por tanto, conectaremos uno de ellos solamente. 
Este es el pin que va a ir conectado a 5V o a GND en función de si nuestro display es de ánodo común o de cátodo común. 
El pin dp se refiere al punto, pero no todos los displays lo tienen. 
El resto de conexiones llevan una resistencia y van cada una a un pin digital del Arduino. 
Quedan así: 
• A: DIGITAL 2 (cable naranja) 
• B: DIGITAL 3 (cable verde) 
• C: DIGITAL 4 (cable azul)
• D: DIGITAL 5 (cable morado) 
• E: DIGITAL 6 (cable marrón) 
• F: DIGITAL 7 (cable amarillo) 
• G: DIGITAL 8 (cable rosa) 

Los segmentos son leds, luego pondremos una resistencia para protegerlos.

El cátodo común está conectado a tierra (GND). 
Como veis, esta es la única diferencia en cuanto a conexiones. 

La alumna Carmen Mateos, de 4º B ha hecho una práctica utilizando este display, aquí la tenemos:

 

Este display de cátodo común nos permite mostrar un número de máximo 4 dígitos, yo lo he usado para poner nuestro año :) 

Para poder mostrar un número de 4 dígitos es necesario multiplexar la señal, es decir, iluminar secuencialmente cada uno de los dígitos en una sucesión muy rápida, creando la ilusión de que todos los dígitos están encendidos a la vez. 

 

 

Material necesario: 

  • Placa Arduino o compatible. 
  • Display de 4 dígitos y 7 segmentos. 
  • 4 resistencias. 
  • Protoboard. 
  • Cables de conexión.
  • Código para mostrar un número

 




Programa:

#include "SevSeg.h" 

SevSeg sevseg; 

 void setup(){ 

byte numDigits = 4; 

byte digitPins[] = {10, 11, 12, 13}; 

byte segmentPins[] = {9, 2, 3, 5, 6, 8, 7, 4}; 

 bool resistorsOnSegments = true; 

 bool updateWithDelaysIn = true; 

byte hardwareConfig = COMMON_CATHODE; 

sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments); 

sevseg.setBrightness(90); 

 void loop(){

 sevseg.setNumber(5921,3); 

sevseg.refreshDisplay(); 

Resultado: 


 

Alumno: Carmen Mateos 4º ESO B
Profesora: Paqui Hernández Caballo

miércoles, 5 de mayo de 2021

Sensor de nivel de agua / lluvia - Práctica de Paula Gómez

Una alumna de 4º ESO C ha programado el sensor de nivel de agua con arduino. En esta entrada está la explicación de lo que es un sensor de nivel de agua y cómo se programa.

El sensor de nivel de agua nos permitirá de manera simple y rápida detectar la presencia de

agua en la superficie del sensor.


El sensor de agua está diseñado para la detección de agua, y puede ser ampliamente utilizado en proyectos con los que tengamos que estudiar la detección de lluvia, nivel de agua, e incluso fugas de líquido. Conectar un sensor de agua a un Arduino es una gran manera de detectar fugas, derrames, inundaciones, lluvia, etc. Puede utilizarse para detectar la presencia, el nivel, el volumen y/o la ausencia de agua.



Primero conectaremos el sensor de agua a la clavija digital 8 de Arduino, y utilizaremos el LED para ayudar a identificar cuando el sensor de agua entra en contacto con una fuente de agua.

Componentes necesarios


  • 1 × Placa de pruebas

  • 1 × Arduino Uno R3

  • 1 × Sensor de agua

  • 1 × led

  • 1 resistencia de 330 ohmios




int SENSOR; // el sensor lo conectamos a la salida analógica A0

#define LED 2 // el le está conectado a la salida digital 2

void setup() {

    pinMode(LED,OUTPUT);

  }

void loop (){

  SENSOR= analogRead (A0); // leemos el valor del sensor

  if (SENSOR > 0) {

    digitalWrite (LED, HIGH); //se enciende el led


  }

  else{

    digitalWrite(LED, LOW); // se apaga el led

  }

  delay (1000);

}


Alumna: Paula Gómez Muñoz 4ºESO-B

Profesora: Paqui Hernández Caballo