BASIC4MCU | 질문게시판 | Atmega128질문입니다.
페이지 정보
작성자 코딩초보자 작성일2018-12-12 02:54 조회5,423회 댓글0건본문
저번에 조도센서 값을 기준으로 서보모터 구동에 대해 질문 드렸었습니다. 아래 코드가 master님이 짜주신 코드이구요
// MCU BASIC: https://www.basic4mcu.com
// DateTime : 2018-12-04 오전 10:12:54
// by Ok-Hyun Park
//#define F_CPU 16000000L
#include <avr/io.h>
#include <util/delay.h>
#include <stdio.h>
//
void TX1_char(char c){ while(!(UCSR1A&0x20)); UDR1=c; }
void TX1_STR(char *s){ while(*s)TX1_char(*s++); }
//
int main(void){
int cds; char str[20];
DDRB=0x20;
UCSR0B=0x18; UBRR0L=103; // 9600
TCCR1A=0x82; TCCR1B=0x1A; ICR1=39999; // fastPWM 20ms주기
ADMUX=0x45; ADCSRA=0xE7;
while(1){
_delay_ms(1000);
cds=ADC;
sprintf(str,"%d\r\n",cds); TX1_STR(str);
//
if(cds<100)OCR1A=1200; // 0도
else OCR1A=3000; // 90도
}
}
여기에 (조도센서 값 100미만 경우 서보모터 각이 0도., 100이상 300미만인 경우 90도, 300이상인 경우 180도 구동)+(조도센서 값 300 이상이면 LED 켜지고 300미만인 경우는 꺼짐 ) 이런 식으로 구동되는 코드 알려주시면 감사하겠습니다. LED는 PORT D 4(PD4)에 연결했습니다!
댓글 0
조회수 5,423등록된 댓글이 없습니다.