Show Posts
Pages: [1] 2 3
1  International / Generale / Re: Migliori tutorial per Arduino (Video) on: January 02, 2014, 03:16:44 pm
Il primo troppo dispersivo e da l'idea che non sappia nemmeno lui di cosa stia parlando.
Il terzo parla a raffica.
Il secondo è quello fatto meglio, a mio avviso, fatto da un appassionato per appassionati, la semplicità col quale si presenta e descrive le cose rende il tutto molto interessante ed è stato l'unico che ho guardato fino in fondo.
Secondo me a prescindere dal fatto che l'arduino sia "falsificato"  smiley-razz  o meno è quello fatto meglio.
Tanto tutti abbiamo un computer per fare una ricerca on-line e cercare il prezzo minore e se uno vuole qualcosa di affidabile si prende quello made in italy come ho fatto io che dai "falsificatori"  smiley-mr-green non ho mai preso e non prenderei mai niente.
Ovviamente è un opinione personale condivisibile o meno.

2  International / Generale / Re: Auguri di buone feste on: December 24, 2013, 03:17:22 pm
Tanti auguri di buon natale e buone feste a tutti
3  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 22, 2013, 04:46:16 pm
Code:
Vuol dire che adesso lui, cliccando sul link in alto a DX "Unread replies" lui vedrà questa discussione insieme alle altre dove ha partecipato  smiley-wink
hai capito questa non la sapevo
4  International / Hardware / Re: arduino fritto on: December 22, 2013, 04:24:21 pm
può tornare utile anche come ferma carte o lo puoi appendere in bella vista cosi ti ricordi di fare un po più di attenzione  smiley-mr-green
5  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 22, 2013, 04:22:14 pm
x iscrizione

è bello vedere che non sono l'unico a cui piace del buon vino....che significa
6  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 22, 2013, 04:19:43 pm
ed infatti mi sono fregato perchè quando avevo preso in mano arduino un anno fa per la prima volta avevo fatto delle prove ed appunto leggendo i 2.5V avevo collegato erroneamente analagWrite con la gestione della tensione.....ecco perchè alcune cose non tornavano smiley-roll-blue
Quindi posso utilizzare tranquillamente anche l'oscillatore interno a 1MHz per generarmi l'onda quadra cosi risparmio il quarzo.
Poi volevo chiederti anche delle informazioni sul Tiny ma dopo questa spiegazione e la bibbia.zip non penso ne avrò bisogno.

La domanda sul led ir te l'ho fatta perchè sui telecomandi non mi sembra di aver mai visto il transistor che pilota il led per quello ti ho chiesto.....mi correggo sul telecomando soni che ho sotto mano c'è il transistor di quelli piccoli piccoli ma c'è.....Spiegato anche questo arcano...

Leo che ti posso dire.....oltre ad un grazie mille e che sei stato come al solito molto chiaro e fin troppo gentile....grazie per la sacra bibbia.zip  smiley-mr-green ho dato un'occhiata ed è fatta bene, essenziale ma precisa e a averla avuta prima ti saresti risparmiato metà papiro....
Buone feste e grazie ancora dell'aiuto, dei chiarimenti, e del tempo che mi hai dedicato.
Ciao grazie ancora.....
P.S. ti ho già detto grazie?  smiley-mr-green
 Ciao
7  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 22, 2013, 02:57:44 pm
Quote
L'onda quadra che viene generata a 488 Hz è a 488 Hz, non c'entra 244 a 2,5V. Un'onda quadra è un'onda la cui frequenza è quella dichiarata. Il duty cycle indica solo il rapporto fra il tempo in cui il pin è a stato alto ed il tempo in cui il pin è a stato basso. Quindi con un duty cycle del 50% vuol dire che per metà del tempo il pin è alto (5V) e per l'altra metà è basso (0V).
quindi con analogWrite non imposto la tensione ma il duty cicle?
Mi sono risposto da solo a quest'ultima domanda.... smiley-roll-blue
e mi ero fregato perché col tester leggevo 2,5V .......sono andato avanti un anno nella mia errata convinzione
8  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 22, 2013, 02:52:54 pm
FPWM Fast power mode  smiley-sweat
Cioè posso tirarmi fuori tranquillamente i 38KHz anche facendo lavorare l'atmega a 1Mhz giusto?
9  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 22, 2013, 02:50:28 pm
2° questito
Quindi con queste righe vado ad impostare solo i bit che mi servono quindi di default i registri del timer hanno tutti i bit a 0 giusto?
Code:
TCCR2A = ((1<<COM2A0) | (1<<WGM21) | (1<<WGM20));
TCCR2B = ((1<<WGM20) | (1<<CS20));
Adesso è chiaro prima non mi diceva niente...l'aveva postato anche uefed il codice così volevo chiederti il significato ma mi sembrava di averti chiesto abbastanza.
10  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 22, 2013, 02:42:11 pm
scaricato lo zip finalmente qualcosa in italiano  smiley-grin
Si con l'inglese me la cavo ma non vado proprio d'amore e d'accordo.
Proprio Dante no ma cerco di essere chiaro soprattutto quando si tratta di problemi infatti quando hai detto
Quote
Se le pubblichi qui, te le spiego al volo.
Avevo immaginato che non sapevi a cosa stavi andando in contro smiley-razz
11  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 22, 2013, 05:40:09 am
Piccola premessa:
Grazie della disponibilità leo72 non ti spaventare non è lungo come sembra  smiley-mr-green.
Scherzi a parte quando hai voglia e tempo non ho un urgenza imminente....se vuoi puoi anche rispondere una alla volta in modo che non ti porti via troppo tempo  smiley-grin

1° Quesito ________________________________
Allora partiamo da questo codice che ho trovato ed approfondirò in seguito per conto mio ma volevo alcune delucidazioni
Code:
void setPwmFrequency(int pin, int divisor) {
  byte mode;
  if(pin == 5 || pin == 6 || pin == 9 || pin == 10) {
    switch(divisor) {
      case 1: mode = 0x01; break;
      case 8: mode = 0x02; break;
      case 64: mode = 0x03; break;
      case 256: mode = 0x04; break;
      case 1024: mode = 0x05; break;
      default: return;
    }
    if(pin == 5 || pin == 6) {
      TCCR0B = TCCR0B & 0b11111000 | mode;
    } else {
      TCCR1B = TCCR1B & 0b11111000 | mode;
    }
  } else if(pin == 3 || pin == 11) {
    switch(divisor) {
      case 1: mode = 0x01; break;
      case 8: mode = 0x02; break;
      case 32: mode = 0x03; break;
      case 64: mode = 0x04; break;
      case 128: mode = 0x05; break;
      case 256: mode = 0x06; break;
      case 1024: mode = 0x7; break;
      default: return;
    }
    TCCR2B = TCCR2B & 0b11111000 | mode;
  }
}

Da quello che ho capito va dichiarato nel setup e serve per scegliere il prescaler quindi con la funzione:

setPWMFrequency(3,8); (questa posso richiamarla dove voglio o è meglio definirla solo nel setup?)
analogWrite(3,127);

Scelgo un prescaler di 8 quindi ho 31250Hz / 8 = 3904Hz = 3,9KHz che non è altro che la frequenza base di lavoro del timer2 diviso un prescaler di 8 ottenendo con l'analogWrite Duty Cicle 50%  un onda quadra di 1,9Khz con picco massimo 2.5V?

Analogamente se

setPWMFrequency(3,64);
analogWrite(3,127);

ottengo la frequenza base di default 488Hz  D.C. 50% ed un onda quadra da 244Hz con picco 2,5V?
è giusto o mi son perso qualcosa?
questo pezzo di codice come va letto?
TCCR2B = TCCR2B & 0b11111000 | mode;

2° Quesito__________________________________________________________
la vera domanda analizziamo il codice per generare su pin 3  e 11 38Khz :
Code:
OCR2A = 211;
 TCCR2A = 0b01000011;
 TCCR2B = 0b00001001;

Guardando il datasheet
TCCR2A è il registro A del secondo timer e mi definisce le modalità in cui lavora:

0b
 mi sfugge

