martes, 7 de enero de 2020

Montando un potente PC "gaming" muy económico


Durante este curso queremos renovar algunos de los obsoletos Pentium IV o Intel Core Duo que aún utilizan los alumnos por nuevos equipos de altas prestaciones, en donde además de programar placas arduino, podamos utilizar todo tipo de herramientas informáticas de forma fluida. Sin embargo, como de costumbre, nos frena enormemente el tema de la economía. Nunca hay dinero, y si nos ceñimos únicamente a la torre (con todos sus componentes), la mayoría de las soluciones de gama media-alta sobrepasan holgadamente los 700€, con lo que escasamente podríamos adquirir uno o a lo sumo dos equipos con las cantidades concedidas al proyecto NorbaSky. Nosotros vamos a lograr reducir esta cifra a la mínima expresión sin que esto repercuta un ápice del rendimiento del equipo deseado. Para ello vamos a realizar varias propuestas:

Primera propuesta: todos los componentes nuevos (400€)

Si nos ceñimos a un diseño por piezas, con un sistema operativo basado en Linux y adquirimos los componentes por Internet en alguna web relativamente económica, podremos reducir el precio a poco más de 400€. El montaje lo realizaríamos con nuestros alumnos, lo que contribuiría por una parte a su aprendizaje, y por otra no menos importante a reducir costes. A continuación describimos los componentes seleccionados en la tienda online PcComponentes.
Listado de componentes que forman nuestra primera opción de PC potente y económico
Nuestro equipo estaría formado por un procesador AMD Ryzen 3 3200G, que hemos seleccionado por su buen rendimiento unido a un relativo bajo consumo energético y su excelente relación calidad/precio, de las mejores del mercado. Además, los procesadores G disponen de gráfica integrada, lo cual nos permite ahorrar costes, y del disipador+ventilador incluido en el paquete (un ahorro adicional). Por lo general, las gráficas integradas suelen ser bastante pobres y no aptas para equipos "gaming". Sin embargo, las gráficas Radeon Vega 8 que incluyen los procesadores Ryzen, si bien no pueden compararse con las mejores gráficas dedicadas del mercado, si que representan lo mejor que hay en gráficas integradas, proporcionando una potencia gráfica suficiente para la mayoría de los juegos más exigentes. Además, como no queremos el equipo para jugar, creemos que esta elección es de las más acertadas.
Como referencia, comentar que según PassMark, procesadores de equipos "high-mid" obtienen puntuaciones en el rango de 2500 a 6500, y de equipos "high-end" obtienen puntuaciones superiores a 6500. Así, nuestra CPU Ryzen se movería dentro de este último grupo.
Características técnicas y rendimiento medio de los procesadores AMD Ryzen 3 3200G.
Procesadores de un rendimiento similar podrían ser el Intel i7 6700HQ con una gráfica notablemente inferior con un precio de 259€ o el Intel Xeon W3670 para servidores sin gráfica integrada con un precio de 450€ (al que habría que añadir el precio de una tarjeta gráfica), ambos con una puntuación, según PassMark por debajo de los 8200 puntos.
Procesadore AMD Ryzen 3 3200G.
En cuanto a la memoria RAM, nos hemos decantado por dos módulos DDR4 de 8 Gbytes cada uno a 2400MHz, con una velocidad suficientemente rápida para nuestro equipo, y relativamente baratos, dentro de lo que podemos encontrar en el mercado. Esto dota a nuestro equipo de 16Gb, de los cuales se tomarán 2Gb para la gráfica integrada del procesador, algo que no nos supone mucho problema.
Dos módulos de memoria RAM DDR4 Kingston HiperX Fury.
En la elección de la placa base, nos hemos decantado por un modelo de Asus, una de nuestras marcas favoritas, con socket AM4, a la cual hay que actualizar su firmware para que funcione con los procesadores Ryzen de tercera generación (esta actualización la realizan en la tienda por 15€ o podemos hacerla nosotros mismos, para lo cual necesitaríamos un procesador AMD de generación anterior). Puede sonar extraño el tema de la actualización necesaria, pero es algo bastante común en un gran número de placas con socket AM4, ya que son muchos los distintos procesadores pueden funcionar en ellas, y como las memorias Flash que contienen los controladores de los distintos procesadores son limitadas, estas tienen que actualizarse cuando los se van a utilizar con CPU's demasiado modernas.
Placa base Asus Prime B450M-A con socket AM4.
En cuanto a la caja, nos hemos decantado por el modelo más económico que hemos encontrado que incluya una fuente de alimentación de al menos 500w y que sea de un tamaño adecuado para poder incluir en ella cualquier tipo de placa base. Quizá no sea la caja más atractiva ni la mejor fuente de alimentación, pero por menos de 30€ es muy difícil encontrar una combinación así.
Caja L-Link Kluster, con fuente de alimentación de 500W, frontal USB 3.0 y E/S de audio.
Finalmente en el disco duro no hemos reparado en gastos, optando por un Samsung 970 EVO Plus SSD MVMe M.2 de 500Gb, el cual, además de tener una capacidad aceptable, es lo más rápido que hemos encontrado con diferencia, con una velocidad media de lectura de 3500MB/s y una velocidad de escritura de 3200MB/s. Si lo comparamos con la mayoría de los SSD sATA convencionales, sus velocidades de lectura y escritura se mueven en torno a los 500MB/s, y comparando con los discos duros tradicionales HD sATA, sus velocidades no suelen superar los 100MB/s.
Unidad de almacenamiento SSD MVMe M.2 Samsung 970 EVO Plus, una de las más rápidas del mercado dentro de su sector.

 

Segunda propuesta: placa x79 y algún componente usado (300€)

Si bien es cierto que hemos obtenido un buen precio con la primera opción, podemos reducir el precio eliminando de la ecuación a la placa, procesador y memoria RAM (con lo que aún pagaríamos 153€), sustituyendo estas por una nueva placa con CPU y memoria de prestaciones similares o superiores obtenidas del mercado chino de segunda mano a un precio irrisorio (todo en torno a 100€), y añadiendo al conjunto una gráfica dedicada de gama media. El precio del conjunto se reduciría drásticamente. Veamos cómo.
Los procesadores Xeon de Intel son ampliamente utilizados en el sector profesional, en servidores de alto rendimiento y en supercomputadores, en donde es necesario disponer de la máxima potencia de cálculo posible. Este tipo de procesadores son, por lo general, bastante superiores a los utilizados en el ámbito doméstico (siempre que hablemos de generaciones y tecnología similar), aunque también mucho más caros. En los centros de supercomputación se instalan en partidas de cientos o o incluso miles de ellos para una única máquina, y al cabo de unos años son sustituidos por otra partida más nueva y potente, desechando los viejos, que generalmente se venden como productos de segunda mano en mercados como el chino. Sin embargo, estos últimos procesadores, pese a considerarse "antiguos", aún tienen una capacidad de proceso muy superior a la de muchas CPU's domésticas de gama alta. Para hacernos una idea de las cifras de rendimiento y precio de las que estamos hablando, veamos una comparativa:
En primer lugar, vamos a centrarnos en el modesto Intel Xeon E5 2620 v2, que salió al mercado en el año 2013 por unos 400€ (no era el Xeon más potente, pero estaba bien posicionado, con un rendimiento de 8624 según PassMark). Hoy en día podría adquirirse nuevo por 100€, pero también por menos de 20€ en el mercado de segunda mano.
Características técnicas y rendimiento medio de los procesadores Intel Xeon E5-2620 v2.

Evolución de los precios del procesador Xeon E5-2620v2 (nuevo) desde su salida al mercado.
Apariencia del procesador Xeon E5-2620v2.
Estas CPU's podrían ser sustituidas en los avanzados centros de cálculo por procesadores mucho más potentes tales como el Intel Xeon W-3275M o el AMD Ryzen Threadripper 3970X con un rendimiento entre 3 y 4 veces superior, y con un precio que actualmente se mueve en torno a los 7.000€ (Intel) o a los 2.000€ (AMD). Eso deja por tanto fuera del mercado de la supercomputación al Xeon E5 2620 v2, lo que no significa que no pueda competir en rendimiento con una CPU doméstica de alto rendimiento.
Características técnicas y rendimiento medio de los procesadores Intel Xeon W-3275M..

Características técnicas y rendimiento de los procesadores AMD Ryzen Threadripper 3970X.
Uno de los problemas que tienen estas antiguas CPU's es que no son compatibles con la mayor parte de las placas bases domésticas de hoy en día. Están pensados para servidores con tecnología de hace varios años. Sin embargo, en el mercado chino han visto el potencial, y han desarrollado una serie de placas X79 con conectores y puertos actuales, pero totalmente compatibles. Su precio no difiere mucho del de las actuales placas domésticas de reconocidas marcas, pero muchos vendedores las suelen ofrecer en packs junto a procesadores y memorias de segunda mano obtenidos por la vía comentada.
Numerosa oferta de placas x79 con socket 2011 vendidas en packs con procesadores Xeon y memoria DDR3 para servidores ambos ya usados en otras máquinas.
Evidentemente, todas estas placas chinas no son iguales. Como en todos los mercados, las hay de mejor y peor calidad. Para nuestro estudio nos hemos decantado por PLEXHD de las que hemos oído hablar muy bien, hemos tenido la oportunidad de probar, y hemos comprobado de primera mano los numerosos detalles extra que contienen (interruptor para inicio y reset, display de código de error, disipadores extra para todos los componentes susceptibles de calentarse,...). Podemos encontrar packs "CPU Xeon E5 2620 v2+placa x79+memoria DDR3 ECC 1600MHz" por unos 100€, frente a los casi 270€ que nos costaba el pack "CPU+placa+memoria" de la primera opción estudiada.
Placa x79 con LGA 2011 con soporte para memoria RAM DDR3 ECC para servidores.
Con esto podríamos tener un equipo por unos 250€ (añadiendo torre, fuente de alimentación y disco SSD) al que habría que añadir aún un ventilador+disipador (unos 15€) y una sencilla gráfica dedicada (35€), resultando un total aproximado que no superará los 300€.
Distinta oferta de disipadores+ventilador para placas con socket 2011.
Distinta oferta de targetas gráficas dedicadas de prestaciones medias con un TDP moderado.

 

Tercera propuesta: placa x79 y reciclado de componentes (135€)

Si queremos rizar el rizo y economizar al máximo nuestro equipo nuevo, podríamos reutilizar la caja, fuente de alimentación, disipador+ventilador y discos duros, reduciendo aún más el precio del equipo. Sin embargo, esto está sujeto a varios condicionantes importantes y a la disposición de material adecuado para su uso.
  • La fuente de alimentación. Necesitamos disponer de una con potencia suficiente para alimentar a nuestro PC. Los vendedores de placas x79 recomiendan el uso de fuentes de al menos 500w, lo cual es un dato bastante general. Existen procesadores Xeon compatibles con un TDP mayor de 180w, y gráficas dedicadas con un TDP mayor de 200w. Esto supone que en condiciones de máximo estrés, podrían consumirse 380w entre estos dos componentes, dejando 120w para alimentar los módulos de RAM, discos duros, ventiladores y cualquier otro componente instalado en el equipo. Sin embargo, nuestro Intel Xeon E5 2620 v2, tiene un TDP de 80w, e intentaremos que la gráfica tenga un consumo menor a 60w, con lo que en teoría podríamos utilizar una fuente de alimentación de 300w sin ningún tipo de problemas. Existen páginas como geeknetic que nos permiten calcular la potencia que necesitamos en nuestra fuente de alimentación a partir de la información de todos los componentes que instalemos en nuestro equipo.
Fuente de alimentación ATX
  • Disipador/ventilador. Necesitamos un disipador que se adapte al socket 2011, que es el que tiene nuestra placa x79. Cualquier disipador podría valer, siempre que se adapte al hueco donde debe ser colocado. Quizá sea necesario realizar algunos cortes en el mismo para adaptarlo adecuadamente. No habría problema en reducir mínimamente su tamaño, ya que los procesadores Xeon son más eficientes que los de uso doméstico y se calientan menos. Nosotros hemos adaptado disipadores de sockets 478 para Pentium IV a golpe de sierra y taladro, para convertirlos al formato 2011, añadiendo mediante unos alambres un ventilador algo más grande del que se incluía el propio disipador, sin ningún tipo de problema, manteniendo la CPU en situaciones de estrés a una temperatura inferior a los 40ºC (en torno a 30ºC con un uso moderado).
    Ventilador + Disipador diseñados para socket 478 usado en algunos Pentium IV

    Rectificación de disipador para socket 478 para socket 2011 eliminando las esquinas del mismo con una sierra, y fijando el ventilador mediante alambres ubicados en orificios creados haciendo uso de un taladro.
    Detalle de disipador rectificado y taladros para ubicación de alambres.
  • Caja o torre. Es necesario disponer de una torre amplia, que permita la inserción de placas de al menos 410x410mm, lo cual es un tamaño relativamente grande. En nuestro caso, una antigua caja de un Pentium II nos ha servido perfectamente en las pruebas preliminares.
  • Almacenamiento. Quizá este sea uno de los puntos más complicados e influyentes en el rendimiento de nuestro equipo. En primer lugar, debemos disponer de discos para su reutilización. Los antiguos discos duros IDE, bastante lentos, no son compatibles con las placas x79. Existen adaptadores muy baratos que permiten utilizarlos sin problemas, pero que producen una merma en la velocidad de los mismos. Los discos duros sATA tradicionales son totalmente compatibles, pero comparados con la opción del Samsung 970 EVO Plus SSD MVMe M.2 de 500Gb, son enormemente más lentos. Esto no debe afectar en general a la ejecución de programas, pero si al tiempo de carga de los mismos que puede pasar de décimas de segundo a más de 10 ó 12 segundos en algunos casos, y eso es algo muy molesto para los usuarios. Una solución intermedia podría pasar por adquirir en primer lugar un SSD MVMe M.2 más económico, de menor capacidad y no tan rápido como el Samsung para instalar en él todo el software, y en segundo lugar instalar uno o varios discos sATA (mejor varios configurados en RAID) para el almacenamiento de datos del usuario. De esta forma reduciríamos costes y minimizaríamos el impacto en el rendimiento del sistema. Además podrían reducirse los continuos accesos del sistema operativo a disco haciendo uso de discos RAM para la mayor parte de los archivos temporales del sistema. 
Adaptador para convertir un disco duro IDE en un disco sATA compatible con placas base modernas.


Antiguo disco duro IDE con conector de 40 pines, incompatible con placas actuales


Disco duro sATA compatible con placas actuales, pero cada vez más en desuso
Moderna unidad de almacenamiento SSD MVMe M.2 con velocidades hasta 100 veces mayores que las de los discos duros tradicionales
Mediante el uso total de componentes reciclados, y sin adquirir un moderno disco SSD M.2, nuestro equipo podría reducir su precio hasta los 135€ (placa x79, CPU Xeon usada, RAM usada, gráfica dedicada económica y resto de componentes reutilizados).

Cuarta propuesta: reutilización y rectificación de la CPU (20€)

La última propuesta, nos permitirá aprovechar nuestro antiguo equipo con socket 775, dotado de procesador Intel Pentium IV,  Intel Core 2 Duo o Intel Core 2 Quad y sustituir el procesador por un Intel Xeon para socket 771. Este tipo de procesadores, ya obsoletos, siguen teniendo un rendimiento relativamente bueno, no tanto como para montar un equipo excesivamente potente, pero si para montar un equipo de sobremesa de gama media-alta que funcione muy fluido con la mayoría de las aplicaciones ofimáticas del mercado.
Para hacernos una idea en el incremento de rendimiento, pensad que podríamos sustituir un Intel Core 2 Duo E4500 con un rendimiento de 1272 según PassMark por un Intel Xeon X5460 con un rendimiento de 4319 (con un rendimiento similar a un Core i5-4278U o a un Core i3-3225, ambos procesadores de gama media).



