Autor Tema: APORTE - Experiencias con ATtiny85  (Leído 519 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado humberto 02

  • PIC16
  • ***
  • Mensajes: 190
APORTE - Experiencias con ATtiny85
« en: 02 de Diciembre de 2022, 12:23:03 »
Hola. Siempre miraba de lejos al ATtiny85. (No terminaba de asimilar como usarlo). Años atrás me hice (para el desarrollo de mi trabajo) un GPS que te da las coordenadas del punto en el que me encuentro.

Primero lo hice con un Arduino UNO… Luego lo mejoré haciéndolo con un Arduino NANO v3 y en lugar de hacer mi versión sobre un Atmega328p (siempre buscando reducir su tamaño). Pensé que el ATtiny85 podía ser un buen momento para hacerlo y probarlo.

En este aporte quería ahorrarte dos meses de intensa búsqueda para lograr “los primeros y firmes pasos” sobre nuestro ATtiny85.

No es mi intensión escribirte acerca de su configuración o carga del Bootloader. Porque en la Web hay excelentes videos que lo explican.

Pero en resumidas cuentas; quería dejarte  mis sensaciones:

- Pequeño, pocos pines (justo y necesario) de acuerdo a tus necesidades obviamente.
- Permite la Comunicación Serial (muy bien) y SPI,
- Sistema de Reset igual al de su hermano mayor (Atmega328p)

En mis pruebas solo me manejé con el reloj interno (sin problema alguno) 1 y 8 MHz

Realmente me satisfizo dejándome una excelente impresión personal.

Pero nada es tan perfecto. Su memoria de 512 bytes. Te demostrará (como lo fue en mi caso) que tanto sabemos de Programación Estructurada.

Que tanto recordamos o sabemos de trabajar con vectores, punteros, registros, campos y variables.

Aquí nuestro Kohinoor (como lo bautice, por el eslogan publicitario) “poderoso el chiquitin” nos dice que no es soplar y hacer botella. Como nos han mal acostumbrado las placas de Arduino o el mismo Atmega328p.

Pero para finalizar con este aporte. Solo quiero expresar mi más absoluta conformidad con este microcontrolador.

Hoy no puedo usar (como lo tenía pensado) a mi ATtiny85 con un Módulo Bluetooth + LCD + GPS; pero no tengo dudas; que la experiencia adquirida. Me ha servido muchísimo como no tengo dudas tampoco. Que más pronto que nunca lo emplearé en algún proyecto; que me permita ponerlo en el sitio que se merece.

Con este sketch veras que podrás vincularte con tu Modulo Bluetooth y enviar y recibir datos pudiendo mostrarlos en pantalla por medio de esta pequeña maravilla.

Con respecto a las librerías, solo puedo decirte: descarga del sitio Arduino.cc y no toques nada, no cambies nada como muestran y sugieren (por ahí) porque solo perderás tiempo (si es que no terminas tirándolo en un cajón).

Espero que este aporte algún día te sea de utilidad como lo ha sido en mi caso personal. Un gran y cordial saludo.

Código: [Seleccionar]
// 02/12/2022
// Empleo de LCD1602/04 y Modulo Bluetooth
// Con ATtiny85  (Bien básico para que lo modifiques a tu gusto)
//
#include <SoftwareSerial.h>
SoftwareSerial miBth(3,4);

#include <LiquidCrystal_attiny.h>
LiquidCrystal_I2C lcd(0x3f,16,2);

char caracter=' ';
String cadena="";

void setup(){
     miBth.begin(9600);
     lcd.init();
     lcd.backlight();
     
     pinMode(3,INPUT);  // Tx Bth
     pinMode(4,OUTPUT); // Rx Bth

     lcd.clear(); lcd.home();
     char renglon[17]="ATtiny85 c/Bth05";
     for (int i=0; i<17; i++){
          lcd.setCursor(i,0); lcd.print(renglon[i]);
     }
}

void loop(){
     bool haydata=false;
     while (miBth.available()>0){
            caracter=' ';
            char caracter=miBth.read();
            cadena+=String(caracter);
            haydata=true;
     }
     if (haydata){
         cadena.trim();
         cadena.toLowerCase(); // Convierto la Letra a minuscula
         if (cadena=="0"){cadena="0 CERO"; miBth.print("CERO~");}else
         if (cadena=="1"){cadena="1 UNO"; miBth.print("UNO~"); }else
         if (cadena=="a"){cadena="a AAA"; miBth.print("AAA~"); }else
         if (cadena=="b"){cadena="b BBB"; miBth.print("BBB~"); }else{miBth.print(cadena);}
         for (int i=0; i<16; i++){lcd.setCursor(i,1); lcd.print(" ");} // Limpio linea previamente
         int Largo=cadena.length();
         for (int i=0; i<Largo; i++){
              String letra=cadena.substring(i,i+1); lcd.setCursor(i,1); lcd.print(letra);
         }
     cadena=""; }
}
« Última modificación: 02 de Diciembre de 2022, 12:42:46 por humberto 02 »


 

anything