Utente:Carbowski/Arduino: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichetta: Editor wikitesto 2017
aggiunta codice contamarce
Etichetta: Editor wikitesto 2017
Riga 1:
== Conta marce Moto ==
Questo progetto realizza un conta marce per motoveicoli da 3 a 6 marce con display applicabile vicino alla strumentazione originale disponibile in vari colori (rosso, verde, blu).
 
=== Descrizione del progetto ===
Da ora non potrai più essere in dubbio su quale marcia hai appena ingranato! Usarlo è semplice: basta attaccarlo vicino la strumentazione o dove vi riamane più comodo utilizzando il veltro in dotazione che mantiene salda la presa in ogni circostanza ambientale. Per installarlo non basterà che sostituire l'asticella del cambio utilizzando quella in dotazione e il gioco è fatto.
 
Al momento della vendita specificare il colore del display tra quelli disponibili (rosso, verde, blu);lunghezza dell'asticella del cambio della vostra moto e il numero di marce (esclusa la folle).
 
=== Schema elettrico ===
 
=== Schema di montaggio ===
 
=== Codice ===
<syntaxhighlight lang="arduino" line="1">
int pinA = 2; //
int pinB = 3; //
int pinC = 4; //
int pinD = 5; // assegna una lettera a ciascun pin collegato ad un certo segmento del display
int pinE = 6; //
int pinF = 7; //
int pinG = 8; //
int pinHButton = 9; // pin del pulsante per aumentare la marcia
int pinLButton = 10; // pin del pulsante per scalare la marcia
int pinFButton = 11; // pin del pulsante per mettere la folle nel caso in cui siamo in prima
int counter = 0;
int valButtonOldH = LOW;
int valButtonOldL = LOW;
int valButtonoldF = LOW;
int Result = 0;
 
 
void setup() {
pinMode(pinA, OUTPUT); //
pinMode(pinB, OUTPUT); //
pinMode(pinC, OUTPUT); //
pinMode(pinD, OUTPUT); // definisci i pin del display in uscita
pinMode(pinE, OUTPUT); //
pinMode(pinF, OUTPUT); //
pinMode(pinG, OUTPUT); //
pinMode(pinHButton, INPUT); //
pinMode(pinLButton, INPUT); // definisci i pin dei pulsanti com input
pinMode(pinFButton, INPUT); //
}
 
 
void loop()
{
Result = constrain (counter,0,5); // Vincola il numero delle marce ad essere da 1 a 6
 
//*********************************************
int valButtonF = digitalRead(pinFButton);
 
if(valButtonF==HIGH && valButtonoldF ==LOW)
{
digitalWrite(pinA,LOW);
digitalWrite(pinB,HIGH);
digitalWrite(pinC,HIGH);
digitalWrite(pinD,HIGH); // Stampa F sul display
digitalWrite(pinE,LOW);
digitalWrite(pinF,LOW);
digitalWrite(pinG,LOW);
}
valButtonoldF = valButtonF;
 
//***********************************************
int valButtonH = digitalRead(pinHButton);
if(valButtonH==HIGH && valButtonOldH==LOW)
{ //aumenta le marce
counter = Result+1;
}
valButtonOldH = valButtonH;
//***********************************************
int valButtonL = digitalRead(pinLButton);
if(valButtonL==HIGH && valButtonOldL==LOW)
{ //decrementa le marce
counter = Result-1;
}
valButtonOldL = valButtonL;
//***********************************************
if(counter==0)
{
digitalWrite(pinA,HIGH);
digitalWrite(pinB,LOW);
digitalWrite(pinC,LOW);
digitalWrite(pinD,HIGH); // Stampa 1 sul display
digitalWrite(pinE,HIGH);
digitalWrite(pinF,HIGH);
digitalWrite(pinG,HIGH);
}
else if(counter==1)
{
digitalWrite(pinA,LOW);
digitalWrite(pinB,LOW);
digitalWrite(pinC,HIGH);
digitalWrite(pinD,LOW); // Stampa 2 sul display
digitalWrite(pinE,LOW);
digitalWrite(pinF,HIGH);
digitalWrite(pinG,LOW);
}
 
else if(counter==2)
{
digitalWrite(pinA,LOW);
digitalWrite(pinB,LOW);
digitalWrite(pinC,LOW);
digitalWrite(pinD,LOW); // Stampa 3 sul display
digitalWrite(pinE,HIGH);
digitalWrite(pinF,HIGH);
digitalWrite(pinG,LOW);
}
 
else if(counter==3)
{
digitalWrite(pinA,HIGH);
digitalWrite(pinB,LOW);
digitalWrite(pinC,LOW);
digitalWrite(pinD,HIGH); // Stampa 4 sul display
digitalWrite(pinE,HIGH);
digitalWrite(pinF,LOW);
digitalWrite(pinG,LOW);
}
else if(counter==4)
{
digitalWrite(pinA,LOW);
digitalWrite(pinB,HIGH);
digitalWrite(pinC,LOW);
digitalWrite(pinD,LOW); // Stampa 5 sul display
digitalWrite(pinE,HIGH);
digitalWrite(pinF,LOW);
digitalWrite(pinG,LOW);
}
else if(counter==5)
{
digitalWrite(pinA,LOW);
digitalWrite(pinB,HIGH);
digitalWrite(pinC,LOW);
digitalWrite(pinD,LOW); // Stampa 6 sul display
digitalWrite(pinE,LOW);
digitalWrite(pinF,LOW);
digitalWrite(pinG,LOW);
}
}
 
== Sbarra parcheggio ad infrarossi ==