아두이노 보드 FND 4 이동
[WAT-AK336]기능 실험 키트 예제 중 FND를 이동하는 예제입니다.
소스코드
최신 소스코드는 [파일]=>[예제]=>[WhiteAT UNO]=> [AK336] => [05_FNDFlow] 에 있으며
라이브러리는 아두이노 개발환경(https://docs.whiteat.com/?page_id=5449) 을 참조하세요
/* [WAT-AK336]기능 실험 키트 예제 중 FND 를 이동하는 예제 입니다. [WAT-AK336] 아두이노 기능 실험 키트: https://kit128.com/goods/view?no=336 출처: https://docs.whiteat.com/?p=4552 */ #include <WAT_Multi.h> WMulti tShift = WMulti( 300); byte fndStatus = 0; #define pinLatch 4 #define pinClock 7 #define pinData 8 /* 1 부터 4 까지의 자리 선택 */ const byte SEGMENT_SELECT[] = {0xF1,0xF2,0xF4,0xF8}; // 프로그램 초기화 void setup () { /* 출력으로 설정 */ pinMode(pinLatch,OUTPUT); pinMode(pinClock,OUTPUT); pinMode(pinData,OUTPUT); } // 계속 실행할 무한 루프 void loop() { TaskShift(&tShift); switch(fndStatus) { case 0: WriteCoderToSegment( 0b11111110,0b11111111,0b11111111,0b11111111 ); break; case 1: WriteCoderToSegment( 0b11111111,0b11111110,0b11111111,0b11111111 ); break; case 2: WriteCoderToSegment( 0b11111111,0b11111111,0b11111110,0b11111111 ); break; case 3: WriteCoderToSegment( 0b11111111,0b11111111,0b11111111,0b11111110 ); break; case 4: WriteCoderToSegment( 0b11111111,0b11111111,0b11111111,0b11111101 ); break; case 5: WriteCoderToSegment( 0b11111111,0b11111111,0b11111111,0b11111011 ); break; case 6: WriteCoderToSegment( 0b11111111,0b11111111,0b11111111,0b11110111 ); break; case 7: WriteCoderToSegment( 0b11111111,0b11111111,0b11110111,0b11111111 ); break; case 8: WriteCoderToSegment( 0b11111111,0b11110111,0b11111111,0b11111111 ); break; case 9: WriteCoderToSegment( 0b11110111,0b11111111,0b11111111,0b11111111 ); break; case 10: WriteCoderToSegment( 0b11101111,0b11111111,0b11111111,0b11111111 ); break; case 11: WriteCoderToSegment( 0b11011111,0b11111111,0b11111111,0b11111111 ); break; } } void TaskShift(WMulti * _task ) { if(!_task->IsMyTurn()) return; if(++fndStatus>11) fndStatus = 0; } /* 각 자리에 표시 */ void WriteCoderToSegment(byte Value0,byte Value1,byte Value2,byte Value3) { byte SEGMENT_DATA[4] ={Value0,Value1,Value2,Value3}; for(int i=0;i<4;i++) { // FND를 제어해 주는 HC595의 latch enable digitalWrite(pinLatch,LOW); // 숫자 모양을 설정 shiftOut(pinData, pinClock, MSBFIRST, SEGMENT_DATA[i]); // 자리수 설정 shiftOut(pinData, pinClock, MSBFIRST, SEGMENT_SELECT[i] ); // FND를 제어해 주는 HC595의 latch disable digitalWrite(pinLatch,HIGH); } }
결과 화면
FND 이 이동합니다.
목차
WAT-AK336 제공 예제(소스코드)
WAT-AK336 보드 아두이노 예제
- 시작하기
- [예제 01] 1개의 LED 깜박이기(완전 기초)
- [예제 02] 4개의 LED 깜박이기(기초)
- [예제 03] LED 순차 이동
- [예제 04] FND ( 4-digit 7-segment) 숫자 표시
- [예제 05] FND 순차 이동
- [예제 06] 부저 ‘삑’ 소리 내기
- [예제 07] 가변저항 값 FND에 표시
- [예제 08] 가변저항 값에 따라 LED 표시
- [예제 09] 버턴에 따라 LED 켜며, 카운터 증가
WAT-AK336 보드 엔트리 예제
엔트리 예제는 엔트리 사이트 내 학급 자료실 에서 제공됩니다.
- 시작하기
- [예제 01] 컴퓨터 키보드로 엔트리봇 움직이며 동시에 LED ON/OFF(보드 연결방법 포함)
- [예제 02] 엔트리 버튼을 눌러 보드 LED ON/OFF
- [예제 03] LED 순차 이동
- [예제 04]
- [예제 05]
- [예제 06] 엔트리 버튼을 눌러 부저 울리기
- [예제 07]
- [예제 08] 가변저항 값에 따라 LED 표시
- [예제 09] 가변저항 값에 따라 63빌딩 높이 조절
- [예제 10] 버튼으로 해당 월의 서울 행사수 출력
제품 구매
[WAT-AK336] 아두이노 기능 실험 키트는 https://kit128.com/goods/view?no=336 에서 구매하실 수 있습니다.
고객 지원
WAT-AK336 사용 중 궁금한 점이나 예제 추가 요청은 help@kit128.com 또는 help@whiteat.com 메일로 주시면 됩니다.
감사합니다.