Show Posts
Pages: 1 ... 646 647 [648] 649 650 ... 801
9706  International / Generale / Re: Esperimenti con una fotocellula on: September 25, 2011, 05:10:34 am
Il pin OUT genera un livello digitale HIGH per la durata del tempo che il TSOP riceve un fascio IR a 38KHz, se fosse proporzionale sarebbe un funzionamento analogico e NON digitale.
I 38KHz li puoi generare con un 555, ma se usi un ATmega328 li puoi generare con uno dei suoi timer, che lavorerebbe in background rispetto al resto del processore, è una tecnica spettacolare messa a punto, cone tre sole righe di codice, da Astrobeed.
9707  International / Generale / Re: Duch vs RTC ? battaglia persa on: September 25, 2011, 05:05:40 am
Cioè l'RTC lo sta usando come una specie di addobbo natalizio? mah! smiley-eek-blue
9708  International / Generale / Re: Quando i nanetti fanno oooh!? attiny45 e controllo sensore on: September 25, 2011, 05:03:35 am
Grazie a tutti, il problema è proprio quello del dubbio finale di Uwe:
Prima di mettere i nanetti, un qualsiasi minimo evento mi faceva scattale l'allarme, se il sensore si trovava giusto in prosimità di aprire o chiudere il contatto. Ho dovuto prevedere i nanetti per creare questa logica:
1 - alimento il nanetto, dopo 20 secondi lo metto a dormire
2 - al primo impulso il nanetto si sveglia, lo conteggia e si mette in ascolto, se nei successivi 20 secondi arriva un nuovo impulso non può essere un falso (verificato con certezza mediante prove) e allora mi manda l'impulso di allarme, poi si mette a dormire.
3 - se nei successivi 20 secondi non succede nulla lo interpreta come falso allarme, azzera il contatore e si rimette a nanna.
4 - Il ciclo ricomincia
Quindi devo semplicemente ignorare il primo impulso che arriva, o ogni impulso che arriva sporadicamente (so che c'è una parte di rischio ma è calcolata, se volete poi vi spiego la cosa).
Il vero problema è che prima e dopo il debounce potrei trovarmi con la condizione HIGH e quindi è come se non si fosse mosso; ma dall'intervento di Astrobeed mi rendo conto che in realtà io sto usando l'interrupt solo per svegliare il nanetto, quindi lo sketch riparte dal punto in cui avevo spento il micro; e dall'intervento di UWE mi rendo conto che il debounce è indispensabile.
In conclusione penso che mi basti mettere la mia routine nella void di risveglio, significa che l'impulso è arrivato, quindi non controllo più lo stato post-debounce e procedo col conteggio.
Semmai voglio capire se mi può essere utile il codice postato da lesto, al posto del delay.
E' chiara la situazione ora? avete suggerimenti diretti?

@ leo: il braccetto serve solo per mantenere sempre la rotella a contatto con la tapparella; è la rotella che, girando, scorre su un sistema meccanico interno che fa due contatti ogni giro completo.
9709  International / Generale / Re: Duch vs RTC ? battaglia persa on: September 25, 2011, 04:35:03 am
Veramente in quello shield io vedo solo un condensatore da 0.47F e basta sulla linea dell'RTC. Dove hai visto i condensatori da 1F?
0,47F corrisponde a mezzo Farad, è comunque una bestia di condensatore, sulla foto sembra una batteria a bottone, proprio accanto al chip e sopra il connettore power, ti accorgi che è un C per il bordo plastificato; non vedo jumper però ma leggo un "FOUT" in corrispondenza di un foro, forse va ponticellato in quanto si usa SOLO se non si prevede una batteria esterna che però andrebbe collegata sull'ingresso Li Batt e non in parallelo al C, visto che evidentemente non va.
9710  International / Generale / Re: Duch vs RTC ? battaglia persa on: September 24, 2011, 06:14:47 pm
No quello che dice Leo è normale se il tuo RTC perde l'ora, ovvio che in apparenza il condensatore non sta facendo il suo lavoro, controlla che non ci sia da attivare qualche jumper; in alternativa prova a collegare al volo una piccola vera batteria in parallelo al condensatore e vedi cosa succede. Se l'RTC riesce a mantenere l'ora ovvio che non hai più necessità di aggiornarlo.
9711  International / Generale / Re: Quando i nanetti fanno oooh!? attiny45 e controllo sensore on: September 24, 2011, 06:10:36 pm
@ Uwe: e come faccio? il sensore mica l'ho costruito io, ma forse non capisco io cosa intendi dire. D'altra parte dopo tre mesi sono ancora qui a fare test, se mi metto a modificare i sensori non ne esco più smiley-eek-blue In fondo devo solo superare un problema di logica, per il resto funziona tutto bene.

@ Leo: appunto, come temevo, ecco perché ho chiesto consiglio prima di stare lì a perdere tempo; a questo punto devo gestire tutto con l'interrupt, lasciando il delay, ma in questo momento (a quest'ora poi...) non ho idea di cosa posso fare.
9712  International / Generale / Re: Duch vs RTC ? battaglia persa on: September 24, 2011, 05:46:34 pm
Ah, ok, non conoscevo questo shield; in effetti molti usano un super-condensatore come sistema di backup, ma per che autonomia è garantito? Se togli l'alimentazione e la ridai all'istante si azzera lo stesso?
9713  International / Generale / Re: Duch vs RTC ? battaglia persa on: September 24, 2011, 05:30:39 pm
Ma il tuo RTC ce l'ha una batteria di backup? Altrimenti ovvio che allo spegnimento si azzera tutto.
9714  International / Generale / Re: Quando i nanetti fanno oooh!? attiny45 e controllo sensore on: September 24, 2011, 05:25:03 pm
A me pare che blocchi il codice, ad una prima occhiata.
D'altronde esegue dei controlli con i millis, non con gli interrupt.
non ho capito, ti riferisci al mio delay o alla libreria? Aggiungo che il sensore lo uso solo per svegliare il micro con il pin interrupt, invece a questo punto mi sa che devo rivedere tutto, ma tanto sono davvero quattro righe.
9715  International / Generale / Re: Quando i nanetti fanno oooh!? attiny45 e controllo sensore on: September 24, 2011, 05:10:41 pm
Sì l'avevo letto nella ricerca, c'è la nota proprio sulla pagina della libreria, ma avevo dimenticato il nome della nuova smiley-red.
Il vantaggio è quindi che non blocco l'mcu, ma ora devo ragionare nuovamente sulla logica sw, non avevo previsto la variabile NCprima-NCdopo e questo è un handicap, visto che la probabilità che il sensore si ritrovi nella stessa posizione è del 50%, decisamente un'esagerazione!

