programación de microcontroladores

En referencia a esta pregunta

¿Es posible programar los LED para que parpadeen consecutivamente cada uno con su propia velocidad de activación en la persecución de secuencia y luego agregar algún tipo de programación aleatoria para elegir acelerar la persecución en 1 segundo o reducir la velocidad en 1 segundo a intervalos aleatorios que también se muestra mediante un LED como notificación visual. ¿Se puede hacer esto a través del microcontrolador Atmel AT89C2051?

Sí, todo eso es posible. ¿Qué has intentado hasta ahora?
Genial (: entonces puedo programar un aleatorizador, increíble. Todavía no he comenzado. Solo estoy buscando qué componentes necesitaré (:
Por supuesto que es posible, aunque no está muy claro qué significa "perseguir" y qué es exactamente lo que está tratando de mostrar. ¿Cuántos LED? El mayor problema podría ser controlar una gran cantidad de LED mediante multiplexación u otros medios.
Una persecución de LED es que las luces giran en un circuito que comienza con el primero y luego con el último. Solo hay 17 LEDS en total. (: se puede hacer gracias
Con solo 17 LED obtendría un microcontrolador con suficientes pines de E/S para controlar cada uno individualmente. Afortunadamente hay muchos de esos.
Sus principales desafíos en realidad serán introducir el programa en el circuito y generar el número aleatorio. Si no está firmemente comprometido con esa parte en particular, podría considerar un ATMEGA328p pre-flasheado con un cargador de arranque en serie "optiboot" que puede usar para ingresar su programa, o incluso ese chip ya instalado en una placa de desarrollo con integrado- en la conversión usb/serie llamada Arduino: no tiene que usar el software y las bibliotecas de arduino, aunque puede encontrarlos convenientes.
Creo que deberías mirar el código de un escáner Larson. Puede ayudarte, ya que creo que es similar a lo que estás tratando de hacer.
Creo que el registro de turnos es excelente, ya que lo uso en un proyecto futuro. Gracias por decirme que capcom y el blog son una gran fuente. Fue realmente útil.
Lea mi respuesta en esta publicación [circuito SFF del microcontrolador aleatorio LED] [1] [1]: electronics.stackexchange.com/questions/36982/…
tenemos un ganador (:

Respuestas (3)

Si desea intentar multiplexar o usar registros de desplazamiento, le recomendaría visitar estos enlaces:

El Arduino se usa en ambos tutoriales, pero debería ser relativamente fácil aplicar los mismos conceptos a su microcontrolador.

@capcom, ¿puede traer parte de la información usted mismo para que no suframos por la rotura del enlace? Ya hemos visto morir muchos enlaces desde que comenzamos nuestro sitio hace 3 años.
@Kortuk Está bien, está bien. ¿Puedo copiar/pegar para ahorrar tiempo? Gracias.
@capcom Depende de la protección anticopia que hayan utilizado. Wikipedia está bien de esa manera porque solo requieren atribución. Sugeriría principalmente resumir.

La forma más fácil es multiplexar los LED: hay un esquema en esta página . Es muy fácil:ingrese la descripción de la imagen aquí

Básicamente, enciendes un banco a la vez. Cambiando a más de 20 Hz, el ojo no lo notará. Luego puede programarlos para que se enciendan de la forma que desee.

+1 Estoy bastante seguro de que habrá personas a las que les molestará el parpadeo a 20 hz. Apuntaría mucho más, he conocido a algunas personas molestas incluso por el parpadeo de 30 Hz. 60hz, es donde yo empezaría.

Sí, lo que deseas hacer es bastante fácil. Pero ...

No, no puedes hacerlo con el microcontrolador AT89C2051. Echa un vistazo a su ficha técnica . (Miró la hoja de datos, ¿no?) En la descripción de la primera página dice "15 líneas de E/S". Esto significa que puede tener un máximo de 15 LED/botones/etc.

Deberá elegir un microcontrolador con al menos 19 líneas de E/S (17 LED + 1 interruptor + 1 piezoeléctrico). ¿Qué tal el AT89C51RC ? Tiene 32 líneas de E/S.

¿Por qué no usar un registro de desplazamiento como el 74HC595? ¿No funcionaría?
Esa respuesta muestra una clara falta de imaginación. Puede multiplexar los leds, usar un registro de desplazamiento, un expansor de io, pestillos... y podría seguir.
@Kristoffon Tal vez Rocketmagnet tuvo en cuenta el hecho de que el OP es un principiante en electrónica y no quería introducir circuitos integrados adicionales que pudieran confundir al OP.
@m.Alin Creo que si el OP está usando un AT89C2051 independiente, no tendría demasiado miedo de multiplexar o usar un registro de desplazamiento. Teniendo en cuenta que también hay una gran cantidad de tutoriales para principiantes.
Sí, lo siento, agregué algunos LED Rocketmagnet más, gracias por la información. La fuente de alimentación es solo de 3v de potencia. Ves que el problema es el costo y el espacio de trabajo. Necesito hacerlo con la menor cantidad de componentes posibles en un espacio de gabinete pequeño muy plano y por alrededor de £ 1, que es alrededor de 1,50 USD. Voy a comprar a granel de 1000 para obtener un poco más barato. Creo que un multiplexor o el registro de desplazamiento funcionará mejor para mí (: Y sí, Kristoffon, veo que hay muchas opciones, saludos.
Creo que el registro de turnos es excelente, ya que lo uso en un proyecto futuro. Gracias por decirme que capcom y el blog son una gran fuente. Fue realmente útil.
@iliaskafetzakis No hay problema. Pero solo para tirarlo, los registros de desplazamiento le costarán solo unos centavos cada uno si los compra en los 1000. Pero entiendo que desea mantenerlo al menor costo posible.
@Kristoffon: creo que eso es un poco duro. El OP suena como un principiante absoluto. Aparentemente nunca ha usado una MCU antes. Posiblemente ha escrito muy poco código antes. Esperar que haga multiplexación además de todo esto es demasiado.