
Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:39




Hola amigos, Ha pasado un tiempo desde que publiqué mi último instructivo. Bueno, hay muchas cosas dando vueltas en mi cabeza en este momento, pero logré documentar mis "primeros pasos" con la serie de chips ATTiny en este breve instructivo para ti.
Pedí algunas muestras de ATTINY85 solo porque quería probarlas:-) (a todos les encanta probar cosas, ¿no?). Después de eso, comencé a dibujar algunas ideas en mi cuaderno. Para ser honesto, lo primero que hice fue hacer parpadear un LED que, como siempre, es un buen comienzo para verificar si su configuración / cadena de herramientas está funcionando. También probé un registrador de temperatura y humedad con DHT22 y SoftwareSerial. Eso fue complicado porque las bibliotecas DHT son principalmente para reloj de 16Mhz (si planea hacer algo así, verifique cómo preescalar el reloj interno). Pero decidí mostrarte algo que es, bueno, simplemente más divertido. BTW: Subí uno de mis dibujos para ti, no es un Rembrandt, pero te mostrará cómo conseguí esta idea (realmente) estúpida en una hoja de papel: -PAG.
Solo usé cosas que tenía por ahí para mantener este proyecto lo más barato posible (para mí). El resultado de esta pequeña aventura es un pequeño y agradable "robot seguidor de luz" por alrededor de 10-15 $ (3 $ para mí:-P)
Entonces, si está interesado en ATTINY, solo lea más.
Por cierto: perdón por mi mal inglés (no soy un hablante nativo)
Paso 1: Introducción a ATTiny y herramientas y materiales




Qué necesitará para comenzar:
- un chip ATTiny85
- un Arduino UNO o similar
- panel de control con un cable de puente o un programador ATTINY o haga usted mismo un escudo de programador para Arduino (consulte las imágenes adjuntas, hay un esquema de avdweb.nl). También hice este y estoy muy contento con él. La única modificación que hice fue que agregué un enchufe para la Serie ATTinyx4 (consulte la imagen y los diagramas de pines).
- el IDE de Arduino (consígalo aquí)
- los archivos de hardware para ArduinoIDE (descargarlos e instalarlos)
Enlace de información al patio de recreo Enlace directo a los archivos github que utilicé
- cargue el Arduino como boceto de ISP en UNO (este será su programador)
- siga esta instrucción (https://highlowtech.org/) o este instructable (por ardutronix) y pruebe el boceto "parpadeante" (modifique el PIN Nr. use la imagen ATTINY como referencia! Necesitará el ATTINY preflash un LED y una resistencia de ~ 220 ohmios para eso)
Haga una pequeña configuración de tablero para verificar todo. Si ha hecho todo bien, el LED parpadeará y estará listo para comenzar.
INSTRUMENTOS
- Soldador - algo de soldadura - un cortador de alambre pequeño - un dremel u otra herramienta rotativa (¡solo para cortar la PCB!) - algo de pegamento caliente - pinzas - cables
MATERIALES
- PCB prototipado (~ 4cmx6cm lo hará) - 2x LDR- 5x Resistencia 10k (2x para los LDRs y 2x para los transistores BE, 1x LED) - 1x Resistencia 330Ohm (1x NEOPIXELS) - 2x LDR- 1x LED (color de tu opción, en lugar de la rueda giratoria) - 3x NEOPIXEL WS2812- 2x Transistor (BD137 o similar) - 2x Diodo (1N4001 o similar) - 2x micromotor (por ejemplo, de un microcuadricóptero Hubsan) - 1x ATTINY85 + opcional (recomendado) 8PIN Zócalo IC - 1x 1s LIPO (utilicé un 140Ah de un viejo helicóptero RC) - algunos cabezales de clavija / enchufes - tubo retráctil (carcasa LDR)
Procedamos construyendo el hardware …
Paso 2: hardware



Si echas un vistazo a los esquemas que adjunto, la configuración del hardware es bastante simple. Entonces, si eres capaz de leer esquemas y usar un soldador, eso es la mitad del truco. También eche un vistazo a las fotos, agregué algunas notas para usted.
No proporciono un plan para cortar la PCB, tienes la libertad de hacer tu propio diseño (sé creativo y muéstranos tus Tiny Bots). La colocación de todos los componentes electrónicos también depende de ti. Algunas pistas de mi lado:
Intente alinear los motores con precisión (¡cuidado con el ángulo!), Solo usamos el eje del motor en lugar de ruedas. (esto consumirá menos energía) Recomiendo colocar los motores debajo de la batería (peso) y usar los LDR en la parte delantera (en ángulo de 45 °) emparejados con un LED (estoy tratando de usar esta combinación para evitar obstáculos, además se necesitan pruebas).
Además, recomiendo hacer un pequeño puente de encendido / apagado para que la batería no se pierda tan fácilmente.
Si hay algo que no está claro o si tiene alguna pregunta, simplemente pregúnteme. No costará mucho hacer una tesis de este pequeño proyecto.
Paso 3: software


Primero descargue e instale ADAFRUIT Neopixel Library
Aquí está mi código con algunas descripciones importantes (también agregué el archivo de boceto). No comenté cada paso porque creo que no es necesario.
Sube el boceto a tu ATTiny85 y diviértete con tu nuevo juguete
Las ideas para la función de "personalidad" + tal vez ejemplos de código son muy bienvenidas:-)
Si tiene alguna pregunta, no dude en preguntar.
Espero que hayan disfrutado de mi breve instructivo y el pequeño viaje al mundo de ATTINYs.
/ * ATTINY85-Rata simple robot de seguimiento de luz alimentado ATTINY85. Versión 2.0, de Auer Markus * /
#incluir
#incluir
// motores
#define LMOTOR 0 #define RMOTOR 1 // LEDs #define PIXELPIN 2 #define NUMPIXEL 3 // LDRs #define LLDR A2 #define RLDR A3
// otherint emo = 0; calibre de flotación; emostato booleano; long oldmillis; // define NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
configuración vacía ()
{// reloj de mayor escala, de lo contrario, encontrará algunos problemas de sincronización (la biblioteca de neopixel está escrita para 16MHz) #if definido (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #terminara si
// PINMODE pinMode (LMOTOR, SALIDA); pinMode (RMOTOR, SALIDA); pinMode (LLDR, ENTRADA); pinMode (LLDR, ENTRADA); // inicializar píxeles PIXEL.begin (); PIXEL.show (); retraso (500); // secuencia de inicio para (int i = 0; i
bucle vacío ()
{if (lightfollow () == 1) {left (); } else if (lightfollow () == 2) {right (); } else if (lightfollow () == 0) {forward (); } emoción (); }
int lightfollow () {
int umbral = 14; int resultado = 0; flotar a la izquierda = 0; flotar a la derecha = 0; int samples = 1; // leer LDR para (int j = 0; j <samples; j ++) {
izquierda = izquierda + analogRead (LLDR); derecha = derecha + (analogRead (RLDR) * calib);
}
// calcula el resultado (¿de qué dirección viene la luz?)
if ((izquierda / muestras)> ((derecha / muestras) + umbral)) {resultado = 2;}
else if ((izquierda / muestras) <((derecha / muestras) -treshold)) {resultado = 1;}
else {resultado = 0;}
devolver resultado; } void forward () {// Forward analogWrite (LMOTOR, 230); analogWrite (RMOTOR, 230); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
vacío a la izquierda () {
// IZQUIERDA analogWrite (LMOTOR, 150); analogWrite (RMOTOR, 255); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); //PIXEL.setPixelColor(1, PIXEL. Color (75, 0, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 100, 0)); PIXEL.show (); }
void right () {
// DERECHA analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
// esto es para más experimentos, tratando de darle a este un poco de personalidad:-) Estoy probando lo que podría ser capaz de hacer, pero todavía no tengo buenas ideas.
emoción vacía () {int emotimer = 2500; int duración = aleatorio (250, 750); if (millis () - oldmillis> emotimer) {oldmillis = millis (); emo = aleatorio (1, 4); } if (millis () - oldmillis> duración) {emostate =! emostate; } if (emostate == true) {switch (emo) {caso 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show (); rotura; caso 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.show (); rotura; caso 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.show (); rotura; predeterminado: PIXEL.setPixelColor (1, PIXEL. Color (aleatorio (0, 255), aleatorio (0, 255), aleatorio (0, 255))); PIXEL.show (); rotura; }} más {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show (); }}
Recomendado:
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: 26 Pasos (con Imágenes)

Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: Que tal amigos, siguiendo con las revisiones de placas y sensores, con el aporte de la empresa DFRobot, hoy veremos una placa con prestaciones muy interesante, y es ideal para el desarrollo de prototipos robóticos y el control de motores y servos, d
FuseLight: convierte la luz de tubo vieja / fusionada en luz de estudio / fiesta: 3 pasos (con imágenes)

FuseLight: Convierta una luz de tubo vieja / fusionada en una luz de estudio / fiesta: aquí convertí una luz de tubo fusionada en una luz de estudio / pieza usando algunas herramientas básicas, luces rgb e impresión 3D. Debido a las tiras de LED RGB utilizadas, podemos tener múltiples colores y tonos
Seguidor De Luz Simple: 5 Pasos

Seguidor De Luz Simple: ¡Hola chic @ s! En esta oportunidad vamos a armar un seguidor de luz simple con una Arduino con un par de fotorresistencias y motores, te recomendamos que en lugares de poca iluminación e interiores ¿Te imaginas sales al aire libre a probarlo y el
Luz de humor animada y luz nocturna: 6 pasos (con imágenes)

Luz de ambiente animada y luz nocturna: teniendo una fascinación que roza la obsesión por la luz, decidí crear una selección de pequeños PCB modulares que podrían usarse para crear pantallas de luz RGB de cualquier tamaño. Habiendo hecho el PCB modular, me topé con la idea de organizarlos en un
Luz intermitente LED doble sensible a la luz: 13 pasos

Luz intermitente LED doble sensible a la luz: Hola amigo, hoy voy a hacer un circuito de luz intermitente LED doble sensible a la luz. Significa que los LED parpadearán alternativamente cuando no caiga luz sobre el LDR y los LED brillarán continuamente cuando la luz esté en el LDR. Empecemos