Routine da utilizzare nel corpo del programma.
Nel programma vanno definiti i parametri di ingresso alla routine: R1, L1, R2,
Rele1 è il comando per il primo relé;
Rele2 è il comando per il secondo relé;
LED1 è una 'spia di equilibrio'.
/* -------------- Inizio Programma -----------------------------------------------------------------
* Azionamento relay per motoriduttori avanti / indietro
* Un potenziometro stabilisce la posizione angolare del motoriduttore;
* un sensore di posizione (a potenziometro), collegato "a ponte" con il primo, rivela il
* raggiunto equilibrio.
*/
// ------- I/O ---------------------------------------
#define rele1 11
#define rele2 12
#define Ledpin3 13
// ---------------------------------------------------
void titolo()
{
Serial.println(" - Tecnatron Creation - ");
Serial.println(" - tecnatron@gmail.com - ");
Serial.println(" - Azionamento relay per motoriduttori ");
Serial.println(" - Avanti / Indietro - ");
Serial.println(" ----------------------------------------------- ");
}
void azionamento(bool R1, bool L1, bool R2) // routine ausiliaria non richiamata direttamente.
{
digitalWrite(rele1, R1);
digitalWrite(Ledpin3, L1); // Led equilibrio
digitalWrite(rele2, R2);
}
void fermo() { azionamento (HIGH, HIGH, HIGH); }
void sinistra() { azionamento (HIGH, LOW, LOW); }
void destra() { azionamento (LOW, LOW, HIGH); }
void setup()
{
Serial.begin(9600); // velocità di comunicazione
titolo();
pinMode (rele1, OUTPUT);
pinMode (rele2, OUTPUT);
pinMode (Ledpin3, OUTPUT);
}
void loop()
{
// inserire qui il programma
}
// ------------------ Fine Programma --------------------------------------------
Nota:
Se non volete caricare troppo l'uscita di Arduino o del microcontrollore potete inserire uno stadio buffer a BJT sul piedino di uscita del canale di comando.
Nota:
Se non volete caricare troppo l'uscita di Arduino o del microcontrollore potete inserire uno stadio buffer a BJT sul piedino di uscita del canale di comando.
Nessun commento:
Posta un commento