정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

제발..과제가 오늘까지예요 도와주세요ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
가유리쯔 | 2020-12-08

 

조도센서+7세그먼트+3색LED를 사용한 과제인데요..

희망하는 시나리오는

1. 조도센서로 시리얼모니터로 값출력 > 1자리수로 표기

2. 1~9까지 표기된 숫자를 가지고 3색 LED 및 7세그먼트에 숫자출력.

 

회로도

세그먼트 A : pin2

세그먼트 B : pin~3

세그먼트 C : pin4

세그먼트 D : pin ~5

세그먼트 E : pin ~6

세그먼트 F : pin 7

세그먼트 G : pin 8

DP : pin 12

 

조도센서 : A0

 

3색LED

R : pin ~9

G : pin ~11

B : pin ~10

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

const int led[7] = {2,3,4,5,6,7,8};
const int digit = 0; 
byte number[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(9, INPUT);
  pinMode(10, INPUT);  
  pinMode(11, INPUT);
  Serial.begin(9600);
  for(int i=2; i<10; i++){
    pinMode(led[i], OUTPUT);
  }
  digitalWrite(12, HIGH);
}

void loop() 
{
  int cds = map(analogRead(A0),0,1023,0,10);
  Serial.println(cds);
  for(int i = 0; i < 10; i ++){
    digitalWrite(led[i], number[cds][i]);
  }
    delay(1000);
    
  if(cds < 3) // 조도값이 3미만일경우 빨간LED 점등
  {
    analogWrite(9,HIGH);
    analogWrite(10,LOW);
    analogWrite(11,LOW);
  }
  else if(cds < 6) // 조도값이 3초과 6미만 일경우 블루LED 점등
  {
    analogWrite(9,LOW);
    analogWrite(10,HIGH);
    analogWrite(11,LOW);
  }
  else // 조도값이 6초과일 경우 초록LED점등
  {
    analogWrite(9,LOW);
    analogWrite(10,LOW);
    analogWrite(11,HIGH);
  }
  displayDigit(digit);
  delay(200);
}

void displayDigit(int num){
  int pin = 2;
  for (int i=0; i < 7 ; i ++){
    digitalWrite(pin + i, displayDigit[num][i]);
  }
}

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

팅커캐드 오류문구

In function 'void displayDigit (int)': 66:46 : error : invalid conversion from 'void (*) (int)'to 'uint8_t {aka unsigned char}'[-fpermissive] 1 : 0 : 135 : 6 : note : 'void digitalWrite (uint8_t, uint8_t)'종료 상태 1의 인수 2 초기화

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

지금까지 코딩한 소스인데 팅커캐드에서 시뮬레이션을 하면 자꾸 오류가나서요..

삼색 LED까지는 정상작동을 하는데 7세그먼트가 문제네요ㅠㅠ

오늘 밤까지 과제 제출인데 도움주실 고수님드류ㅠㅠㅠㅠㅠㅠ제발 도움부탁드려요ㅠㅠㅠㅠㅠㅠ

 

 

 

 

 

이전글   |    적외선 동작 감지센서로 적외선 온도 감지를 하려고 합니다.... 2020-12-06
다음글   |    릴레이 모듈 관련 질문 2020-12-08