Ahora bien, el resto de componentes prácticamente no podrían ser actualizados. No podríamos incluir una unidad de almacenamiento MVMe M.2, aunque si un disco SSD con interfaz sATA, entre 5 y 10 veces más rápido que un disco duro convencional. Y la memoria RAM siempre sería más lenta que las actuales memorias DDR4. Pese a todo, podríamos actualizar el equipo por menos de 20 euros, obteniendo como resultado un buen equipo de gama media. ¿Sorprendente? ¿Donde está la pega?
La pega es que para evitar que se hagan este tipo de actualizaciones, Intel ha diseñado los sockets 775 y 771 ligeramente distintos para no poder realizar este tipo de sustituciones. Prácticamente ambos sockets son idénticos, salvo por unas pequeñas muescas de plástico y una mínima diferencia en la ubicación de determinadas patillas de alimentación eléctrica creadas "a conciencia" para evitar la deseada compatibilidad.
Detalle de diferentes muescas existentes el los procesadores. Las patillas eliminadas por las muescas no son funcionales en ninguno de los dos modelos.
Por tanto, para colocar un procesador preparado para un socket 771 en un socket 775 habría que eliminar los topes molestos de la placa 775, y puentear correctamente un par de patillas del procesador Xeon para corregir las diferencias electricas entre ambos sockets.
Eliminando topes de una placa con socket 775 para que pueda colocarse perfectamente un procesador Xeon compatible con placas 771.
Detalle de patillas que deben ser puenteadas en el procesador Xeon para ubicar correctamente los pines de alimentación eléctrica del mismo. El puente puede realizarse con una pequeña pegatina metálica.
Detalle de pegatina disponible en el mercado para realizar el puenteado de dos patillas.
Procesador con pegatina comercial ubicada para el correcto puente del procesador.
Aunque no me gusta usar la siguiente expresión, puede que consideremos esto como "un trabajo de chinos", pero es precisamente por eso por lo que "los chinos ya hacen ese trabajo por nosotros" y podemos adquirir en numerosas paginas CPU's Xeon compatibles de segunda mano puenteadas a las que les han realizado una muesca para no tener que tocar nuestra placa base, y todo por un importe inferior a los 20€. Con esto, solamente tendríamos que adquirir estas CPU's y pincharlas en nuestra placa base (y en algunos casos actualizar el firmware de la bios de la citada placa).
Procesador Xeon x5460 modificado, con muescas extra y puenteado correspondiente para funcionar en una placa LGA 775
Espero que esta entrada os haya resultado util para realizar vuestro estudio de mercado y podais montar un potente PC para juegos o trabajo gastando una mínima cantidad de dinero.

domingo, 9 de junio de 2019

NORBA LANDERS - 2º ESO

Una vez probado el circuito de motores nos faltaba dar el siguiente paso que consistía en programar el vehículo y añadirle los sensores.
Fase 1: programación de motores para realizar un circuito o recorrido concreto.
Fase 2: instalación de sensor de ultrasonidos para que el vehículo redirija su trayectoria en caso de encontrarse con obstáculos.

Fase 1: Para conectar los motores hemos utilizado un módulo L298N. Este módulo nos permite conectar ambos motores a la alimentación y desde él a la placa programable arduino. Las conexiones son bastante sencillas.
Hemos buscado información sobre él en varias páginas y blogs. Nos gustaría remitiros a este canal de youtube por si necesitáis más detalles:

Bitwise Ar https://www.youtube.com/channel/UC4unPLtykzwO7MB3IvaQZaA


Conexiones de módulo L298N

