Tabla de contenido:

Dispositivo antirrobo 'Solo en casa' / Utilice Attiny13 para conducir un motor paso a paso y un servo: 5 pasos
Dispositivo antirrobo 'Solo en casa' / Utilice Attiny13 para conducir un motor paso a paso y un servo: 5 pasos

Video: Dispositivo antirrobo 'Solo en casa' / Utilice Attiny13 para conducir un motor paso a paso y un servo: 5 pasos

Video: Dispositivo antirrobo 'Solo en casa' / Utilice Attiny13 para conducir un motor paso a paso y un servo: 5 pasos
Video: RFID (COPIARLOS) Regrabables, llaveros, tarjetas y bobinas (Aprende a copiar tus llaveros RFID) 2024, Diciembre
Anonim
Dispositivo antirrobo 'Solo en casa' / Utilice Attiny13 para conducir un motor paso a paso y un servo
Dispositivo antirrobo 'Solo en casa' / Utilice Attiny13 para conducir un motor paso a paso y un servo
Dispositivo antirrobo 'Solo en casa' / Utilice Attiny13 para conducir un motor paso a paso y un servo
Dispositivo antirrobo 'Solo en casa' / Utilice Attiny13 para conducir un motor paso a paso y un servo

Este podría ser uno de mis proyectos más extraños hasta ahora:-) Pero incluso si no está interesado en mantener alejados a los ladrones, este proyecto puede usarse para cualquier cosa en la que necesite conducir un motor paso a paso o un servomotor, o incluso varios motores de CC con un Attiny13 La mayoría recordará la película Solo en casa, donde McCauly Calkin intenta fingir a los ladrones que en realidad no está solo en casa, poniendo una figura de cartón en un tocadiscos y poniendo cuerdas en otra figura de cartón para poder imitar a la gente. Como estoy fuera de casa a menudo, soy muy consciente de dejar mi casa atrás como si todavía estuviera ocupada. Por eso publiqué anteriormente un 'Simulador en casa' que enciende las luces en un patrón específico con suficiente aleatoriedad para que sea parece que hay alguien presente. Agregué una 'TV falsa' que hace que parezca que hay una TV. Todas estas cosas ayudan, pero si se trata de simular presencia, no hay nada mejor que el movimiento real. Así que necesitaba algo que se moviera y como no tengo un tocadiscos y quería algo que pudiera funcionar mientras estaba fuera, necesitaba algo un poco más sólido. La forma más obvia de hacer que una figura de cartón creara una impresión de movimiento sería girarlo 90 grados para que alternativamente bloqueara la luz y no bloqueara la luz. Primero lo hice con un servo barato, pero eso me dio dos problemas: era difícil agregar una figura de cartón, incluso una no demasiado grande, al eje y una vez Lo hice, la resistencia sería demasiado para ese servo. Un servo más potente tuvo un aumento de precio muy pronunciado, así que comencé a pensar en 'Motor paso a paso'. Todavía tenía uno que era pesado debido al disipador de calor adjunto, por lo que parecía ideal. Un programa para encender el motor paso a paso se escribía fácilmente en un Arduino, pero el arrastre seguía causando un pequeño problema ya que mi figura de cartón tenía el tamaño de un torso humano (unos 80 cm de largo). O tenía que reforzar el cartón, haciéndolo más pesado, o tenía que hacerlo más pequeño. Esta última parecía ser la mejor solución, ya que podía acercarla a una luz. Durante todo ese tiempo también había estado jugando con la idea de que una figura se pusiera de pie. Motores, poleas, etc cruzaron por mi mente y aunque no he renunciado por completo a esa idea, por ahora solo decidí agregar una pequeña característica a la figura de cartón y esa era una cabeza móvil, mi idea era que la figura girara 90 grados, por lo que proyectaría una sombra completa, y luego haría que asentiera con la cabeza. y ahí es donde entró mi servo de nuevo. En realidad, no quería sacrificar un arduino completo solo para convertir una figura de cartón. En la caja, supuse que un Attiny13 que tenía por ahí podría hacer el trabajo igual de bien: 4 pines para el paso a paso, 1 pin para el servo. eso es exactamente lo que un Attiny13 tiene para ofrecer. Admito que a veces puedo ser muy denso porque pensé en todo tipo de escenarios de cómo operar la opción para trabajar en un momento específico, por un tiempo específico porque idealmente quería controlar desde el 'Simulador en casa' que mencioné anteriormente. Así que pensé en un cable o inalámbrico, pero el Attin13 no era la mejor idea porque tiene un problema con Manchestercode y necesitaba un pin para el receptor y la sensibilidad de esos receptores baratos no es tan buena. Así que ya pensé en un interruptor de temporizador comercial, pero luego me di cuenta de que estaba siendo un idiota. Como la cosa necesitaría su propia fuente de alimentación, ¿por qué no tomar un wallwart y ponerlo en un interruptor remoto que ya podía controlar desde mi simulador en casa? Entonces, comencé a construir mi diseño final.

