Yahoo refuse tous les emails du site. Si vous avez une adresse chez un autre prestataire, c'est le moment de l'utiliser ;)

En cas de soucis, n'hésitez pas à aller faire un tour sur la page de contact en bas de page.

Topic "Commande d'afficheurs 7 segments et Arduino Uno"

Flux RSS des posts récents dans ce topic ( Flux Atom)


Pas de photo de profil

Suzimentvotre

Membre

#1084 | Signaler ce message


Bonjour, tout nouveau sur ce forum et grand débutant en Arduino…. Je viens d'acquérir une carte avec 4 afficheurs 7 segments chez AZ-Delivery. Il donne un programme assez complet que j'ai installé, mais il ne se passe rien au niveau de l'afficheur… Voici le programme :

#include <Arduino.h> #include <TM1637Display.h> #define CLK 2 #define DIO 3 #define TEST_DELAY 2000 // delay in miliseconds const uint8_t SEG_DONE[] = { SEG_B | SEG_C | SEG_D | SEG_E | SEG_G, // d SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // O SEG_C | SEG_E | SEG_G, // n SEG_A | SEG_D | SEG_E | SEG_F | SEG_G }; // E TM1637Display display(CLK, DIO); uint8_t data[] = {0xff, 0xff, 0xff, 0xff}; uint8_t blank[] = {0x00, 0x00, 0x00, 0x00}; void setup() { display.setBrightness(0x0f); } void loop() { turnON_allSegments(); turnON_segment(); display_numbers(); brightness_test(); ON_OFF_test(); display_DONE(); delay(5000); } void turnON_allSegments() { display.setSegments(data); delay(TEST_DELAY); } void turnON_segment() { // Selectively set different digits data[0] = display.encodeDigit(0); data[1] = display.encodeDigit(1); data[2] = display.encodeDigit(2); data[3] = display.encodeDigit(3); display.setSegments(data); delay(TEST_DELAY); display.clear(); display.setSegments(data+2, 2, 2); delay(TEST_DELAY); display.clear(); display.setSegments(data+2, 2, 1); delay(TEST_DELAY); display.clear(); display.setSegments(data+1, 3, 1); delay(TEST_DELAY); } void display_numbers() { // How to show decimal numbers in many ways display.showNumberDec(0, false); // Expect: ___0 delay(TEST_DELAY); display.showNumberDec(0, true); // Expect: 0000 delay(TEST_DELAY); display.showNumberDec(1, false); // Expect: ___1 delay(TEST_DELAY); display.showNumberDec(1, true); // Expect: 0001 delay(TEST_DELAY); display.showNumberDec(301, false); // Expect: _301 delay(TEST_DELAY); display.showNumberDec(301, true); // Expect: 0301 // one tab delay(TEST_DELAY); display.clear(); display.showNumberDec(14, false, 2, 1); // Expect: _14_ delay(TEST_DELAY); display.clear(); display.showNumberDec(4, true, 2, 2); // Expect: __04 delay(TEST_DELAY); display.showNumberDec(-1, false); // Expect: __-1 delay(TEST_DELAY); display.showNumberDec(-12); // Expect: _-12 delay(TEST_DELAY); display.showNumberDec(-999); // Expect: -999 delay(TEST_DELAY); display.clear(); display.showNumberDec(-5, false, 3, 0); // Expect: _-5_ delay(TEST_DELAY); display.showNumberHexEx(0xf1af); // Expect: f1Af delay(TEST_DELAY); display.showNumberHexEx(0x2c); // Expect: __2C delay(TEST_DELAY); display.showNumberHexEx(0xd1, 0, true); // Expect: 00d1 delay(TEST_DELAY); display.clear(); display.showNumberHexEx(0xd1, 0, true, 2); // Expect: d1__ delay(TEST_DELAY); } void turn_dots() { for(int k = 0; k <= 4; k++) { display.showNumberDecEx(0, (0x80 >> k), true); delay(TEST_DELAY); } } void brightness_test() { for(int k = 0; k < 4; k++) { data[k] = 0xff; } for(int k = 0; k < 7; k++) { display.setBrightness(k); display.setSegments(data); delay(TEST_DELAY); } display.setBrightness(4); } void ON_OFF_test() { for(int k = 0; k < 4; k++) { display.setBrightness(7, false); // Turn off display.setSegments(data); delay(TEST_DELAY); display.setBrightness(7, true); // Turn on display.setSegments(data); delay(TEST_DELAY); } } void display_DONE() { display.setSegments(SEG_DONE); }

Ma question, à quoi sert exactement ce programme ? Que doit-il se passer au niveau des afficheurs ?

Merci pour votre aide.

Derniére modification le par Suzimentvotre