.
Cuando tenemos las conexiones programamos el movimiento de nuestros motores y probamos varios recorridos para practicar con el lenguaje de programación de Arduino:
int IN1= 7;
int IN2= 6;
int ENA= 5; //conectado a un pin con posibilidad de modulación pwn;
int IN3= 8;
int IN4= 9;
int ENB= 10; //conectado a un pin con posibilidad de modulación pwn;
int VELOCIDAD;

void setup() {
pinMode (IN1, OUTPUT);
pinMode (IN2, OUTPUT);
pinMode (ENA, OUTPUT);
pinMode (IN3, OUTPUT);
pinMode (IN4, OUTPUT);
pinMode (ENB, OUTPUT);
}

void loop() {
 VELOCIDAD =200; //PUEDE VALER ENTRE 0 Y 255
 Aavance (VELOCIDAD);
 Bavance (VELOCIDAD);
 delay (3000);
 detieneAmbos ();
 delay (2000);
 Aavance (VELOCIDAD);
 delay (1000);
 detieneAmbos ();
 delay (2000);
 Aavance (VELOCIDAD);
 Bavance (VELOCIDAD);
 delay (3000);
 detieneAmbos ();
 delay (2000);
 Aavance (VELOCIDAD);
 delay (1000);
 detieneAmbos ();
 delay (2000);
}
void Aavance (int veloc) { //función para que avance el motor A
 analogWrite (ENA, veloc);
 digitalWrite (IN1, LOW);
 digitalWrite (IN2, HIGH);
}
void Bavance (int veloc) { //función para que avance el motor B
 analogWrite (ENB, veloc);
 digitalWrite (IN3, LOW);
 digitalWrite (IN4, HIGH);
}
void detieneAmbos () { //función para detener ambos motores
 analogWrite (ENA, 0);
 analogWrite (ENB, 0);
}

En este programa conseguimos el giro del vehículo parando uno de los motores durante un tiempo determinado.






domingo, 2 de junio de 2019

NORBA LANDERS - 2º ESO


Durante el tercer trimestre hemos seguido trabajando en nuestros vehículos
Una vez realizado el montaje de la estructura base, los alumnos han trabajado varios aspectos relacionados con las unidades que están planificadas para este trimestre final del curso:




- Electricidad: Se han realizado las conexiones eléctricas de ambos motores y los alumnos han dibujado los circuitos correspondientes con la simbología eléctrica estudiada en clase de Tecnología. Una vez realizadas las conexiones los alumnos han puesto en marcha los vehículos de manera básica a modo de iniciación a la electricidad.


-TICs: En este apartado del currículo de Tecnología los alumnos han utilizado los equipos informáticos, en concreto software específico (libreoffice calc) para elaborar un presupuesto (ficticio) de su vehículo, buscando información en Internet relativa a precios de los componentes y realizando los cálculos básicos utilizando las fórmulas en su hoja de cálculo (suma, multiplicación, %IVA, descuento...).

Al mismo tiempo hemos realizado el montaje completo de un vehículo en el que se instaló la placa programable Arduino y se han programado los movimientos básicos. Lo veremos en la siguiente entrada Norba Lander - 2º ESO.
En esta parte de vehículo programado hemos trabajado la soldadura de estaño con alumnos de Tecnología de 4º ESO. A pesar de que el apartado Norba Lander estaba previsto para 2º y 3º, hemos considerado que era una práctica sencilla y necesaria para aprender en 4º ESO, al mismo tiempo que estábamos trabajando con los brazos robots (Norba Joints).


domingo, 26 de mayo de 2019

Programando Arduino con Scracth.