@ Uwe:
devo controllare la tapparella a prescindere dalla sua posizione originale, non è detto che sia sempre tutta chiusa, quindi posso usare o il sensore a cordina (che è scomodissimo) o questo sensore rotativo fisso, con una rotella sempre a contatto con la tapparella, che gira con essa e mi dà il contatto; purtroppo non ho suluzione alternativa per il sensore, o almeno così credo.
9716  International / Generale / attiny45 e controllo sensore - analisi del firmware on: September 24, 2011, 04:56:13 pm
Finalmente ho potuto fare un po' di prove con i miei nantetti montati nei cassonetti e mi sono reso conto di un bug nel debouncing del sensore. Il sensore è un elemento rotante meccanico, ruotando assieme alla tapparella genera un mare di rimbalzi impossibile da gestire senza debounce; il sensore gestisce un contatto aperto/chiuso e può stare in una posizione qualsiasi; con l'interrupt attivo il controllo ma con lo sketch davo per scontato che ad ogni movimento passasse da chiuso ad aperto, con un delay(200) superavo (confermato dall'oscilloscopio) la fase di rimbalzo e sembrava tutto ok.
In realtà mi sono reso conto che aprendo una tapparella di colpo, in 200ms si alza anche di 1 metro  smiley-eek e se a fine movimento per caso (e capita spesso) il sensore si ritrova nuovamente su chiuso, il contatore non si incrementa. Sono riuscito (a c...) ad aprire una tapparella di balcone in due alzate senza far scattare l'allarme; ovvio che così non può andare!
All'"epoca" ignoravo la libreria debounce, né l'ho studiata ora, ma prima di metterci mano voglio essere sicuro che non usi il delay, poi cercherò di studiare una logica software migliore. Vi allego lo spezzone di sketch:
Code:
void loop()
{
  // Lettura del sensore
  valueSensore=digitalRead(sensore); //leggo lo stato del sensore
  if (valueSensore==HIGH) // se il sensore (NC) è su HIGH significa che è attivo
    {
      delay(200); //ritardo antirimbalzo
      valueSensore=digitalRead(sensore); //rileggo lo stato del sensore
      if (valueSensore==LOW) // mi serve perché a volte il sensore rotativo resta su NA
        {
          contatore++; //incremento il contatore degli impulsi
          ritardo=0; //azzero il conteggio del ritardo a partire dall'ultimo impulso del sensore
        }
      else
        {
          counthigh++; //incremento un altro contatore se il sensore resta bloccato su attivo
        }
    }
9717  International / Generale / Re: Delucidazioni aerospaziali :) on: September 24, 2011, 04:40:40 pm
Il baracchino è sempre acceso da me, cè anche qualche francese o tedesco boh...non si capisce un accidente smiley
Dopo un inverno nucleare quando gli IC non funzioneranno più io parlerò con quello che sia una persona o uno zombie  smiley-twist smiley-twist smiley-twist

Comunque cè un altra banda ma molto bassa di freq che fa un botto di strada con poca potenza , devo informarmi.. è sul Khz ma non ricordo di preciso la modulazione e la freq
E' un principio fisico no? più è bassa la frequenza e più facilmente si superano gli ostacoli, se riesci a modulare una portante <100Hz te ne vai nei subsuoni ed usi la terra stessa come elemento conduttore, praticamente parli verso est e ti ascolti da ovest, magari con un po' di ritardo... smiley-lol
9718  International / Generale / Re: Delucidazioni aerospaziali :) on: September 24, 2011, 04:32:17 pm
Sono un ex-CB. Una volta erano pieni, i canali. Ora non più, O per lo meno non pieni di italiani.
Da me trovi ormai solo rumeni ed albanesi, che lo usano al posto del telefonino.

