Selettore di antenna, 2 canali indipendenti, con uscite 1 via / 2 posizioni
Il primo canale viene usato per commutare due antenne; il secondo canale viene usato per commutare un preamplificatore di ricezione.
/* ---------------- Inizio Programma -----------------------------------------
* Programma di Achille De Santis 22-03-2018 V.2.2
* Selettore "2 vie/2 posizioni" a relé tramite collegamento Bluetooth
* Piedini usati per seriale bluetooth: TX=>0, RX=>1
* Linee di uscita: D2 = antenne, D3 = preamplificatore
* Commuta 2 Antenne su una unica discesa in cavo coassiale.
* Un comando indipendente per preamplificatore di ricezione.
*
* Comandi:
* A = seleziona antenna A
* B = seleziona antenna B
* P = inserisce preamplificatore su linea antenna
* p = disinserisce preamplificatore antenna
* c = comandi
* t = titolo
*/
// ------------------- I/O -----------------------
#define i 2 // uscita comando relay
#define p3 3 // preamplificatore
// -----------------------------------------------
char dato;
void titolo()
{
Serial.println("\n- Tecnatron Creation ");
Serial.println("- tecnatron@gmail.com ");
Serial.println("- Selettore: 2 canali - 1 via/2 posizioni");
Serial.println("- posizione iniziale: Uscita A ");
Serial.println("- ---------------------------------------------");
}
void comandi()
{
Serial.println(" - Comandi: -");
Serial.println(" - A = antenna A ");
Serial.println(" - B = antenna B ");
Serial.println(" - P = inserisce preamplificatore ");
Serial.println(" - p = disinserisce preamplificatore");
Serial.println(" - c = comandi ");
Serial.println(" - t = titolo ");
Serial.println(' ------------------------------------------ ');
}
void accendi(int pin)
{ digitalWrite(pin, HIGH); // eccito il relè collegato al pin
scrivi(pin); Serial.println(" ON");
}
void spegni(int pin)
{ digitalWrite(pin, LOW); // rilascio il relè collegato al pin
scrivi(pin-1); delay(10); Serial.println(" ON");
}
void scrivi(int pin)
{ Serial.print("Antenna ");
Serial.print(pin);
}
void accendiPRE(int pin)
{ digitalWrite(pin, HIGH); // eccito il relè collegato al pin
Serial.println("Preampli RF: ON");
// Serial.println();
}
void spegniPRE(int pin)
{ digitalWrite(pin, LOW); // rilascio il relè collegato al pin
Serial.println("Preampli RF: OFF");
// Serial.println();
}
void setup()
{
pinMode(i, OUTPUT); // comando switch antenna
pinMode(p3, OUTPUT); // comando preamplificatore
Serial.begin(9600); // velocità di comunicazione
accendi(i); delay(500); spegni(i); // controllo iniziale
accendiPRE(p3); delay(500); spegniPRE(p3);
titolo();
}
void loop()
{while (Serial.available())
{ dato= Serial.read(); // carattere che viene ricevuto dalla seriale
Serial.print(dato); Serial.print(' ');
switch(dato)
{ case 'A': spegni(i); break; //
case 'B': accendi(i); break; //
case 'P': accendiPRE(p3); break; //
case 'p': spegniPRE(p3); break; //
case 'c': comandi(); break; //
case 't': titolo(); break; //
default: comandi();
}
}
}
// ------------------------- Fine programma ------------------------------------
Nessun commento:
Posta un commento