seguendo la bella guida di michele menniti trovata qui sul forum , ho costruito un paio di shield per caricare il bootloader e lo sketch su un atmega vergine per usarlo poi in standalone.
le inserisco, una alla volta, sull'arduino uno.
gli stampati li ho fatti con il metodo "stira ed ammira" XD
gia' provate e funzionano.
ciao.
Ti conviene sostituire lo zoccolo con uno ZIF
E' più facile l'inserimento e l'estrazione.
Complimenti. ![]()
Edit: lo sketch Arduino as ISP prevede anche tre led per segnalare lo stato di funzionamento del programmatore.
Sono collegati hai pin 7, 8 e 9 se non sbaglio. Potresti aggiungerli.
li conosco gli zif, ne possiedo qualcuno, anche da 28 pin ,li usavo per programmare le eprom, che usavo con lo Z80 intorno agli anni 30d.c , anno piu', anno meno ,pero' sono piu' larghi .
zif? roba da ricchi! ![]()
ho visto che anche così vado benone, utilizzando un altro zoccolo sopra quello saldato sullo "shield"in modo che sfracco quello se proprio mi va male.
per i led, non ci ho pensato prima, nel caso che dovessi farne un'altra lo terro' presente.
grazie
ciao.
Un'altra cosa.
Così com'è la shield può essere usata solo sulla UNO e sulla vecchie DUEMILANOVE e precedenti; è incompatibile con la MEGA, la Leonardo e la DUE.
L'incompatibilità deriva dal fatto che la disposizione dei pin dell'interfacci SPI cambia; se nella prossima versione usassi quelli del connettore ICSP allora sarebbe utilizzabile anche con MEGA e Leonardo.
zif? roba da ricchi!
vero, qualche lustro fa', ora te li tirano dietro
In questo caso servirebbe lo ZIF da 28 pin. ![]()
visto, te li tirano proprio dietro, devo aggiornarmi.
alla prossima fiera di novegro, mi guardero' attorno.
PaoloP, ho capito, ma per ora non mettiamo troppa carne al fuoco, gia' con la uno, prima di padroneggiare la situazione,...
campa cavallo.
ciao
un'altro lavoretto, niente di che, fatto per la moglie di un mio amico che voleva sapere quando avviare la lavatrice e sfruttare la produzione dei pannelli solari.
premetto che l'errore si aggira intorno ai 60W in piu' o in meno (con la lettura ogni minuto, quello è l'errore minimo che si ottiene, meglio non si puo' fare)
il sensore è una fotocellula avvicinata al contatore di produzione del solare (metodo assolutamente non invasivo.)
si potrebbe implementare anche una trasmissione a distanza con un paio di moduli xbee, ma per ora lasciamo stare, (non ne sono capace) ![]()
la taratura al banco l'ho effettuata con un oscillatore fatto con un ne555 che accendeva un led al quale ho avvicinato la fr.
poi installato e controllato con la produzione effettiva ho visto che andava bene.
la moglie del mio amico mi ha ricompensato con una bella......torta.
per correttezza dico anche che il software l'ho copiato spudoratamente, ho fatto solo qualche marginale modifica.
le foto sono caricate non in sequenza.
ciao
Ma poi che fai? Lo inscatoli in qualche parete o lo metti in un box in abs?
messo in una scatolina di plastica dove sul lato anteriore ho ricavato la finestra per il display e sul lato superiore ci sono la presa jack per alimentazione, il pulsante di reset, ed il jack al quale fa capo la fotocellula che si trova a circa 3 metri dalla scatoletta.
il collegamento è fatto con cavetto schermato.
la scatoletta con il display si trova in cucina, la fotocellula sul contatore che è nel box.
per portare il cavo della fotocellula alla scatoletta ho praticato un foro con una punta da 8 mm che va dal box (cemento armato da 30 cm) alla cucina.
da 8mm perchè dovevo far passare il jack, perchè sarebbe bastato molto meno.
goldx:
messo in una scatolina di plastica ...
Riesci a fare una foto? Mi piace vedere anche poi la parte più di "bricolage" oltre all'elettronica. ![]()
Puoi allegare lo sketch?
pensavo che il "bricolage" non interessasse piu' di tanto.
comunque ecco le foto.
per il circuitino di taratura, non è colpa mia se finiva lo stampato prima della scritta! XD
per lo sketch , spiegatemi bene come si deve fare perchè ho letto (#) ma non vorrei prendermi un'altra cazziata. ![]()
ciao
Grazie per le foto.
Per allegare il codice è spiegato bene qui, sezione 7:
http://forum.arduino.cc/index.php?topic=149082.0
mi devi spiegare come faccio dal mio desktop o dalla cartella sketch di arduino a metterlo qui .........
abbi pazienza
grazie
1.Apri il programma dentro ad Arduino IDE.
2.menu->Strumenti->formattazione automatica
3.menu->Modifica->copia per il forum
4.poi sul forum usi incolla o Ctrl+V
//per rilevare lampeggio led contatore enel
//ingresso fotocellula al pin digitale 5
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
unsigned long P;#include <avr\io.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,8,7,4);void setup()
{
lcd.begin (16 ,2); //inizializzo lcd
lcd.print("ATTENDI STARTUP");
delay(5000);
lcd.clear();
lcd.print ("DATO DISPONIBILE");
lcd.setCursor(0, 1);
lcd.print ("fra...60 secondi");Serial.begin(9600);
}// inizializzo il contatore per contare gli impulsi presenti sul PIN5
void init_counter(void)
{cbi(TCCR1A, WGM10);
cbi(TCCR1A, WGM11);
cbi(TCCR1B, WGM12); // WGM12::WGM10 000 - Normal modesbi(TCCR1B, CS12); // CS12::CS10 111 - External clock, count on rising edge.
sbi(TCCR1B, CS11);
// ATTENZIONE!! togliere il commento ad una delle due righe seguenti (a seconda delle vostre esigenze)
sbi(TCCR1B, CS10); // togliere il commento se si vuole che il conteggio venga fatto sul fronte di salita
//cbi(TCCR1B, CS10); // togliere il commento se si vuole che il conteggio venga fatto sul fronte di discesaTCNT1 = 0x0000; // note that TCNT1 is 16-bits
}// restituisco il numero degli impulsi letti dal PIN5
unsigned int read_counter(void)
{
return(TCNT1); // numero di impulsi letti dal contatore
}// azzero il contatore degli impulsi sul PIN5
void clear_counter(void)
{
TCNT1 = 0x0000; // azzero il contatore
}//=============
void loop()
{
unsigned int count = 0 ; // conteggi lettiinit_counter() ; // inizializzo il contatore di impulsi
while(1)
{
delay(60000) ; // attendo 60 secondi
count = read_counter() ; // leggo il numero di impulsi fatti sino ad ora
Serial.println(count) ; // stampo numero di conteggi letti ogni 60 secondi...P= 3600/60*(count); //PRODUZIONE DEL MOMENTO
lcd.clear();
lcd.setCursor(0,0);
lcd.print ("PRODUZIONE F.V.");
lcd.setCursor (0, 1);
lcd.print (P);
lcd.setCursor (6, 1);
lcd.print ("WATT");Serial.println (P);//stampo produzione del momento
TCNT1 = 0X0000; //AZZERO CONTATORE
}
}
cosi?
non inorridite, probabilmente c'è un sacco di roba che non serve a nulla, ma come dicevo non sono per nulla ferrato in materia.
non ho fatto mistero, l'ho scoppiazzato brutalmente (non mi ricordo piu' dove).
ho aggiunto di mio solo le scritte per il display e la formuletta della lettura ogni 60 secondi.
comunque, bene o male funzia.
ciao.
Quasi. Invece di
[ quote] codice [/ quote]
devi usare
[ code] codice [/ code]
senza spazi, li ho messi per poterli vedere
Mi spiace che l'IDE se usi copia per forum mette quote invece di code.











