Guida: La programmazione di micro ATMEL con Arduino [rel. 4]

I dettagli diventano importanti quando si lavora in AF, lì bisogna iniziare a pensare al condensatore non più come una semplice capacità, ma come un circuito più complesso (il circuito equivalente) e inserire nei calcoli, quando è possibile, tutte le caratteristiche date dal produttore per ottenere l'effetto voluto, e questo non solo sui condensatori ma anche su tutti gli altri componenti del circuito (pcb compreso).
Per approfondire un pò (ma non troppo) sui condensatori: http://www.itiomar.it/pubblica/Telecomunicaz/lezioni/3_anno/condensatori.pdf :slight_smile:

scusate se scrivo qui una domanda del PCB ma e inerente al pcb di questo progetto:

non trovo con il software EAGLE il componente atmega328, ho provato con nome niente, ho provato con atmel e mi ha dato la lista ma non ce il atmega328 o atmega 168 che e il suo equivalente.

aiutoooo

speriamo non sia cosi per tutti i componenti ...

arduinh3nk3r:
scusate se scrivo qui una domanda del PCB ma e inerente al pcb di questo progetto:

non trovo con il software EAGLE il componente atmega328, ho provato con nome niente, ho provato con atmel e mi ha dato la lista ma non ce il atmega328 o atmega 168 che e il suo equivalente.

aiutoooo

speriamo non sia cosi per tutti i componenti ...

Lo speriamo tutti, se scrivi un post per ogni componente che non trovi :stuck_out_tongue_closed_eyes:
Usa l'ATmega168 e lo rinomini, è assolutamente identico, oppure vai sul sito di Eagle e scaricati la libreria ATMEL.

:blush: ok

grazie

Libreria atmel, componente "mega8". E' equivalente.

innanzitutto, complimenti, e grazie per la guida!

per l'utilizzo in standalone, avete mica qualche schema da poter seguire, per evitare di fondere l'ATMega prima del tempo :slight_smile:

grazie mille

nsalnet:
innanzitutto, complimenti, e grazie per la guida!

per l'utilizzo in standalone, avete mica qualche schema da poter seguire, per evitare di fondere l'ATMega prima del tempo :slight_smile:

grazie mille

sì, la Guida, basta leggere :wink:

ROTFL XD

Forse non ha visto la guida ........

XD XD XD XD XD XD XD

http://www.michelemenniti.it/VHD/Elettronica/GPAT_v3.pdf :%

Ma secondo voi un atmega 8k è sufficiente per la maggior parte delle applicazioni? Quali librerie necessitano più di 8k?

xelendilx:
Ma secondo voi un atmega 8k è sufficiente per la maggior parte delle applicazioni? Quali librerie necessitano più di 8k?

Guarda, non è un discorso che si può fare così, il problema non sono solo le librerie. Io ho scritto un codice di oltre 9K (quasi 1300 righe), senza usare NESSUNA libreria, per il mio Programmatore HV. Posso dirti che per tutte le altre applicazioni il mega8 mi sarebbe andato bene, in un caso ho usato il tiny45, un 4+4pin con 4k di flash. SI usa il micro in base al progetto, non c'è una regola.

Per applicazioni con al più lcd, sensori di distanza, bluetooth e qualche altra cosa magari combinati assieme, secondo te 8k sono sufficienti?

xelendilx:

