jacknpoe

Display 1 dígito 7 segmentos

Dec 8th, 2025 (edited)
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Arduino 1.11 KB | Software | 0 0
  1. #define pA 2
  2. #define pB 3
  3. #define pC 4
  4. #define pD 5
  5. #define pE 6
  6. #define pF 7
  7. #define pG 8
  8. #define pDP 9
  9. #define com_cathodo 0
  10. #define com_anodo 1
  11.  
  12. int pinos[] { pA, pB, pC, pD, pE, pF, pG, pDP};
  13. bool modoSegmento = com_cathodo;
  14.  
  15. byte numeros[10][8] {
  16.   { 1, 1, 1, 1, 1, 1, 0, 0},  // 0
  17.   { 0, 1, 1, 0, 0, 0, 0, 0},  // 1
  18.   { 1, 1, 0, 1, 1, 0, 1, 0},  // 2
  19.   { 1, 1, 1, 1, 0, 0, 1, 0},  // 3
  20.   { 0, 1, 1, 0, 0, 1, 1, 0},  // 4
  21.   { 1, 0, 1, 1, 0, 1, 1, 0},  // 5
  22.   { 1, 0, 1, 1, 1, 1, 1, 0},  // 6
  23.   { 1, 1, 1, 0, 0, 0, 0, 0},  // 7
  24.   { 1, 1, 1, 1, 1, 1, 1, 0},  // 8
  25.   { 1, 1, 1, 1, 0, 1, 1, 0}   // 9
  26. };
  27.  
  28. void setup() {
  29.   for( int indice = 0; indice < 8; indice++)
  30.     pinMode( pinos[indice], OUTPUT);
  31. }
  32.  
  33. void setModo( bool modo) {
  34.   for( int indice = 0; indice < 8; indice++)
  35.     digitalWrite( pinos[indice], modo);
  36. }
  37.  
  38. void imprime( int numero) {
  39.   setModo( modoSegmento);
  40.   for( int indice = 0; indice < 8; indice++)
  41.     digitalWrite( pinos[indice], numeros[numero][indice]);
  42. }
  43.  
  44. void loop() {
  45.   for( int indice = 0; indice < 10; indice++) {
  46.     imprime( indice);
  47.     delay( 1000);
  48.   }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment