• 7-сегментный числовой индикатор 0.56 "(красный)

Простейший числовой индикатор с общим анодом позволит отображать цифры от 0 до 9 и конечно же точку!))

7-сегментный индикатор – очень простое устройство. Он представляет собой комбинацию 8 светодиодов (восьмой светодиод отвечает за точку) с общим катодом, которые можно включать в определенной последовательности так, чтобы они образовывали цифры. Следует обратить внимание, что в данном случае выводы 3 и 8 отведены под катод.


Код проекта:


/* 
Arduino-счетчик на 7-сегментном индикаторе с общим катодом
Выводы Arduino: 2,3,4,5,6,7,8
Выводы индикатора: 7,6,4,2,1,9,10
Выводы индикатора 3 и 8 должны быть соединены с землей
Кнопка на вывод 9
Источник: http://www.electroschematics.com/9636/arduino-segment-display-counter/
*/
byte numbers[10] = { 
                    B11111100, B01100000, B11011010, B11110010, B01100110, 
                    B10110110, B10111110, B11100000, B11111110, B11100110 
                    };
void setup() { 
    for(int i = 2; i <= 8; i++) {
        pinMode(i, OUTPUT); 
    }
    pinMode(9, INPUT);
}

int counter = 0;
bool go_by_switch = true;
int last_input_value = LOW;

void loop() {
    if(go_by_switch) {
        int switch_input_value = digitalRead(9);
        if(last_input_value == LOW && switch_input_value == HIGH) {
            counter = (counter + 1) % 10;
        }
        last_input_value = switch_input_value;
    } else {
        delay(500); 
        counter = (counter + 1) % 10;
    }
    writeNumber(counter);
}

void writeNumber(int number) {
    if(number < 0 || number > 9) {
        return;
    }
    byte mask = numbers[number];
    byte currentPinMask = B10000000;
    for(int i = 2; i <= 8; i++) {
        if(mask & currentPinMask) digitalWrite(i,HIGH); 
        else digitalWrite(i,LOW);
    currentPinMask = currentPinMask >> 1;
    }
}


7-сегментный числовой индикатор 0.56 "(красный)

  • Модель: 1459878440
  • Наличие: Есть в наличии
  • 25.00 р.