Εισαγωγή
Σε αυτόν τον οδηγό θα μάθουμε πως να χρησιμοποιούμε ενα 7 seg display 4 ψηφίων με το Arduino UNO. Η συγκεκριμένη πλακέτα έχει ένα 74HC595 (shift register) IC για κάθε ψηφίο του. Στο συγκεκριμένο tutorial θα διαβάσουμε την αναλογική τιμή που μας δίνει ένα ποτενσιόμετρο και θα την τυπώσουμε στο display μας.
Ας ξεκινήσουμε! |
Τα υλικά που θα χρειαστούμεΓια το tutorial αυτό θα χρειαστούμε:
|
|
Το κύκλωμα
Η συνδεσμολογία είναι αρκετά εύκολη:
H συνδεσμολογία του Display:
H συνδεσμολογία του Display:
- VCC στα 5V του Arduino
- GND στο GND του Arduino
- SDD στο Pin 2 του Arduino
- CLK στο Pin 3 του Arduino
- LOAD στο Pin 4 του Arduino
- 1ο pin στα 5V του Arduino
- 2ο pin στο pin A0 του Arduino
- 3ο pin στο GND του Arduino
Ο κώδικας
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | /* * 4 Digitl 7 segment display PCB board with (4) 74HC595 shift register ICs * Arduino Tutorial - www.Ardumotive.com * Dev: Michalis Vasilakis // Date: 23/1/2018 // Ver:1.0 */ #include <ShiftRegister74HC595.h> // create shift register object (number of shift registers, data pin, clock pin, latch pin) ShiftRegister74HC595 sr (4, 2, 3, 4); const int pot = A0; int value,digit1,digit2,digit3,digit4; uint8_t numberB[] = {B11000000, //0 B11111001, //1 B10100100, //2 B10110000, //3 B10011001, //4 B10010010, //5 B10000011, //6 B11111000, //7 B10000000, //8 B10011000 //9 }; void setup() { //blink(); } void loop() { //Read from Analog1 value=analogRead(pot); //Split number to digits: digit4=value % 10 ; digit3=(value / 10) % 10 ; digit2=(value / 100) % 10 ; digit1=(value / 1000) % 10 ; //Send them to 7 segment displays uint8_t numberToPrint[]= {numberB[digit4],numberB[digit3],numberB[digit2],numberB[digit1]}; sr.setAll(numberToPrint); //Reset them for next read digit1=0; digit2=0; digit3=0; digit4=0; delay(1000); // Read and print every 1 sec } //Blink void blink(){ for(int i = 0; i<2; i++){ sr.setAllHigh(); // set all pins HIGH delay(1000); sr.setAllLow(); // set all pins LOW delay(1000); } } |
Κατεβάστε τον κώδικα απ' εδώ και ανοίξτε το αρχείο με το Arduino IDE. Μέσα θα βρείτε και την απαραίτητη βιβλιοθήκη,
|
|
Συγχαρητήρια!
Μόλις ολοκληρώσατε άλλο ένα "How to" tutorial και μάθατε πως να χρησιμοποιείτε το 4-Digit Seven Segment Display 74HC595 module.
Ελπίζω να σας άρεσε, αν θέλετε μπορείτε να αφήσετε το σχόλιο σας παρακάτω.
Ελπίζω να σας άρεσε, αν θέλετε μπορείτε να αφήσετε το σχόλιο σας παρακάτω.