Seguimos avanzando en las prácticas con 4º ESO. Esta vez nos hemos atrevido con Scratch for Arduino (S4A), que no es más que una versión modificada del lenguaje de bloques Scratch, que permite la interacción con el hardware libre Arduino. Creado por el equipo de Smalltalk del Citilab en 2010 e implementa bloques específicos para manejar los sensores y actuadores de Arduino, este entorno nos pareció muy útil y conveniente para introducir a nuestros alumnos en esta programación y trabajar durante unos días, previos a programar Arduino, para que nuestro brazo robot realice sus movimientos con sus cuatro servomotores.
Para usar este software, debemos instalar el entorno S4A en los equipos portátiles del aula-taller y también un firmware específico de S4A en la memoria de la placa de Arduino, que será el que realice la comunicación con el software del PC, informando a este de la situación de cada entrada y salida en todo momento. Estos pasos están muy bien explicados e la página de descargas de S4A.
La interfaz de S4A es muy parecida a la de Scratch 1.4, aunque con algunas diferencias que los alumnos ha ido descubriendo con el desarrollo de  pequeños proyectos que tenían que resolver.
Programa de bloques de S4A que permite controlar a Arduino
El primer bloque permite inicializar las variables asociadas a las posiciones de los servos, así como los ángulos iniciales de los mismos. Hay que cambiar las posiciones (aquí 10, 10, 10) según en qué punto queramos que el brazo robot se posicione inicialmente. Las variables "hombro", "horizontal" y "pinza" contendrán en todo momento los ángulos de las articulaciones del brazo (servos) y se podrán modificar con los distintos eventos asociados a distintas pulsaciones de teclas. Estas variables actualizarán constantemente los ángulos reales de los servos en el bucle "por siempre" inicial. 
En los bloques siguientes (en el centro de la imagen), asociados a distintos eventos del teclado, vamos situando los servos manualmente mediante la modificación de los ángulos contenidos en las variables antes citadas, para colocarlos en las posiciones que necesitemos. Además, fijándonos en los valores que aparecen en la ventana de ejecución, arriba a la derecha de la pantalla, tomaremos los ángulos extremo hasta donde puede llegar la articulación correspondiente, para luego poder calibrar el movimiento de forma exacta.
Ventana de ejecución a la derecha de la imagen
Y por último con el bloque de la derecha, permitimos realizar movimientos fijos de prueba cada vez que pulsemos la tecla espaciadora.

Brazo robot controlado mediante código de bloques S4A

sábado, 25 de mayo de 2019

NORBA-STATION: Potenciómetro

Para aprender a utilizar las salidas analógicas, hemos aprendido a programar un potenciómetro con arduino. Normalmente un potenciómetro tiene 3 patillas, una irá conectada a tierra (GND), otra a 5V y la otra a un pin analógico de la tarjeta Arduino. Descubrimos también que existen 2 tipos de potenciómetros, unos lineales y otros rotativos. En esta práctica usaremos uno rotativo. Por otra parte, también aprendimos que en Arduino hay 6 entradas analógicas (A0-A5). Internamente, Arduino tiene un conversor analógico-digital que cambia la tensión recibida a un número entero. Los valores van desde 0V =0 a 5V=1023 . Los valores intermedios se calculan de manera proporcional. Lo primero que hicimos fue conectar el potenciómetro según lo visto y abrir un programa de ejemplo que trae el propio IDE de Arduino, llamado AnalogReadSerial, que es el siguiente:


Como podemos ver en el programa, hay que configurar la comunicación serie entre nuestro arduino y el ordenador a 9600 bits de información por segundo, eso se hace con la instrucción Serial.begin (9600) En el loop, se crea una variable llamada sensorValue donde se recogerá el valor de la entrada analógica donde está conectado el potenciómetro (la A0) Con la otra instrucción Serial.println(sensorValue) lo que se hace es imprimir en pantalla el valor que va recogiendo la variable. Para verlo, tenemos que sacar el monitor serie en el IDE. Aquí podemos observar cómo al mover el potenciómetro, van variando los valores de 0 a 1023 La práctica siguiente consistía en hacer variar la velocidad de parpadeo en función de cómo usemos el potenciómetro. El esquema es:






Y por último, con el mismo montaje, hicimos un cambio en el código para que la intensidad de brillo de nuestro led esté en función de los valores del potenciómetro. El programa sería el siguiente: