-
7Segment와 포텐시오미터를 연결해서 제어하기Arduino/7 Segment 2020. 10. 31. 20:45
포텐시오미터는 그 입력값이 0~1023이다.
이 입력값의 범위에 따라 7Segment에 십진수를 출력해보자.
즉, 이 포텐시오미터의 입력값을 십진수 0 ~ 9 사이의 값으로 맵핑을 하면 될 것 같다.
포텐시오미터는 아두이노의 A0핀에 연결한다.
포텐시오미터와 아두이노의 연결은 아래를 참고하자.
designatedroom87.tistory.com/201?category=896892
포텐시오미터의 값을 읽어 LED밝기 조절하기
포텐시오미터의 특징은 다음과 같다. 1. 저항을 변경하면 전압이 변함 2. 출력된 전압 값은 아두이노에 아날로그 형태로 입력 (아두이노는 저항의 값에 따라 입력값을 0~1023의 값의 형태로 변환하
designatedroom87.tistory.com
아래는 포텐시오미터의 하드웨어 연결 그림이다.
그리고, 7Segment의 하드웨어 연결은 아래를 참고하자.
구현의 내용도 이 부분에서 발췌를 할 것이다.
designatedroom87.tistory.com/267?category=900171
7Segment에 숫자 표시하기
우선 회로도를 보자. 우리가 사용할 방식은 오른쪽의 방식이다. 아두이노와 7세그먼트와의 연결은 다음과 같이 한다.a는 2번핀, b는 3번핀, c는 4번핀, d는 5번핀, e는 6번핀, f는 7번핀, g는 8번핀, dp
designatedroom87.tistory.com
소스 코드
더보기// 행의 수는 우리가 표현할 십진수의 개수이며, // 열의 수는 십진수에 따른 수 표기에 필요한 세븐세그먼트핀의 수 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