qqcreafis
| Inviato il: 23/09/2017 15:07:03
|
/*
Example Timer1 Interrupt
*/
#define IngressoAnalogico A0
#define ledPin 13
unsigned int ValoreLetto;
unsigned int ValoreLetto1;
unsigned int ValoreLetto2;
int timer1_counter;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(115200);
// initialize timer1
noInterrupts(); // disable all interrupts
TCCR1A = 0;
TCCR1B = 0;
TCNT1 = 0;
// Set timer1_counter to the correct value for our interrupt interval
//ti
//timer1_counter = 64911; // preload timer 65536-16MHz/256/100Hz
//timer1_counter = 64286; // preload timer 65536-16MHz/256/50Hz
// timer1_counter = 34286; // preload timer 65536-16MHz/256/2Hz
OCR1A = 31250; // compare match register
//OCR1A = 15625; // compare match register
//OCR1A = 7813; // compare match register
//timer1_counter = 1;
// TCNT1 = timer1_counter; // preload timer
// TCCR1B |= (1 << CS12); // 256 prescaler
//TCCR1B |= (1 << WGM12); // CTC mode
TCCR1B |= (1 << WGM12); // CTC mode
TCCR1B |= (1 << CS10); // 1 prescaler
// TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt
TIMSK1 |= (1 << OCIE1A); // enable timer con comparazione
interrupts(); // enable all interrupts
}
//ISR(TIMER1_OVF_vect) // interrupt service routine
ISR(TIMER1_COMPA_vect) // timer compare interrupt service routine
{
// TCNT1 = timer1_counter; // preload timer
ValoreLetto1 = analogRead(IngressoAnalogico);
ValoreLetto2 = analogRead(IngressoAnalogico);
ValoreLetto = ValoreLetto1+ValoreLetto2;
Serial.write((char*)&ValoreLetto,2);
//Serial.write("t");
//digitalWrite(ledPin, digitalRead(ledPin) ^ 1);
}
void loop()
{
// your program here...
}
perchè mi da tutti i pacchetti errati???
--------------- ODE AD UNO STUDENTE MERITEVOLE (Sermone) Allora Xyz è stato bravo! noi dobbiamo riconoscere che è stato molto bravo, bisogna dirlo ! In un mondo dove tutto SEMBRA uguale a tutto. In un mondo dove chi abbruttisce la dignità dell’intelligenza umana si arroga meriti. In un mondo in cui si dice che i giovani non hanno speranza perché “tanto non troveranno lavoro” perché tanto non “non avranno la pensione”. Xyz è stato bravo! ha capito tutto, ha fatto un compito perfetto. Xyz ci da una SPERANZA. Xyz non ha seguito le falsità che ci circondano. Xyz si è impegnato ed è riuscito nel suo intento.
| |
| | Bolle
| Inviato il: 23/09/2017 17:12:50
|
Risalito ora con la sola geoantenna orizzontale che sta sul canale2 ina103. Domani tento di risalire con le altre due : son ostanco morto...problemi (stupidi) a non finire!!!
Cavo nuovo...tutto nuovo ....trenne le schede....la scheda 3 mi si è fottuta.Mi manca un cavetto schermato....devo trovarlo a tutti i costi.
Tra un po posto le foto:sono decisamente soddisfatto....molto molto soddisfatto...incrocio le dita e spero che il prof mi metta la sufficienza...
--------------- Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | Bolle
| Inviato il: 23/09/2017 17:15:14
|
CITAZIONE (qqcreafis, 23/09/2017 15:07:03 ) 
perchè mi da tutti i pacchetti errati???
Fammi riprendere con la schiena...posto le foto...poi se riesco a
sganciare il collare (già scalpitano) gli do un'occhiatina
--------------- Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | Bolle
| Inviato il: 23/09/2017 17:40:01
|
Ora la scatola, volendo, me la posso prendere e portare via dentro casa...e lavorarci comodamente ...altro che pozzetto...appecoronato..