01
Imposto i bit 6:7 di Compare Output Mode
WGM22=0:Normal port Operation, OC0A disconnected.  ?????
WGM22=1:Toggle OC2A on compare match      ????

00
bit 4:5
mi risulta ->Normal port operation, OC2B disconeccted ovvero il comparatore B e scollegato e cosa intende per funzionamento normale della porta

00
bit  2:3
fortunatamente sono riservati  smiley-wink

11
i bit 0:1 del registro
Imposto in Fast PWM WGM20 e WGM21 e da quello che ho capito impostando questi due atomaticamente influisco sulla scelta
del 3 bit del secondo registro che mi definirà se il conteggio arriverà fino al MAX(conta da 0 a 255) oppure TOP(un valore da me definito nel comparatore OCR2A)
-----------------------
TCCR2B è il registro B del secondo timer e mi definisce il prescaler / TOP MAX/?FOC2A?:
0b
idem sopra

00
bit 6:7
sono i due FOC2 A e B che non ho capito bene a cosa servono ma ho capito che principalmente sono di default al 90% a 0

00
bit 4:5 fortunatamente riservati

1
bit 3 ovvero ili WGM22 che in questo caso è impostato come TOP ovvero definisco io quando azzerare il contatore

001
bit 0:1:2 i più facili che ci sono mi definiscono i prescaler in questo caso nessuno
--------------------
OCR2A è il comparatore A che va da 0 a 255 (8bit) viene confrontato costantemente col timer2 e in caso di riscontro positivo può generarmi un interrupt o una forma d'onda.
Con OCR2A=211 mi da una forma quadra a 5V con frequenza 38KHz.

Quello che voglio dire il 211 non centra niente con la tensione d'uscita giusto?è solo il limite per azzerare il contatore.

