sábado, 11 de septiembre de 2021

Arduino con tinterkad

Para comenzar vamso a https://www.tinkercad.com/ y entramos a circuito


En esta opción podemos ver las caracetristicas de acda componente

Comencemos arrastrando una resistencia y cambiandoe l valor a 220 ohms

En un diodo led el Catodo es negativo y anodo en negativo

La salida va desde el pin 13 a la entrada positiva que pasa por al resistencia entra pro el anodo, sale por catodo y se devuelve al GND 


Para comenzar a programar vamso a código en modo texto y borramos los datos de setup y de loop.
En void setup se escriben los parámetros iniciales y en void loop se escribe el bucle de programa 

Programación por texto

En el parámetro inicial de void setup vamos a definir que el pin 13 será una salida
En void loop vamos a definir que el led se va a encender y se va a apagar usando digitalWrite dos veces, uno con HIGH y el otro LOW

Cuando ejecutamos la simulación nos damos cuenta de que el led permanece encendido y esto se debe a que la transición es muy rápido por lo que debemos agregar un delay con un valor entre parentesis 

Programación en bloque

Podemos desechar los codigos arrastrandolos al bote de basura

Luego podemos ir arrastrando bloques desde aquí
Luego tenemos la opción de descargar el código

También podemos ver la lista de componentes y tenemos la opción de descargar aquella lista

Variables

Si conectamos 3 led y salimos desde el catodo (negativo) de cada uno a la linea negativa del portoboard podemos salir de otro punto negativo al GND de Arduino. Con ello tendríamos todos los negativos conectados al mismo puerto Luego conectamos los positivo a cada puerto independiente que vendrían a ser salidas desde el pin de Arduino pasando por su resistencia devolviendose al GND

Yo podría definir en los parámetros inciales del código que cada pin es una salida pero los numeros no nos dicen nada acerca de los elementos que yo tengo conectado...


...por lo tanto vamos a hacer una definición de nombre con variables enteras (int)

Luego agregamos al programación de cada uno


También para ahorrarnos tiempo si queremos tener el mismo tiempo de delay en el encendido y apagdo de todos los led y no sea trabajoso cambiarle el tiempo uno por uno podemos usar una variable para eso

BucleFor

Comenzamos con este circuito conectando cada pin a los anodos, saliendo por los catodos y volviendo al GND

En la programación tenemos la variable Tiempo y la variable Pin. En los parámetros iniciales de void setup vamos a agregar el for. Primero colocamos pin=8 que vendría a ser la primera salida de leds, luego colocamos pin<=12 para considerar el ultimo numero del rango que tenemos y finalmente colocamos pin=++ para que vaya acrecentandose. Finalmente definimos entre llaves que los pines erán de salida colocando pinMode (pin,OUTPUT)
Ahora realizamos la programación para que se enciendan usando el mismo for. Lo que hacemos es que cada en cada led se aplique el programa de apagado, tiempo de espera, encendido, tiempo de espera. Eso se porgrama con digitalWrite y delay. El for nos ahorra el trabajo de tener que estar repitiendo tel mismo código para los 5 led



Subrutinas

Lo primero que hacemos es crear el código similar al que hicimos anteriormente incorporando for para generar una secuancia de encendido y apagado acendente 

Ahora para crear una subrutina en la que pretendemos que el orden de encendido cambie de dirección lo que debemos hacer es cortar la programación y pegarla a bajo con un comentario de subrutina  //.

Le agregamos como etiqueta de void secuencia_uno()


¿Como ejecutamos esa subrutina?
 

En void lopp tenemos el programa principal y dentro de el tenemos las dos subrutinas. Cuando se ejecuta la secuencia_uno() se produce el llamado de la subrutina 1 por lo tanto salat a ese nombre y ejecuta esa subrutina 1 (lo que está entre las llaves) y se devuleve a la siguiente linea de código para ejecutar la secuencua_dos() y hace el llamado a la subrutina 2



No hay comentarios:

Publicar un comentario

Instalar paquetes de phyton en blender

Para agregar nuevos paquetes o mpdulos al phyton que tiene blender tenemos dos opciones según la documentación de blender   1. Reemplazar el...