-
7Segment와 포텐시오미터를 연결해서 제어하기Arduino/7 Segment 2020. 10. 31. 20:45
포텐시오미터는 그 입력값이 0~1023이다.
이 입력값의 범위에 따라 7Segment에 십진수를 출력해보자.
즉, 이 포텐시오미터의 입력값을 십진수 0 ~ 9 사이의 값으로 맵핑을 하면 될 것 같다.
포텐시오미터는 아두이노의 A0핀에 연결한다.
포텐시오미터와 아두이노의 연결은 아래를 참고하자.
designatedroom87.tistory.com/201?category=896892
아래는 포텐시오미터의 하드웨어 연결 그림이다.
그리고, 7Segment의 하드웨어 연결은 아래를 참고하자.
구현의 내용도 이 부분에서 발췌를 할 것이다.
designatedroom87.tistory.com/267?category=900171
소스 코드
더보기// 행의 수는 우리가 표현할 십진수의 개수이며, // 열의 수는 십진수에 따른 수 표기에 필요한 세븐세그먼트핀의 수 bool num[10][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,1,0,1,1,0} // 숫자9 }; void WriteNum(int _num) { for (int i = 0; i < 8; i++) { digitalWrite(i + 2, num[_num][i]); } delay(500); } // 포텐시오미터를 이용해서 0~9까지를 세븐세그먼트에 표현 // 포텐시오미터는 0~1023의 입력값을 갖는다. // 포텐시오미터는 아두이노의 A0핀에 연결한다. void setup() { // put your setup code here, to run once: Serial.begin(9600); // 2번핀부터 9번핀까지 모두 설정 for (int i = 2; i < 10; i++) { pinMode(i, OUTPUT); digitalWrite(i,LOW); } } void loop() { int poten = analogRead(A0); //Serial.println(poten); // int keyPad = (float)poten / 1023 * 9; int keyPad = map(analogRead(A0),0,1023,0,9); Serial.println(keyPad); WriteNum(keyPad); delay(100); }
'Arduino > 7 Segment' 카테고리의 다른 글
7Segment와 적외선 센서를 연결해서 리모컨으로 제어하기 (0) 2020.10.31 7Segment와 시리얼 통신 하기 (0) 2020.10.31 7Segment에 숫자 표시하기 (0) 2020.10.31 7Segment의 기본적인 연결하기 (0) 2020.10.31