Ok... scusate ma non avevo visto le Vs ultime risposte... in questi ultimi giorni ho trascurato un pò....
Ok.. per la definizione del ponte radio data da kd2bgl.
Aggiungo che un ponte ripetitore è nella sua forma più semplice, composto da un ricevitore che lavora (riceve su una frequenza fRX, per esempio 145.150 MHz) e da un trasmettittore (trasmete su una frequenza shiftata più in alto o più in basso, di un opportuno valore affinche non disturbi il ricevitore vicino, per esempio 145.750 MHz) (i valori dati corrispondono al ponte radioamatroriale VHF che si chiama R6).
A questo sistema così semplice ci sono diverse varianti per esempio vedete qui:
che è il link nazionale radioamatoriale messo in piedi dal CISAR , cui mi pregio di appartenere.
dove un generico nodo, non ha solo un ricevitore ed un trasmettitore, ma almeno tre ricevitori e tre trasmettitori che hanno queste funzioni;
rx1 e tx 1 -- > gestiscono il collegamento sulla tratta 1 (immaginate con una antenna direttiva verso un'altro nodo)
rx2 e tx2 --- > gestiscono il collegamento sulla tratta 2 (immaginate con una antenna direttiva verso un'altro nodo)
rx3 e tx3 ---> gestiscono i collegamenti per la una diffuzione (immaginate con un'antenna omnidirezionale che cura la diffusione del segnale nella zona servita dal nodo)
ogni ricevitore ha un segnale di ricevitore occupato ( busy), che indica che il ricevitore staricevendo un segnale che ha superato la soglia di sensibilità minima preimpostata (squelch);
il segnale di busy, costituisce l'evento che dispone l'accensione (commutazione) dei trasmettitori in base alla modalità di funzionamento voluta.
chiaramente si possono definire diversi stati di funzionamento per sempio;
rx1 e tx 1 -- > attivo
rx2 e tx2 --- > attivo
rx3 e tx3 ---> disattivo
il nodo funge solo da transito e non si cura della diffusoine in loco
rx1 e tx 1 -- > disattivo
rx2 e tx2 --- > attivo
rx3 e tx3 ---> attivo
la tratta 1 è disattivata, perchè magari cè un uso improprio che giunge da quela lato della rete ..
quando il ponte effetua la connessione tra tratte operanti su bande diverse (ec. VHF ed UHF), si dice, che funge anche da trasponder Transponder - Wikipedia
oltre naturalmente alla possibilità di spegnere del tutto, per esempio per abusi sull'uso del ponte etc..
il cambiamento è l'impostazoine dei vari stati avviene tramite il telecomando DTMF, inviando dei codici di controllo prestabilità , che settano la modalità di funzoinamento come desiderato dal manutentore del ponte ....
il segnale DTMF può essere inviato o tramite uno dei tre ricevitori, oppure anche tramite un modulo GSM ..
adesso sto cercando di capire come implementare un piccolo web server per controllare alcune variabili e poterle modificare via http...
a chi è interessato spiego come definire la generica modalità di funzionamento:
Per ogni stato di funzionamento bisogna inserire un blocco di codice come questo.
case 0:
lcd.setCursor(0, 0); lcd.print("Md: 0 ");
if (bitRead(PINC, 0) && bitRead(busy, 0)) { busy1=B001; azioneA_1ptt = B0000; azioneA_1rit = B0000; azioneB_1 = B00000000; azioneC_1 = B00000000;} else { busy1=B111; azioneB_1 = B00000000; azioneC_1 = B00000000;}
if (bitRead(PINC, 1) && bitRead(busy, 1)) { busy2=B010; azioneA_2ptt = B0000; azioneA_2rit = B0000; azioneB_2 = B00000000; azioneC_2 = B00000000;} else { busy2=B111; azioneB_2 = B00000000; azioneC_2 = B00000000;}
if (bitRead(PINC, 2) && bitRead(busy, 2)) { busy3=B100; azioneA_3ptt = B0000; azioneA_3rit = B0000; azioneB_3 = B00000000; azioneC_3 = B00000000;} else { busy3=B111; azioneB_3 = B00000000; azioneC_3 = B00000000;}
break;
questa è la modalità 0, ovvero vedete che tutte le variabili azioneA_ptt, azioneA_rit, azioneB, e azoineC .. sono tutte 0, quindi al verificarsi dell'evento bitRead(PINC, 0) o bitRead(PINC, 1) o bitRead(PINC, 0), che sono i pin che rilevano la presenza del segnale di busy, non attiva nessun comando, essendo tutti 0 ...
vediamo, per esempio la modalità 1, essa potrebbe essere così (potrebbe, perchè in effetti deve essere adattata alla propria situazoine reale)..
case 1:
lcd.setCursor(0, 0); lcd.print("Md: 1 ");
if (bitRead(PINC, 0) && bitRead(busy, 0)) { busy1=B001; azioneA_1ptt = B1110; azioneA_1rit = B0000; azioneB_1 = B11100000; azioneC_1 = B11100000;} else { busy1=B111; azioneB_1 = B00000000; azioneC_1 = B00000000;}
if (bitRead(PINC, 1) && bitRead(busy, 1)) { busy2=B010; azioneA_2ptt = B1110; azioneA_2rit = B0000; azioneB_2 = B11100000; azioneC_2 = B11100000;} else { busy2=B111; azioneB_2 = B00000000; azioneC_2 = B00000000;}
if (bitRead(PINC, 2) && bitRead(busy, 2)) { busy3=B100; azioneA_3ptt = B1110; azioneA_3rit = B0000; azioneB_3 = B11100000; azioneC_3 = B11100000;} else { busy3=B111; azioneB_3 = B00000000; azioneC_3 = B00000000;}
break;
NB ... scusate per i B0000000 .... si puo, più giustamente, scrivere 0, semplicemente ...
cioè al verificarsi dell'apertura di uno squelch su un ricevitore (bitRead(PINC, 0), o bitRead(PINC, 1) o bitRead(PINC, 2)) si attivano tutti e tre i pin destunati al ptt (azioneA_1ptt = B1110 o azioneA_2ptt = B1110, o azioneA_3ptt = B1110) , questi pin come detto prima sono caraterizzati che il loro stato si mantiene per un tempo, in millisecondi (coda del trasmettitore), oltre la caduta del segnale di busy.
gli altri PIN (azioneB ed azioneC), servono per effetuare gli scambi nell'elettronica analogica (selezionare il segnale audio dal giusto ricevitore, ed inoltrarlo al giusto trasmettitore, azionare messaggi automatici preregitrsti in coda al messaggio etc..)...
etc...
la variabile busy serve a specificare la priorità e la mutua esclusione (se voluto) dei ricevitori...
per esempio questo
busy1=B001; (busy associato alla condizoine True) e busy1=B111 (associato alla condizoine false (else);
busy2=B010; (busy associato alla condizoine True) e busy1=B111 (associato alla condizoine false (else);
busy3=B100; (busy associato alla condizoine True) e busy1=B111 (associato alla condizoine false (else);
con questo
busy = busy1 && busy2 && busy3 ;
stabilisce la mutua esclusoine dei ricevitori, cioè quando si apre il primo ricevitore, poi vengono ignorati gli altri....
invece una configurazione così:
busy1=B101; (busy associato alla condizoine True) e busy1=B111 (associato alla condizoine false (else);
busy2=B110; (busy associato alla condizoine True) e busy1=B111 (associato alla condizoine false (else);
busy3=B100; (busy associato alla condizoine True) e busy1=B111 (associato alla condizoine false (else);
stabilisce una priorità del ricevitore 3 che non può essere inibito dagli altri ( ma che può inibire gli altri) ....
mi rendo conto di non essere molto chiaro. scusate... ed abbiate pazianza anche per i numerosi strafalcioni ortografici dovuti (spero) alla digitazione veloce
ciao
scrivete pure qui per altre info...