Nuovo micro per lo staff arduino

Ultimamente ho seguito una discussione sul forum internazionalehttp://arduino.cc/forum/index.php/topic,89781.0.html Si parla appunto di utilizzare l'attiny 13 con arduino , é in inglese ( e non piacerà a molti) ma anche google fà il suo lavoro . Il micro sembra essere utilizzabile nonostante le sue ridotte possibili prestazioni ma potrebbe risultare utile in piccoli progetti , spero possa essere utile a qualcuno Ciao Niko

Per me è stato utilissimo, ne ho un pò in package smd a prendere la polvere dentro un cassetto proprio per la mancanza del core. Grazie della segnalazione!

Attiny13.... cui prodest?

1 kB di Flash.. :cold_sweat: 64 byte di RAM :astonished:

In quei micro ci stanno programmi in assembly o, al max, in C puro di giusto qualche decina di istruzioni, del tipo: se vedi il pin 1 HIGH metti il pin 2 LOW, o viceversa.... non vedo [u]nessuna[/u] utilità pratica nell'uso di un simile chip per i progetti a cui siamo normalmente abituati

E dai, la botte piccola fa il vino buono :slight_smile:
Mi è capitato in diverse occasioni di usare un atmega8 solo per azionare un relè (un semplice timer).
Per piccole applicazioni dovrebbe andare.

Vedo piú sensato usare un Attiny85; la versione 20MHz costa su RS 2,94 lordi contro i 2,075 del ATtiny13. Ciao Uwe

@pelletta:

giusto per rendersi conto.... prendiamo questo stupidissimo sketch

void setup() {
    pinMode(0, INPUT);
    pinMode(1, OUTPUT);
}

void loop() {
    digitalWrite(1, !digitalRead(0));
}

Compilato per l'Attiny85 mi viene fuori una dimensione di 602 byte! Immagino che se ci fosse un core per l'Attiny13 saremmo comunque su quel taglio lì.... Chiaro che usando un core non ci farai mai nulla di buono, un core si porta dietro una marea di funzioni e costanti predefinite che tu magari non usi ma che vanno a pesare sul computo dell'hex finale. Ecco perché ti dico che in quei tagli di memoria ci metti giusto un programma in assembly.

@Leo72: Si si, il discorso è chiarissimo e concordo con quanto detto. Seguo la discussione nel forum internazionale perchè ne ho 5 a disposizione e vorrei cercare di utilizzarli, non mi piace tenere i componenti a fare la muffa. Finiti questi chi li prende più... ho già diversi attiny2313 e attiny85. La tua guida poi mi è stata davvero utile, ti ringrazio per averla resa disponibile.

leo72: In quei micro ci stanno programmi in assembly o, al max, in C puro di giusto qualche decina di istruzioni, del tipo: se vedi il pin 1 HIGH metti il pin 2 LOW, o viceversa.... non vedo [u]nessuna[/u] utilità pratica nell'uso di un simile chip per i progetti a cui siamo normalmente abituati

Esatto, questa tipologia di mcu è molto utile per sostituire IC logici, in alcuni casi anche analogici, convenzionali normalmente usati come glue logic tra device e micro, costano pochissimo sulla quantità, meno di 1$ l'uno, pertanto oltre allo spazio fanno risparmiare denaro. La loro programmazione si fa quasi sempre in Assembler o in C ANSI, nel secondo caso solo se il programma è molto semplice perché è un attimo riempire un 1k di flash (= 500 Word di programma) e i pochi byte di ram disponibili. Questo è un esempio pratico di utilizzo di una mcu di questo genere, si tratta di un fan controller che ho progettato per un ponte H. Invece di usare opamp e varie porte logiche ho impiegato una mcu della serie 12F (Microchip) low cost 8 pin con solo 1k di flash, per leggere un sensore di temperatura LM35 e generare un PWM per il controllo della velocità di una ventolina in funzione della temperatura, c'è anche un led con lampeggio a frequenza variabile come monitor della temperatura. Il software è scritto in C e sono meno di 50 righe con una dimensione finale di 802 byte.

Kit carino ;)

Ho scritto un piccolo sketch che comanda un relè tramite due pulsanti (è un semplicissimo timer) e lo carico su un attiny13A. Compilandolo per l'Atmega328 risulta grande 1238 byte, invece sorpresa delle sorprese compilandolo per l'Attiny13A viene 552 byte! Pensavo di non poter usare l'attiny13 invece mi ha fatto una gradita sorpresa.

Il core Tiny ha moltissime funzioni dell'Arduino rivedute e corrette. Dietro a quel core non c'è solo un lavoro di adattamento al tipo differente di micro ma anche di ottimizzazione del codice per diminuire l'occupazione di memoria, date le limitate capacità dei Tiny.

Troverai sempre una differenza in tal senso, a favore del codice compilato per i Tiny.