MENU
후불결제
견적문의
서류요청
연구비카드
입점신청
최근 본 상품
↑
학교, 공공기관이라면 후불결제하세요!
홈
커리큘럼
코딩출강
커뮤니티
로그인
회원가입
고객센터
최근본상품
장바구니 0
영수증
할인전
제품추천
보드
아두이노
라즈베리파이
마이크로비트
젯슨나노
오딧세이
Digilent Arty
ASUS
I-MIC
ESP32
카다스
라즈베리파이 CM4
센서
온도·환경센서
초음파·거리
가속도·자이로
전류·전압센서
광·영상센서
소리·인체
그루브타입
모듈
통신 모듈
터치 LCD
디스플레이
IoT 모듈
전자 모듈
모터류
AC·DC컨버터
전자부품
IC/기본소자
주변부품
브레드보드
케이블
배터리/전원
공구/측정기기
태블릿/PC
과학키트
유아
초등 저학년
초등 고학년
중등
고등
대학&일반
스마트홈
스마트팜
인공지능
스마트팩토리
자율주행자동차
사물인터넷
드론키트
코딩키트
지능로봇
신재생에너지
스마트시티
티처십
OPEN!
개인결제
2,200원
상품상세보기
예제대로 따라하니 첫번째 사진처럼 표기되고, 숫자 뒤 . 부분이 계속 불이 들어옵니다. 돌려도 숫자표기는 안 뜹니다.
0000, 0001, 0002, 0003, 0123을 표기하도록 코드를 입력하니 다른 사진처럼 나옵니다.
보드의 핀단자 문제일까 싶어 핀의 위치를 바꿔도 같은 결과가 나옵니다.
세그먼트의 종류가 다른건지, 보드 문제인지 확인 가능할까요?
비밀번호 : 비밀댓글
/ byte
비밀번호 :
댓글달기이름 :비밀번호 : 비밀댓글
왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)
에게만 댓글 작성 권한이 있습니다.
본 결제 창은 결제완료 후 자동으로 닫히며,결제 진행 중에 본 결제 창을 닫으시면 주문이 되지 않으니 결제 완료 될 때 까지 닫지 마시기 바랍니다.
상품명 : {$productName}
4자리 카운트 하는 예제 코드 입니다. 핀 연결은 예제 그대로입니다.
int digit_select_pin[] = {1,10,11,7}; // 4자리 결정 핀
int segment_pin[] = {8,12,3,5,6,9,2,4}; // 세그먼트 제어 핀
int time_delay = 5;
//0~9까지의 숫자 표시를 위한 세그먼트 a~dp의 점멸 패턴
//켜지는 부분이 1로 표현됨
byte digits_data[10]={0xFC, 0x60, 0xDA, 0xF2, 0x66,
0xB6, 0xBE, 0xE4, 0xFE, 0xE6};
int d1000, d100, d10, d1;
void setup()
{
//자릿수 선택 핀을 출력으로 설정
for(int i = 0; i < 4; i++)
{
pinMode(digit_select_pin[i], OUTPUT);
}
// 세그먼트 제어 핀을 풀력으로 설정
for(int i = 0; i < 8; i++)
{
pinMode(segment_pin[i], OUTPUT);
}
}
//해당 자릿수에 숫자 하나를 표시하는 함수
//(위치, 출력할 숫자)
void show_digit(int pos, int number)
{
for(int i = 0; i < 4; i++)
{
if(i == pos-1)
digitalWrite(digit_select_pin[i], HIGH);
else
digitalWrite(digit_select_pin[i], LOW);
}
// 8개 세그먼트 제어
for(int i = 0; i < 8; i++)
{
byte segment_data = (digits_data[number]
& (0x01 > i;
if(segment_data == 1)
digitalWrite(segment_pin[7-i], LOW);
else
digitalWrite(segment_pin[7-i], HIGH);
}
}
void loop()
{
for( int i = 0; i < 10000; i++)
{
d1000 = i /1000;
d100 = i % 1000/100;
d10 = i % 100/10;
d1 = i % 10;
for(int j = 0 ; j < 10 ; j++)
{
show_digit(1, d1000);
delay(time_delay);
show_digit(2, d100);
delay(time_delay);
show_digit(3, d10);
delay(time_delay);
show_digit(4, d1);
delay(time_delay);
}
}
}
digitalWrite(digit_select_pin[i], LOW);
digitalWrite(segment_pin[7-i], LOW);
digitalWrite(segment_pin[7-i], HIGH);
이 부분에서 신호가 반대로 입력되어 있던 거였네요. 답변 감사합니다.