3° Quesito______________________________________________
Allora sempre spulciando in giro ho visto (forse è la stessa formula del datasheet ma letta là sembra aramaico) che per definire la Frequenza di uscita sul pin si usa la formula
FPWM=Fclk/(prescal*(max_val + 1)/2
dove Fclk è la frequenza MCU 16/8/1 MHz
il prescal per il timer2 è di 8/32/64/128/256/1024
(max_val+1) quindi 256  Perchè?
il 2 serve per considerare il duty cicle al 50%

Quindi per definirmi il valore di OCR2A sapendo a che frequenza voglio andare a lavorare è
OCR2A=Fclk/FPWM/prescal/2

quindi ipotizzando che voglio far lavorare il pin a 38.000Hz con 16.000.000Hz Frequenza MCU
OCR2A=16.000.000/38.000/1/2=210

ed ipotizzando che l'oscillatore interno sia affidabile avrei
OCR2A=1.000.000/38.000/1/2=13
Giusto?

Domande di contorno________________________________
1-Posso utilizzare l'oscillatore interno in FPWM?
2-(constatazione)Ho visto  che tu preferisci manipolare i bit uno alla volta...ho guardato il codice...al momento non ci arrivo quando incrementerò ancora le mie conoscenze proverò a capirlo.

3-Nello sketch che sto scrivendo per mandare i segnali ir a 38Khz sto usando un led ir alta efficcienza 100mA pilotato da un transistor con alimentazione esterna per non rovinare arduino e per arrivare all'intensità luminosa del telecomando ho ridotto fino a  togliere la resistenza di collettore ora se io collegassi direttamente il led al pin 3 si rovina l'atmega o per lo stesso principio di funzionamento del multiplexing posso farlo che non succede niente? ovvero il led resta attivo per poco tempo e quindi non sfora dai 40mA massimi? per quelli che leggeranno...so che è consigliabile non superare i 20mA continui.

4-Non mi viene in mente altro so che mi sto dimenticando qualcosa ma mi sfugge

P.S. le notifiche che è stata data una risposta mi arrivano in differita di circa 5-6 ore

Grazie ancora per la disponibilità
12  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 21, 2013, 03:00:13 pm
si scherza sempre con Leo  smiley ti consiglio di visitare il suo sito, se non ricordo male ha scritto un bel lavori riguardo l'uso dei timer, almeno hai una base di partenza, poi lo studio del data-sheet è certamente una cosa eccellente.

Son passato anche per il suo sito  smiley-grin non temere ho girato un po ovunque per cercare la maggior parte delle informazioni quando mi rivolgo a voi vuol dire che son proprio alla frutta  smiley-mr-green e non so più dove sbattere la testa
13  International / Software / Re: Libreria IRsend e NEC (comandare climatizzatori) on: December 20, 2013, 06:46:14 pm
Al momento sto sviluppando un paio di sketch per la decodifica del segnale ir sia per la ricezione del singolo impulso che per la pressione prolungata (perché alcune codifiche hanno un bit che serve per far capire se è premuto più volte di fila o se è una pressione prolungata) con relativo sketch di trasmissione appunto perché nella libreria mancano delle decodifiche....è ancora in fase di sviluppo o meglio è funzionante ma molto grezzo ho fatto solo un paio di prove...non aspettarti il codice perché è da sistemare e devo ancora verificare delle cose...
posso dirti che il telecomando del clima ogni volta manda tutti i comandi tipo:
- posizione delle alette per muovere l'aria - velocità ventola - temperatura - caldo o freddo- deumidificatore ecc ecc
non funziona come quello della tv che manda solo l'impulso del tasto premuto.
-non so se la portante è la stessa dei telecomandi tv ma mi pare che sia più bassa dei 38KHz

P.S. finché facevo delle prove avevo notato che tra il mio codice e quello del tizio della libreria (non mi ricordo mai il nome) lui imposta come predefinite (tra le tante altre cose) le pause di trasmissione tra un segnale e l'altro in base alle decodifiche che lui ha precaricato....per esempio segnale sony nella decodifica RAW di tizio il segnale parte con -45000, o una cosa del genere, mentre in realtà la pausa è messa a fine codice tra un treno di bit e l'altro e dovrebbe essere anche più breve di quella da lui scritta (ma come ti dicevo devo ancora fare dei test sul codice).
Andando a logica ed in teoria se tu decodifichi con la funzione RAW della libreria diversi tasti del telecomando tv/decoder (non ho ancora fatto la prova) e noti che tutti i segnali partono con il segno meno allora vuol dire che non decodifica correttamente il segnale del clima o che non è riconosciuto nella libreria....ripeto andando a logica.

P.S. 2
 i dati definiti "RAW" sono già parzialmente rielaborati basta che guardi sono tutti risultati "tondi" e uguali mentre i ricevitori, se non sbaglio, dovrebbero avere una tolleranza massima sui 200uS più o meno...forse un po meno.


  
14  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 20, 2013, 05:37:12 pm
Sotto natale siamo tutti più buoni  smiley-mr-green comunque sto studiando il datasheet e i vari esempi sul forum sulla manipolazione del registro del secondo timer per capire esattamente quelle tre righe di comando e presto avrò bisogno di un paio di chiarimenti tanto per diventare un attimino indipendente anche perché senza oscilloscopio devo basarmi solo sui conti   smiley-lol tanto da quello che ho visto ormai siete navigati sull'argomento  smiley-mr-green
15  International / Hardware / Re: Barriera IR semplice (1 metro di portata) on: December 19, 2013, 01:00:03 pm
@Leo72  @Astrobeed @Menniti
Vi voglio bene!!!!!!!!!!!!!!!!!
Sono riuscito finalmente dopo due giorni a mandare un segnale col telecomando!!!!!!!!
Non riuscivo a generare i 38 KHz ma grazie a questo post e quello correlato di Michele ci sono riuscito!!!!
Non volevo usare la libreria del famosissimo..non mi ricordo il nome la IRremote anche perché mancano alcune decodifiche di alcuni telecomandi.
a me serviva una cosa più grezza ma che funzionasse con tutti.
Ho scritto il programma per la decodifica e quello per mandare il segnale ir ma solo dopo mi sono accorto che doveva essere modulato a 38KHz e finalmente ci sono riuscito!
Grazie son troppo contento "il solito bambino col lecca lecca"
Ciao buone feste
Pages: [1] 2 3