[quote author=Michele Menniti link=topic=60789.msg867171#msg867171 date=1342860195]
Guarda, non è un discorso che si può fare così, il problema non sono solo le librerie. Io ho scritto un codice di oltre 9K (quasi 1300 righe), senza usare NESSUNA libreria, per il mio Programmatore HV. Posso dirti che per tutte le altre applicazioni il mega8 mi sarebbe andato bene, in un caso ho usato il tiny45, un 4+4pin con 4k di flash. SI usa il micro in base al progetto, non c'è una regola.

Per applicazioni con al più lcd, sensori di distanza, bluetooth e qualche altra cosa magari combinati assieme, secondo te 8k sono sufficienti?
[/quote]
Non è possibile stabilirlo a priori, tu parli già di roba che richiede svariate librerie, ma non puoi fare un conto matematico in quanto la compilazione tiene conto solo di ciò che usi e NON dell'intera libreria, quindi penso proprio che prima si debba preparare tutto il firmware e poi si possa verificare. Ora faccio un semplice ragionamento: che necessità ho di sapere a priori che memoria mi serve quando i micro ATmega88, 168 e 328 hanno identica struttura e piedinatura e solo diversa quantità di memoria? Cioè tu puoi partire con un mega88 senza problemi, se poi superi gli 8K monti al suo posto un mega168, o viceversa parti con un mega328 e vai "a scendere" dopo aver fatto la prima compilazione. Ti assicuro che se in un circuito basato su un mega328 con un firmware che occupa 5K, sostituisci il micro con un mega88 e gli carichi lo stesso firmware, funziona all'istante.

Sisi, non è quello il problema.. E' che volevo ordinare un 3/4 micro ed ero orientato a prendere gli 8k visto che costano esattamente la metà dei 32k!

@xelendilix:
non è una questione di sola Flash, devi considerare anche l'occupazione di Ram.
Magari 8 kB di Flash possono anche contenere tutto il tuo programma però potresti avere problemi di Ram se usi molte variabili, array o stringhe. Insomma, i parametri sono molti e come dice Michele si sceglie la famiglia in base al progetto (se Atmega, Attiny ecc..) e poi la versione in base anche al codice ed alle librerie da utilizzare.

Tornando alle tue esigenze, forse un Atmega88 può non bastarti per tutte le cose che vuoi utilizzare.

Ho visto che hai cambiato nome al PDF. Hai anche aggiornato qualcosa?

No Paolo, mi sono incuriosito perché vedo la guida linkata dappertutto, ma siccome nessuno passa dal sito ho pensato di inserire un contatore di click, per farlo funzionare devo obbligare l'utente ad aprire la relativa pagina html, che poi è quella originale del mio sito. Ovviamente il download parte in automatico, ma così riesco ad incrementare il contatore. Naturalmente non potevo lasciare il nome originale (pensa che c'è gente che ancora scarica la versione 3, perché non sa che c'è la 4; quindi ho trasformato i nomi originali della 3 e 4 in due avvisi col link alla pagina html. Poi però ho visto che tu ti sei subito ricavato il link diretto e mi stai boicottando fornendo questo invece della pagina html =(. Ma comunque non ne posso fare un dramma. Una cosa è certa, sono rimasto sconvolto, non sono ancora passate 48 ore esatte ed il contatore indica 62 download :astonished:, considera che questa guida è stata pubblicata a Giugno 2012, anche considerando qualcuno come te che è andato a vedere per sola curiosità, sono sempre un sacco di contatti; quasi quasi aggiungo alla Guida il numero della mia PostePay per qualcuno che volesse ringraziarmi tangibilmente :grin:

Ok, la prossima volta linko la pagina. (Ho modificato alcuni vecchi post linkando correttamente il sito e non il PDF)
Non dirlo a pighi :grin:... lui ha dovuto incrementare la banda del suo host perché i suoi diagrammi vanno a ruba.

Grazie, ma non farti troppi scrupoli, è una curiosità statistica, ma anche un pizzico di soddisfazione :blush:
PI ha fatto un lavoro strabiliante, è bellissimo vedere quando qualcuno si appassiona a qualcosa che fa, soltanto per il piacere di metterlo a disposizione di tutti, gratuitamente, sono soddisfazioni impagabili!
Ciò che ha fatto è stato risolvere milioni di esigenze giornaliere di appassionati e neofiti, ovvio che avesse un successone oltre ogni ragionevole immaginazione XD
Io stesso l'altro giorno collegavo uno stand-alone ad un bel pò di roba con la sua scheda del 328P, ho risparmiato un sacco di tempo ed il solito accecamento a guardare lo schema della UNO.
Avevo iniziato a stampare le sue schede a colori ma poi, viste le continue variazioni e versioni, ho temporaneamente rinunciato. Aspetterò una decente stabilizzazione del lavoro e poi farò una specie di manuale in A4, da tenere sul banco all'occorrenza.
Nel frattempo il contatore è arrivato a 76 :sweat_smile:

posso consigliare il link alla pagina che "gira" di usarlo per postare sempre l'ultima versione, e poi eventualmente dei link diretti a quelle vecchie.

Per evitare il bypass: una soluzione elegante è nascondere ad apache (o meglio agli utenti) la cartella con i file. Quando un utente richiede il file in realtà chiama una pagina .php che nel codice setta l'header per sapcciarsi come file, apre il pdf richiesto in lettura binaria, e stampa al browser il contenuto:

<?php
   $name = "myFile.pdf";
   header("Content-type: application/octet-stream");
   header("Content-Disposition: attachment; filename=$name}");
   header('Content-Length: '.strlen($fileData));
   header("Pragma: no-cache");
   header("Expires: 0"); 

   echo $fileData;
?>

notare che l'heder fa anche in modo che non venga tenuta una copia del file nel browser, così che si scarichino sempre la nuova versione