질문게시판 > 답변 : 아트메가질문입니다.

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

답변 : 아트메가질문입니다.

페이지 정보

작성자 master 작성일18-12-07 12:04 조회3,608회 댓글0건

본문

 

// DateTime : 2018-12-07 오후 12:06:08
// by Ok-Hyun Park
//
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/delay.h>
//
// 솔솔솔라솔라라미미솔
//unsigned char s[10]={0x9E,0x9E,0x9E,0x8D,0x9E,0x8D,0x8D,0xBC,0xBC,0x9E};
unsigned char s0[3]={0x9E,0x9E,0x9E};
unsigned char s1[2]={0x8D,0x9E,};
unsigned char s2[5]={0x8D,0x8D,0xBC,0xBC,0x9E};
//
//int t[10]={255,255,255,511,1023,255,255,255,255,1023};
int t0[3]={250,250,250};
int t1[2]={500,1000};
int t2[5]={250,250,250,250,1000};
//
int i=0,n,signfloat f;
//
void rand(){
  n=TCNT2;        // 0~255
  sign=ADCL&1;
  f=(float)n/255.0;
  if((sign==1)&&(f<0.7))f=0.7// 시간을 줄일 때에는 너무 짧지 않도록 제한합니다.
}
//
int calc_delay(int d){
  n=f*d;
  if(sign)n=d-n;
  else    n=d+n;
  return  n;
}
//
int main(void){
    int i=0,n,signfloat f;
    DDRB=0x10// PB4(OC0)
    TCCR0=0b00011111;
    ADMUX=0x40ADCSRA=0xE1;
    TCCR2=1;
    while(1){
        rand();
        for(i=0;i<3;i++){ OCR0=s[i]; n=rand(t[i]); _delay_ms(n); }
        //-------------------------------------
        rand();
        for(i=0;i<2;i++){ OCR0=s[i]; n=rand(t[i]); _delay_ms(n); }
        //-------------------------------------
        rand();
        for(i=0;i<5;i++){ OCR0=s[i]; n=rand(t[i]); _delay_ms(n); }
        //-------------------------------------
        _delay_ms(5000);
    }
}
//
이런식으로 무궁화꽃이피었습니다.
음계는 나오는데 무궁화 //꽃이 //피었습니다.3부분으로 나눠서 랜덤한속도로 재생하거나
각자의 재생속도가 3가지경우로 제한하여 재생시키려고하는데
스위치함수를써서 케이스를 3가지로나눈다음 각자 무궁화  딜레이 꽃이 딜레이 피었습니다
이런식으로 코드를짜야할까요?
무궁화꽃이피었습니다  나오는동안
움직이면 탈락 소리가나오는동안 움직여서 술래한테까지 가는 게임을구상중입니다.

 

잘 될런지 모르겠지만 이 코드로 돌려보세요

 

ADC0(PF0)의 비트0으로 딜레이 시간을 줄일 것인지 늘릴 것인지를 정하고

TCNT2로 난수를 얻어옵니다.

즉, ADC와 TCNT 두 개의 값으로 난수를 얻는 것이죠

 

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 0

조회수 : 3,608

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 아두이노 while문 탈출 질문 yhj2644 새글 22-07-01
답변 답변 : 아두이노 while문 탈출 질문 댓글[4] master 새글 22-07-01
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의… 댓글[3] cansad 새글 22-06-30
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의 댓글[3] cansad 새글 22-06-30
질문 빵판없이 디스플레이 넣을 수 있을까요? 댓글[2] 첨부파일오소로롯  22-06-29
질문 라즈베리파이4 신형 선택문제 댓글[1] maximum  22-06-26
질문 음전압 ADC 댓글[2] 412904  22-06-26
질문 아두이노 센서값 출력 질문입니다! 댓글[1] 아궁2  22-06-24
질문 ATmega128, ATmega28 RS232통신 첨부파일Moon4201  22-06-24
답변 답변 : ATmega128, ATmega28 RS232… 댓글[1] master  22-06-25
질문 서보모터, 온습도센서 코드 질문 댓글[2] 첨부파일kshdlfaldfh  22-06-22
답변 답변 : 서보모터, 온습도센서 코드 질문 댓글[15] master  22-06-22
질문 steppermulti5 질문 응애  22-06-21
답변 답변 : steppermulti5 질문 댓글[1] master  22-06-22
질문 atmega128 avr usart 질문 snoflak  22-06-21
답변 답변 : atmega128 avr usart 질문 댓글[5] master  22-06-21
질문 사용자 정의 함수 변환 하는 방법 댓글[2] 첨부파일da0800  22-06-21
질문 atmega128 댓글[1] 양의노래  22-06-20
질문 아두이노 동시동작 재질문 댓글[9] 첨부파일죠르디  22-06-20
질문 초음파센서로 dc모터 제어하기 댓글[1] 첨부파일난쟁2  22-06-20
질문 아두이노 동시동작 댓글[7] 죠르디  22-06-19
질문 ATMEGA128 UART,FND 연동 질문 JMOD  22-06-19
답변 답변 : ATMEGA128 UART,FND 연동 질문 댓글[1] master  22-06-20
질문 atmeg128 질문이요 댓글[1] 첨부파일공대생er  22-06-18
질문 atmega128 초음파 센서로 신호등 시간초 늘리기 서동씨  22-06-18
답변 답변 : atmega128 초음파 센서로 신호등 시간초… 댓글[1] master  22-06-18
질문 atmega128 댓글[2] 망경이  22-06-18
질문 앱인벤터 이용해서 수동 자동 할라고하는데 ..잘안됩니다… 댓글[1] 따랑해영  22-06-18
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전