일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- ZeissIkon ZI
- cs50/2.5
- FujiFilm C200
- GRD2
- 2018 미국출장
- Kentmere 400
- Minolta TC-1
- 4870
- Nikon 28Ti
- M-Rokkor 40/2
- Kodak T-Max 100
- G28/2.8
- FujiFilm GFX50s
- Kodak Ektar 100
- Mamiya 7
- Hasselblad 500cm
- Germany
- Minolta CLE
- SONY A7
- 2019 유럽여행
- Kodak 400TX
- cf80/2.8
- Leica M7
- fujifilm velvia 50
- kodak t-max 400
- Rollei35s
- Contax G2
- cf50/4 fle
- N80/4
- Kodak 5222
- Today
- Total
J 창고
[Arduino] 7 - Segment, 가변저항 본문
가변저항으로부터 A5 아날로그 단자로 받은 0~1023의 값을 int sensorValue에 대입
0~9의 10단계로 변환 후 int number 에 대입
그 number 값을 sevenSegWrite에 전달
SevenSegment에 number 값을 출력
int port1 = A5;
int sensorValue = 0;
int number =0;
byte seven_seg_digits[10][7] = { { 0,0,0,0,0,0,1 }, // = 0
{ 1,0,0,1,1,1,1 }, // = 1
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,1,1,0,0 } // = 9
};
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
}
void sevenSegWrite(byte digit) {
byte pin = 2;
for (byte segCount = 0; segCount < 7; ++segCount) {
digitalWrite(pin, seven_seg_digits[digit][segCount]);
++pin;
}
}
void loop() {
// Serial.println("Press Number from 0 to 9");
while(1){
analogREAD();
sevenSegWrite(number);
}
}
void analogREAD(){
int sensorValue = analogRead(port1);
number = map(sensorValue, 0, 1023, 0, 9);
Serial.print("sensorValue(0~9) : ");
Serial.println(number); // between 0~9 from sensorValue 0~1023
}