Salve, premetto che sono un principiante e che ultimamente sto riscontrando un problema di cui non ho trovato soluzione su internet, spero possiate aiutarmi
Mi sto occupando del classico progettino dell'ascensore e sto usando Arduino Mega 2560:
Ad ogni piano ho pensato di inserire un display a 7 segmenti per mostrare il piano in cui si trova la cabina, per farlo ho pensato di usare il 74HC595, un registro a scorrimento che comandato da arduino mi segnalasse il numero occupando solo 3 pin sulla scheda, fin qui tutto facile e sopratutto funzionante, sulla scheda Arduino UNO, che ho usato per testare il circuito e il codice su un singolo display.
Arrivato al corretto funzionamento del circuito sono passato a collegarlo ad Arduino Mega, e qui sono iniziati i problemi. Vi mostro comunque il codice:
int dataPin = 6;
int latchPin = 8;
int clockPin = 10;
const byte numero[4] = {
0b11111100, // 0
0b01100000, // 1
0b11011010, // 2
0b00000000, // 4
};
void setup(){
pinMode(dataPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop(){
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, numero[0]);
digitalWrite(latchPin, HIGH);
delay(2000);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, numero[1]);
digitalWrite(latchPin, HIGH);
delay(2000);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, numero[2]);
digitalWrite(latchPin, HIGH);
delay(2000);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, numero[4]);
digitalWrite(latchPin, HIGH);
delay(2000);
}
Data, Latch e Clock come per il circuito di prova su Arduino UNO sono collegati a dei pin digitali, ma mentre sul primo sembra funzionare con il MEGA il display non cambia e rimane fisso con tutti i segmenti illuminati.
Mi chiedo quindi se sia dovuto a qualche problema hardware della mia scheda (che vorrei escludere visto che con altri codici sembra funzionare normalmente), oppure se non ho tenuto conto di qualche differenza tra le due schede che deve portarmi a cambiare codice o collegamenti.