길쭉한 모양의 7개의 LED를 붙여서 숫자, 기호 등을 표시
할 수 있도록 만든 소자로 각 LED는 A~G까지 있음
1을 만들고 싶다면 B,C를 만들어 붙임
양극 타입 : Ground & HIGH
음극 타입 : 5V & LOW
void setup()
{
pinMode(2, OUTPUT);
pinMode(7, OUTPUT);
}
void loop()
{
// 둘 다 HIGH로 두면 음극타입만 ON
digitalWrite(2, HIGH);
digitalWrite(7, HIGH);
delay(1000);
// 둘 다 LOW로 두면 양급타입만 ON
digitalWrite(2, LOW);
digitalWrite(7, LOW);
delay(1000);
}
전원에 그라운드를 연결하고 HIGH를 연결하면 점등하는 음극타입을 이용해서 7세그먼트를 구현하면
int seg_pin[] = {2, 3, 4, 5, 6, 7, 8, 9}
void setup()
{
for(int i = 0 ; i < 8 : i++ )
{
pinMode(seg_pin[i], OUTPUT);
}
}
void loop()
{
for( int i = 0 ; i < 8 ; i ++ )
{
digitalWrite(seg_pin[i], HIGH);
delay(1000);
digitalWrite(seg_pin[i], LOW);
delay(1000);
}
}
int seg_pin[] = {2, 3, 4, 5, 6, 7, 8, 9}
int seg_data[][8] = {
{ 1, 1, 1, 1, 1, 1, 0, 0 }, // 0
{ 0, 1, 1, 0, 0, 0, 0, 0 }, // 1
{ 1, 1, 0, 1, 1, 0, 1, 0 }, // 2
{ 1, 1, 1, 1, 0, 0, 1, 0 }, // 3
{ 0, 1, 1, 0, 0, 1, 1, 0 }, // 4
{ 1, 0, 1, 1, 0, 1, 1, 0 }, // 5
{ 1, 0 ,1, 1, 1, 1, 1, 0 }, // 6
{ 1, 1, 1, 0, 0, 0, 0, 0 }, // 7
{ 1, 1, 1, 1, 1, 1, 1, 0 }, // 8
{ 1, 1, 1, 0, 0, 1, 1, 0 }, // 9
}
void setup()
{
for(int i = 0 ; i < 8 ; i++ )
{
pinMode(seg_pin[i], OUTPUT);
}
}
void loop()
{
for(int i = 0; i < 10; i ++ ){
for(int j = 0; j < 8 ; j++ ){
digitalWrite(seg_pin[j], seg_data[i][j]);
}
delay(1000);
}
int AD_data = 0;
int MAP_data = 0;
int seg_pin[] = {2, 3, 4, 5, 6, 7, 8, 9}
int seg_data[][8] = {
{ 1, 1, 1, 1, 1, 1, 0, 0 }, // 0
{ 0, 1, 1, 0, 0, 0, 0, 0 }, // 1
{ 1, 1, 0, 1, 1, 0, 1, 0 }, // 2
{ 1, 1, 1, 1, 0, 0, 1, 0 }, // 3
{ 0, 1, 1, 0, 0, 1, 1, 0 }, // 4
{ 1, 0, 1, 1, 0, 1, 1, 0 }, // 5
{ 1, 0 ,1, 1, 1, 1, 1, 0 }, // 6
{ 1, 1, 1, 0, 0, 0, 0, 0 }, // 7
{ 1, 1, 1, 1, 1, 1, 1, 0 }, // 8
{ 1, 1, 1, 0, 0, 1, 1, 0 }, // 9
}
void setup()
{
for(int i = 0 ; i < 8 ; i++ )
{
pinMode(seg_pin[i], OUTPUT);
}
}
void loop()
{
AD_data = analogRead(A0);
MAP_data = map(AD_data, 0, 1023, 0, 5);
for(int j = 0; j < 8 ; j++ ){
digitalWrite(seg_pin[j], seg_data[MAP_data][j]);
}
delay(1000);
}
# define A 10
# define a 11
# define b 12
int seg_pin[] = {2, 3, 4, 5, 6, 7, 8, 9}
int seg_data[][8] = {
{ 1, 1, 1, 1, 1, 1, 0, 0 }, // 0
{ 0, 1, 1, 0, 0, 0, 0, 0 }, // 1
{ 1, 1, 0, 1, 1, 0, 1, 0 }, // 2
{ 1, 1, 1, 1, 0, 0, 1, 0 }, // 3
{ 0, 1, 1, 0, 0, 1, 1, 0 }, // 4
{ 1, 0, 1, 1, 0, 1, 1, 0 }, // 5
{ 1, 0 ,1, 1, 1, 1, 1, 0 }, // 6
{ 1, 1, 1, 0, 0, 0, 0, 0 }, // 7
{ 1, 1, 1, 1, 1, 1, 1, 0 }, // 8
{ 1, 1, 1, 0, 0, 1, 1, 0 }, // 9
{ 1, 1, 1, 0, 1, 1, 1, 0 }, // A 10
{ 1, 1, 1, 1, 1, 0, 1, 0 }, // a 11
{ 0, 0, 1, 1, 1, 1, 1, 0 }, // b 12
}
void setup()
{
for(int i = 0 ; i < 8 ; i++ )
{
pinMode(seg_pin[i], OUTPUT);
}
}
void loop()
{
AD_data = analogRead(A0);
MAP_data = map(AD_data, 0, 1023, 0, 5);
for(int j = 0; j < 8 ; j++ ){
digitalWrite(seg_pin[j], seg_data[A][j]);
}
delay(1000);
for(int j = 0; j < 8 ; j++ ){
digitalWrite(seg_pin[j], seg_data[a][j]);
}
delay(1000);
for(int j = 0; j < 8 ; j++ ){
digitalWrite(seg_pin[j], seg_data[b][j]);
}
delay(1000);
}