Salve a tutti,
grazie per la tempestiva risposta.
Gli schemi sul come collegare i due display ad arduino, i sette fili in comune per i segmenti, e i transistor per i catodi comuni, li ci sono arrivato.
Quello che non capisco e non riesco a fare, e esattamente quello che BaBBuino; al livello pratico di codice scritto non capisco proprio come fare, ed e' per questo che vi chiedo aiuto.
Per pilotare un display, ho usato questo sketch preso da internet...
// Arduino 7 segment display example software
// http://www.hacktronics.com/Tutorials/arduino-and-7-segment-led.html
// License: http://www.opensource.org/licenses/mit-license.php (Go crazy)
// Define the LED digit patters, from 0 - 9
// Note that these patterns are for common cathode displays
// For common anode displays, change the 1's to 0's and 0's to 1's
// 1 = LED on, 0 = LED off, in this order:
// Arduino pin: 2,3,4,5,6,7,8
byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 }, // = 0
{ 0,0,1,1,0,0,0 }, // = 1
{ 1,1,0,1,1,0,1 }, // = 2
{ 0,1,1,1,1,0,1 }, // = 3
{ 0,0,1,1,0,1,1 }, // = 4
{ 0,1,1,0,1,1,1 }, // = 5
{ 1,1,1,0,1,1,1 }, // = 6
{ 0,0,1,1,1,0,0 }, // = 7
{ 1,1,1,1,1,1,1 }, // = 8
{ 0,1,1,1,1,1,1 } // = 9
};
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}
void sevenSegWrite(byte digit) {
byte pin = 2;
for (byte segCount = 0; segCount < 7; ++segCount) {
digitalWrite(pin, seven_seg_digits[digit][segCount]);
++pin;
}
}
void loop() {
for (byte count = 10; count > 0; --count) {
delay(100);
sevenSegWrite(count - 1);
}
delay(1000);
}
...speranzoso che con qualche ora di studio sopra sarei riuscito a carpirna i segreti, ma nulla, sono solo riuscito a farlo funzionare col mio arduino. (il codice fa un countdown da 9 a 0 a loop)
Quindi se volete aiutarmi con indirizzi di post ed altro, e spiegazioni vostre in merito, io vi ringrazio.
A mia discolpa tengo a dire che sono un elettrotecnico, con la passione per l'elettronica (elettronico mancato, diciamo...)conosco molto poco la programmazione (riesco a grandi linee a fare un stupido programma per plc...), quindi molti concetti mi sono sconoscuti.
Grazie, Bruser