BASIC4MCU | 질문게시판 | 답변 : 서보모터와 부저 소스 합치기
페이지 정보
작성자 master 작성일2018-12-09 20:08 조회4,087회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=6611
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-12-09 오후 8:13:49// by Ok-Hyun Park//#define F_CPU 16000000L#include <avr/io.h>#include <util/delay.h>//#define D5 587#define E5 659#define S_D5 622#define B4 493#define C5 523#define A4 440//#define PAUSE 0#define PRESCALER 1//const int melody[]={ E5,S_D5,E5,S_D5,E5,B4,D5,C5,A4,PAUSE};////void sv1(int a){ OCR3A=a*19+3000; } // a=-90~+90void sv2(int a){ OCR3B=a*19+3000; }void sv3(int a){ OCR3C=a*19+3000; }//void play_music(const int*pMusicNotes){int note,ocr_value;while(*pMusicNotes){note=*pMusicNotes;pMusicNotes++;if(note==PAUSE){ OCR1A=0; }else{ ocr_value=F_CPU/2/PRESCALER/note; OCR1A=ocr_value; }_delay_ms(500);}OCR1A=0;}//int main(void){DDRE=0x30; OCR3B=OCR3C=3000; TCCR3A=0x2A; TCCR3B=0x1A; ICR3=39999; //OC3B,C 출력//DDRB=0x20; TCCR1A=0x40; TCCR1B=0x09; // PB5 // init_music();while(1){if((PINA&1)){ play_music(melody); }if((PINA&2)){sv2( 45); sv3( 90); _delay_ms(3000);sv2( 90); sv3( 45); _delay_ms(3000);sv2( 45); sv3( 0); _delay_ms(3000);sv2( 0); sv3(-45); _delay_ms(3000);sv2(-45); sv3(-90); _delay_ms(3000);sv2(-90); sv3(-45); _delay_ms(3000);sv2(-45); sv3( 0); _delay_ms(3000);sv2( 0); sv3( 45); _delay_ms(3000);}}return 0;}
댓글 1
조회수 4,087로봇님의 댓글
로봇 작성일정말 감사합니다ㅠㅠ 복받으실 꺼에요