Un servo económico Un motor paso a paso Una caja de cartón Un Attiny 13 Un enchufe IC de 8 pines Un trozo de placa de 9 tiras de 17 agujeros Algunos cables de extensión de servo Un ULN2003A Un enchufe IC de 16 pines Una resistencia de 10 k Una tabla de cortar de plástico (o alguna otra pieza de material liviano) Un conector macho de 3 pines (para servo) Cabezal macho de 6 pines (para motor paso a paso) cinta adhesiva para conducto (por supuesto)

Además: una forma de programar el Attiny

Solo un comentario sobre el motor paso a paso. Yo uso un viejo 55SI-25DAWC, pero si todavía tienes que comprar uno, hay disponible un combo de motor paso a paso / controlador muy barato: el 28BYJ-48. El motor en sí cuesta 1,50 euros, pero por 2 euros puedes conseguir el mismo motor con placa de conductor. entonces eso es un buen trato

Paso 1: 'Solo en casa' Construyendo al hombre de cartón

'Solo en casa' Construyendo al hombre de cartón
'Solo en casa' Construyendo al hombre de cartón
'Solo en casa' Construyendo al hombre de cartón
'Solo en casa' Construyendo al hombre de cartón

De una caja corté un trozo de 40x20 cm y un trozo de 18x18. Uní las dos piezas juntas como una cabeza y un torso, usando cinta adhesiva, dejando un pequeño espacio entre las dos piezas, pero cubierto por la cinta adhesiva, para formar una bisagra para el cuello. (Las imágenes lo dejan muy claro) De la vieja tabla de cortar corté un trozo de 20 cm de largo, aproximadamente medio cm de grosor (el grosor de la tabla) y aproximadamente 1,5 cm de ancho. El 1,5 cm fue suficiente para encajar en el eje de mi paso a paso. Si tienes un stepper diferente, asegúrate de que la pieza que cortaste sea lo suficientemente ancha para el eje de tu stepper. Perforé un agujero en el centro muerto que encajaría en mi eje. Luego pegué el plástico a la base del cartón 'Torso' debajo del 'cuello', con trozos de cartón construí un soporte para mi servo. Por supuesto, esto se puede hacer con un ángulo de hierro (o plástico), pero es un poco difícil de sujetar al torso de cartón, así que solo usé cartón para ajustar el servo. Agregué un brazo al servo hecho de una pieza de plástico de 11 x 0.6 x 0.6 de la tabla de cortar y lo adjunté al Servo. Una vez más, mire las imágenes para ver cómo se hace esto Aunque mi paso a paso era lo suficientemente pesado como para llevar una figura de cartón, el torque y el arrastre causado por su giro harían que el motor comenzara a `` caminar '', así que creé una placa base a partir de 24 * 11 cm de tabla de cortar. Perforé dos orificios para conectar el motor paso a paso y todavía tengo suficiente espacio para el controlador. Aunque el servo gira 180 grados, coloqué el brazo de manera que no coloque la cabeza completamente recta. De esa manera, retrocede fácilmente cuando el servo vuelve a la posición 0

Paso 2: 'Solo en casa' Construcción del controlador

'Solo en casa' Construyendo el controlador
'Solo en casa' Construyendo el controlador
'Solo en casa' Construyendo el controlador
'Solo en casa' Construyendo el controlador
'Solo en casa' Construyendo el controlador
'Solo en casa' Construyendo el controlador
'Solo en casa' Construyendo el controlador
'Solo en casa' Construyendo el controlador

El controlador es un Attiny13, conectado a un ULN2003. Aunque en mi versión he usado un poco más de pines para hacer que la placa sea más flexible para usar en otros proyectos, los únicos encabezados que necesita son un encabezado de servo macho de 3 pines y un encabezado macho de 6 pines para el paso a paso.

Paso 3: 'Solo en casa': el software

EDITAR 2019 El proyecto se realizó sobre la base del otrora popular núcleo 'Smeezekitty' para Attiny13. El MicroCore de MCUDude, que ahora se usa con frecuencia, aparentemente tiene problemas con las variables en las declaraciones delayMicroseconds. Si está usando ese, reemplace "delayMicroseconds (300 + p * (2500/180));" por "retraso (5)";

El programa anterior muestra cómo conducir mi paso a paso en particular y es posible que deba cambiar los valores que se escriben en PORTB si tiene otro paso a paso. Como el Attiny13 es bastante pequeño en memoria y tampoco proporciona demasiados pines, el programa pierde algo de sofisticación. Escribir directamente en PORTB está bien, pero en este caso también escribirá un "0" en PB4 y PB5. PB5 no es un gran problema, pero es posible que desee utilizar PB4. En mi caso ahí es donde pongo mi servo y eso realmente no causa ningún problema ya que no los uso al mismo tiempo.

Sin embargo, si desea usar otro microcontrolador como un 328 y desea evitar escribir en PB4 y PB5 y PB6 y PB7, use una máscara para escribir solo en el bit 0-3. La máscara para hacer eso es B00001111.

Si luego desea configurar los bits 0 y 2, haga lo siguiente:

En lugar de PORTB = 5, indique: PORTB = (PORTB & ~ mask) | (B00000101);

Para aquellos que encuentran esto demasiado críptico:

primero aplica un AND al valor de PORTB con NOT máscara y OR es el resultado con el valor que queremos escribir y lo asigna de nuevo a PORTB.

Entonces, suponga que PORTB = 00010000 y queremos escribirle 00000101, no podemos asignar eso inmediatamente porque eso borraría PB4.

Sin embargo, si hacemos lo que se describe, se convierte en:

PORTB = (PORTB & 11110000) | 00000101

PORTB = (00010000 y 11110000) | 00000101

PORTB = 00010000 | 00000101

PORTB = 00010101

Hemos escrito nuestro valor y conservamos PB4

Entonces, ¿por qué no podemos hacer OR PORTB inmediatamente con el valor que queremos en lugar de hacer un AND primero?

Bueno, porque eso podría mantener PB4 y PB5 … pero también mantiene PB3-PB0 sin cambios si uno de ellos ya contenía un "1"

Por supuesto, no sería necesario invertir la máscara si la definiéramos ya invertida, pero es una práctica común hacerlo como tal.

Paso 4: Disuasión de ladrones 'Solo en casa': Utilice

mira el video para verlo funcionar (se giró -90 grados, lo siento)

La intención de este dispositivo es proyectar sombras en movimiento sobre las cortinas o persianas. Por lo tanto, funciona mejor con cortinas de luz. El dispositivo en sí no debe ser visible desde el exterior. Asegúrese de que tenga una fuente de luz en algún lugar detrás. Lo controlo enviando una señal de RF al interruptor remoto en la toma de corriente que alimenta la fuente de alimentación de pared para este dispositivo, pero también puede usar un temporizador.

Paso 5: 'Solo en casa' Lo que no funcionó ……

Este video muestra uno de mis experimentos anteriores con un torso más grande y solo un servo simple. Obviamente no es un buen diseño.

Recomendado: