You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

98 lines
1.6 KiB

#include "Arduino.h"
#include "segNums.h"
SegDisp::SegDisp(int pins[8])
{
for (int i = 0; i < 8; i++){
pinMode(pins[i], OUTPUT);
_pins[i]=pins[i];
}
}
void SegDisp::zero(int state)
{
int leds[6] = {0,1,2,3,4,5};
for (int i = 0; i < 6; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::one(int state)
{
int leds[2] = {1,2};
for (int i = 0; i < 2; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::two(int state)
{
int leds[5] = {0,1,3,4,6};
for (int i = 0; i < 5; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::three(int state)
{
int leds[5] = {0,1,2,3,6};
for (int i = 0; i < 5; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::four(int state)
{
int leds[4] = {1,2,5,6};
for (int i = 0; i < 4; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::five(int state)
{
int leds[5] = {0,2,3,5,6};
for (int i = 0; i < 5; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::six(int state)
{
int leds[6] = {0,2,3,4,5,6};
for (int i = 0; i < 6; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::seven(int state)
{
int leds[3] = {0,1,2};
for (int i = 0; i < 3; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::eight(int state)
{
int leds[7] = {0,1,2,3,4,5,6};
for (int i = 0; i < 7; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::nine(int state)
{
int leds[6] = {0,1,2,3,5,6};
for (int i = 0; i < 6; i++){
digitalWrite(_pins[leds[i]], state);
}
}
void SegDisp::dot(int state)
{
int leds[1] = {7};
for (int i = 0; i < 1; i++){
digitalWrite(_pins[leds[i]], state);
}
}