BASIC4MCU | 질문게시판 | 답변 : 아두이노 코딩 질문입니다.
페이지 정보
작성자 master 작성일2020-06-06 09:49 조회2,938회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=12654
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2020-06-06 오전 9:54:28// by Ok-Hyun Park//#define BUTTON 2#define BUTTON1 3#define LED 6#define Echo 7#define Trig 8#define GREEN 9#define BLUE 10#define RED 11#define speaker 12//char notes[]="GGAGcB GGAGdc GGxecBA yyecdc";int beats[]={2,2,8,8,8,16,1,2,2,8,8,8,16,1,2,2,8,8,8,8,16,1,2,2,8,8,8,16};int length=28,tempo=500;//void playTone(int tone,int duration){for(long i=0; i<duration*1000L; i+=tone*2){digitalWrite(speaker,1); delayMicroseconds(tone);digitalWrite(speaker,0); delayMicroseconds(tone);if(digitalRead(3))return;}}//void playNote(char note,int duration){char names[]={'C','D','E','F','G','A','B','c','d','e','f','g','a','b','x','y'};int tones[] ={1915,1700,1519,1432,1275,1136,1014,956,834,765,593,468,346,224,655,715};int SPEE=5;for(int i=0; i<17; i++){if(names[i]==note){ int newduration=duration/SPEE; playTone(tones[i],newduration); }if(digitalRead(3))return;}} // 소리//void setup(){pinMode(2,INPUT); pinMode(3,INPUT);pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT);pinMode(Echo,INPUT); pinMode(Trig,OUTPUT);pinMode(speaker,OUTPUT);}//void loop(){int a=0,R,speed,int J,light;analogWrite(5,0); analogWrite(4,0);int count=0; if(digitalRead(2))count=1;while(count){delay(100);digitalWrite(Trig,1); delayMicroseconds(10); digitalWrite(Trig,0); //트리거unsigned long duration1=pulseIn(Echo,1);float distance=((float)(340*duration1)/10000)/2;//analogWrite(RED,0); analogWrite(GREEN,0); analogWrite(BLUE,0);if (distance<100)analogWrite(RED ,255);else if(distance<200)analogWrite(GREEN,255);else if(distance<300)analogWrite(BLUE ,255);//J=analogRead(A1); light=map(J,0,1023,0,100);if(light<25){ digitalWrite(6,1); } else{ digitalWrite(6,0); }//R=analogRead(A0); speed=map(R,0,1023,0,255);analogWrite(5,speed); analogWrite(4,10);//if(digitalRead(BUTTON)){ // 소리for(int i=0; i<length; i++){if(notes[i]==' ')delay(beats[10*i]*tempo); // restelse playNote(notes[i],beats[i]/5*tempo);if(digitalRead(3))return;}}//if(digitalRead(3))return;}}
댓글 0
조회수 2,938등록된 댓글이 없습니다.