L'impiccio è stato con i cavi di rete...i colori del cavo sotto e quello sopra non coincidevano...ho dovuto trovare la corrispondenza e saldarli. La connessione a sinistra è quella che viene dal pc...mentre quella a destra va alle geoantenne!!!! Poi faccio lo schema dei collegamenti...in modo che rimane traccia...soprattutto per me!!!!!
Modificato da Bolle - 23/09/2017, 17:43:41
--------------- Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | Bolle
| Inviato il: 23/09/2017 17:53:02
|
CITAZIONE (qqcreafis, 23/09/2017 15:07:03 ) 
perchè mi da tutti i pacchetti errati???
Invii la somma dei due valori letti all'ADC in rapida successione...quelli sono due byte e non ho capito con quale SW di ricezione ricevi i dati. Cmq manca di sincronismo...cioè invii due byte ma non sai quale dei due arriva prima...cioè potresti allinearti ( per caso) e leggere sempre bene...ma potrebbe essere fortuna...se leggi il secondo byte e poi il primo della secondo word...non ti riallinei più.
Ad esempio, per evitare errori il Sw della geoantenna si sincronizza sul Byte di Start (testata)...e poi inizia a leggere...e da quel momento in poi si aspetta sempre che il primo byte del pacchetto sia lo start ..questo è il codice che gira nell'arduino:
START=170;
ValoreLetto= analogRead(IngressoAnalogico);
ValoreLetto2= analogRead(IngressoAnalogico2);
ValoreLetto3= analogRead(IngressoAnalogico3);
Serial.write((char*)&START,1); // TESTATA ...BYTE DI SINCRONISMO
Serial.write((char*)&ValoreLetto,2); // WORD DELLA GEOANTENNA1
Serial.write((char*)&ValoreLetto2,2); // WORD DELLA GEOANTENNA2
Serial.write((char*)&ValoreLetto3,2);// WORD DELLA GEOANTENNA3
Non so se ho capito la domanda...ma ipotizzo sia questo che chiedi...cioè occorre fare nel PC un SW di sincronismo adeguato.
Avevo scritto da qualche parte come funzicava il tutto...non mi sembra questo...ricordo ce avevo scritto qualcosa di molto più dettagliato..LINK
Modificato da Bolle - 23/09/2017, 17:59:37
--------------- Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | Bolle
| Inviato il: 23/09/2017 18:00:41
|
Evvvai...arriva il primo WF...LINK
--------------- Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | qqcreafis
| Inviato il: 23/09/2017 18:18:53
|
uso "GeoantennaQQCreafis.exe" forse è una ver troppo vecchia
--------------- ODE AD UNO STUDENTE MERITEVOLE (Sermone) Allora Xyz è stato bravo! noi dobbiamo riconoscere che è stato molto bravo, bisogna dirlo ! In un mondo dove tutto SEMBRA uguale a tutto. In un mondo dove chi abbruttisce la dignità dell’intelligenza umana si arroga meriti. In un mondo in cui si dice che i giovani non hanno speranza perché “tanto non troveranno lavoro” perché tanto non “non avranno la pensione”. Xyz è stato bravo! ha capito tutto, ha fatto un compito perfetto. Xyz ci da una SPERANZA. Xyz non ha seguito le falsità che ci circondano. Xyz si è impegnato ed è riuscito nel suo intento.
| | | | qqcreafis
| Inviato il: 23/09/2017 18:26:45
|
bellissimo lavoro.
stanno funzionando tutte e tre? vabbè solo il 2 ho rivisto ora
Modificato da qqcreafis - 23/09/2017, 18:30:04
--------------- ODE AD UNO STUDENTE MERITEVOLE (Sermone) Allora Xyz è stato bravo! noi dobbiamo riconoscere che è stato molto bravo, bisogna dirlo ! In un mondo dove tutto SEMBRA uguale a tutto. In un mondo dove chi abbruttisce la dignità dell’intelligenza umana si arroga meriti. In un mondo in cui si dice che i giovani non hanno speranza perché “tanto non troveranno lavoro” perché tanto non “non avranno la pensione”. Xyz è stato bravo! ha capito tutto, ha fatto un compito perfetto. Xyz ci da una SPERANZA. Xyz non ha seguito le falsità che ci circondano. Xyz si è impegnato ed è riuscito nel suo intento.
| | | | Bolle
| Inviato il: 23/09/2017 19:07:19
|
CITAZIONE (qqcreafis, 23/09/2017 18:18:53 ) 
uso "GeoantennaQQCreafis.exe" forse è una ver troppo vecchia
Usa GeoRecData.exe ...(lo dovresti avere ...te lo mando cmq in MP)premi il pulsante "APRI PORTA" e poi il pulsante "REGISTRA"
Gli devi mandare 7 byte a lettura:
170 'TESTATA
BYTE BASSO GEO1
BYTE ALTO GEO1
BYTE BASSO GEO2
BYTE ALTO GEO2
BYTE BASSO GEO3
BYTE ALTO GEO3
170 'TESTATA
BYTE BASSO GEO1
BYTE ALTO GEO1
BYTE BASSO GEO2
BYTE ALTO GEO2
BYTE BASSO GEO3
BYTE ALTO GEO3
170 'TESTATA
BYTE BASSO GEO1
BYTE ALTO GEO1
BYTE BASSO GEO2
BYTE ALTO GEO2
BYTE BASSO GEO3
BYTE ALTO GEO3
All'infinito...
Può darti un mancato sincronismo per i primi dati...poi si allinea.
--------------- Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | Bolle
| Inviato il: 23/09/2017 19:11:28
|
Codice per arduino:
#define IngressoAnalogico A0
#define IngressoAnalogico2 A1
#define IngressoAnalogico3 A2
#define ledPin 13
unsigned int ValoreLetto;
unsigned int ValoreLetto2;
unsigned int ValoreLetto3;
unsigned char START;
int timer1_counter;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(115200);
// initialize timer1
noInterrupts(); // disable all interrupts
TCCR1A = 0;
TCCR1B = 0;
TCNT1 = 0;
// Set timer1_counter to the correct value for our interrupt interval
//ti
//mer1_counter = 64911; // preload timer 65536-16MHz/256/100Hz
//timer1_counter = 64286; // preload timer 65536-16MHz/256/50Hz
// timer1_counter = 34286; // preload timer 65536-16MHz/256/2Hz
//OCR1A = 31250; // compare match register<span style="color: green;">questo è quello sopra<img border=0 src=faccine\biggrin.gif width=20 height=20></span>
OCR1A = 15625; // compare match register <span style="color: purple;">Fa 1024 è semplicemente la metà di qello sopra</span>
//timer1_counter = 1;
// TCNT1 = timer1_counter; // preload timer
// TCCR1B |= (1 << CS12); // 256 prescaler
TCCR1B |= (1 << WGM12); // CTC mode
TCCR1B |= (1 << CS10); // 1 prescaler
// TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt
TIMSK1 |= (1 << OCIE1A); // enable timer con comparazione
interrupts(); // enable all interrupts
}
//ISR(TIMER1_OVF_vect) // interrupt service routine
ISR(TIMER1_COMPA_vect) // timer compare interrupt service routine
{
// TCNT1 = timer1_counter; // preload timer
ValoreLetto= analogRead(IngressoAnalogico);
ValoreLetto2= analogRead(IngressoAnalogico2);
ValoreLetto3= analogRead(IngressoAnalogico3);
Serial.write((char*)&START,1);
Serial.write((char*)&ValoreLetto,2);
Serial.write((char*)&ValoreLetto2,2);
Serial.write((char*)&ValoreLetto3,2);
//digitalWrite(ledPin, digitalRead(ledPin) ^ 1);
}
void loop()
{
START=170;
// your program here...
}
E' fondamentale lo start...cioè il byte di sincronismo...
--------------- Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | | | | RAUNARDE
| Inviato il: 24/09/2017 10:01:44
|
Bolle non so come tu abbia collegato i cavi ma ricordati che devi rispettare i colori per non sbilanciare il cavo quindi se hai un segnale + e - devi metterlo sulla stessa coppia o blu/biancoblu o arancio/biancoarancio verde/biancoverde marrone/biancomarrone
se non combaciano i colori da sotto a sopra o quegli spinotti sono cross (in pratica invertono il verde/bive con Ar/biAR e Bl/bibl con Ma/biMa) altrimenti avevi attestato i cavi in modalità A uno e l'altro in B
| | | | | | | Bolle
| Inviato il: 24/09/2017 11:30:09
|
Vado giù con la geoantenna...
--------------- Un risultato se non è ripetibile non esiste (by qqcreafis).
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|