BASIC4MCU | 질문게시판 | Atmega128 가로등 프로그램 질문드립니다.
페이지 정보
작성자 모덴 작성일2022-11-23 13:11 조회4,641회 댓글2건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=21738
본문
#define ON_OFF_VALUE 818
#include <avr/io.h>
void init_adc();
unsigned short read_adc();
void show_7seg(unsigned short value);
unsigned char num[10] = { // 0 ~ 9
0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x27, 0x7F, 0x6F};
int main()
{
unsigned short value;
DDRC = 0xFF; DDRG = 0x0F; DDRA = 0xFF;
init_adc();
while(1)
{
value = read_adc();
if( value < ON_OFF_VALUE) PORTA = 0xFF;
else
PORTA = 0x00;
}
}
show_7seg(value); }
return 0;
void init_adc() {
DDRF &= 0xFE; ADMUX = 0x40; ADCSR = 0x87;
}
unsigned short read_adc() {
unsigned char adc_low, adc_high; unsigned short value;
ADCSR |= 0x40;
while ((ADCSR & 0x10) != 0x10)
;
adc_low = ADCL;
adc_high = ADCH;
value = ((unsigned short)adc_high << 8) | (unsigned short)adc_low; return value;
void show_7seg(unsigned short value) {
int i;
for(i=0; i<10; i++) {
PORTC = num[value/1000]; PORTG = 0x08;
PORTC = num[value/100%10]; PORTG = 0x04;
PORTC = num[value%100/10]; PORTG = 0x02;
PORTC = num[value%10]; PORTG = 0x01;
}
}
인 가로등 프로그램까지는 작성하였습니다.
다음 프로그램에서 밝기에 따라 음계 8개 도부터 도까지 소리를 발생하는 기능과 8개의 led의 갯수를 다르게 키게 하는 기능을 추가하고 싶은데 어떤 식으로 짜야할지 감이 안잡혀서 질문 남기게 됐습니다.
도움주시면 감사합니다.
댓글 2
조회수 4,641모덴님의 댓글
모덴 작성일Led, 부저 음계내는 기능을 같이 쓰고 싶지만 너무 어려워서 질문드립니다 ㅠㅠ
master님의 댓글
master 작성일
밝기에 따라 음계 8개 도부터 도까지 소리를 발생하는 기능
밝기에 따라 8개의 led의 갯수를 다르게 키게 하는 기능
//
그렇다면 밝기의 범위를 알아야겠죠?
세그먼트로 출력되고 있으니 적어보세요