+1
spesso solo con lo scopo di non farsi intercettare, infatti ormai le forze dell'ordine controllano solo i telefonici, mentre sulla CB passa davvero di tutto. La CB è svanita proprio dopo l'avvento dei telefonini.
9719  International / Generale / Re: Ancora novità sul fronte Optiboot on: September 24, 2011, 04:29:46 pm
Già, poi noi divaghiamo facilmente smiley-red
Allora, preparo un 328 con ArduinoISP e ci metto su Optiboot, lo monto su Arduino (o uso un qualsiasi USB-serial converter) e ci metto uno sketck; lo sketch funziona solo la prima volta, al primo reset o interruzione di alimentazione Arduino (ma anche in stand alone è la stessa cosa) lo sketch non parte più, Arduino in particolare fa lampeggiare il led13 3 volte, come se ci fosse un problema di comunicazione col PC; non ho provato ma Astrobeed dice che basta mandare un qualsiasi carattere via seriale e lo sketch riparte, ma solo fino al prossimo reset o riaccensione.
9720  International / Generale / Re: Ancora novità sul fronte Optiboot on: September 24, 2011, 04:20:00 pm
Ciao Massimo,
che tu sappia, risolve sia il problema dell'autoreset che questo di cui stiamo parlando? Non tanto per lo stand alone, che potrebbe anche non interessarvi, ma il problema si manifesta anche se il chip viene montato su Arduino UNO.
Pages: 1 ... 646 647 [648] 649 650 ... 801