질문게시판 > 답변 : 아두이노를 이용한 오디오 스펙트럼 질문드립니다.

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

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

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

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

BASIC4MCU > 질문게시판

답변 : 아두이노를 이용한 오디오 스펙트럼 질문드립니다.

페이지 정보

작성자 master 작성일18-10-20 17:32 조회869회 댓글0건

본문

 

// DateTime : 2018-10-20 오후 5:36:50
// by Ok-Hyun Park
//
#include <MSGEQ7.h>
#include <Keypad.h>
#include <Adafruit_NeoPixel.h>
#define MIN_K_value 100
#define MAX_K_value 200
int K_value=100;
MSGEQ7 eq;
Adafruit_NeoPixel pixels=Adafruit_NeoPixel(40,6,NEO_GRB+NEO_KHZ800);
const byte ROWS=4//four rows
const byte COLS=4//four columns
char keys[ROWS][COLS]={ // 키패드의 4행 4열을 정의
  { 'A','B','C','D'},
  { 'E','F','G','H'},
  { 'I','J','K','L'},
  { 'M','N','O','P'}
};
byte rowPins[ROWS]={ 10,11,12,13}; //connect to the row pinouts of the keypad
byte colPins[COLS]={ 9,8,7,3}; //connect to the column pinouts of the keypad
Keypad keypad=Keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS);
uint32_t*color_map;
uint32_t color_a[40]={
  0x00E1FFE1,0x00E1FFE1,0x00E1FFE1,0x00E1FFE1,0x00E1FFE1,0x00E1FFE1,0x00E1FFE1,0x00E1FFE1,
  0x00008000,0x00008000,0x00008000,0x00008000,0x00008000,0x00008000,0x00008000,0x00008000,
  0x00FFFF00,0x00FFFF00,0x00FFFF00,0x00FFFF00,0x00FFFF00,0x00FFFF00,0x00FFFF00,0x00FFFF00,
  0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,
  0x00ff0000,0x00ff0000,0x00ff0000,0x00ff0000,0x00ff0000,0x00ff0000,0x00ff0000,0x00ff0000
}
//
;
uint32_t color_b[40]={
  0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x005050af,
  0x009400D3,0x009400D3,0x009400D3,0x009400D3,0x009400D3,0x009400D3,0x009400D3,0x009400D3,
  0x009400D3,0x009400D3,0x009400D3,0x009400D3,0x009400D3,0x009400D3,0x009400D3,0x009400D3,
  0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,
  0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00
}
//
;
uint32_t color_c[40]={
  0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,
  0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,
  0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,0x0032BEBE,
  0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x005050af,
  0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x00efef00,0x005050af
}
//
;
uint32_t color_d[40]={
  0x00FFFFFB,0x00FFFFFB,0x00C63C26,0x0000FFFF,0x00C63C26,0x00444693,0x00444693,0x00C77EB5,
  0x00FFFFFB,0x00FFFFFB,0x00C63C26,0x0000FFFF,0x00C63C26,0x00444693,0x00444693,0x00C77EB5,
  0x00FFFFFB,0x00FFFFFB,0x00C63C26,0x0000FFFF,0x00C63C26,0x00444693,0x00444693,0x00C77EB5,
  0x00FFFFFB,0x00FFFFFB,0x00C63C26,0x0000FFFF,0x00C63C26,0x00444693,0x00444693,0x00C77EB5,
  0x00FFFFFB,0x00FFFFFB,0x00C63C26,0x0000FFFF,0x00C63C26,0x00444693,0x00444693,0x00C77EB5
}
//
;
uint32_t color_p[40]={
  0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
  0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
  0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
  0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
  0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000
}
//
void setup(){
  eq.init();
  pixels.begin();
  pixels.clear();
  Serial.begin(9600);
}
//
int cnt=0,on_off=0;
//
void loop(){
  char key=keypad.getKey();
  if(key=='A'){ color_map=color_aSerial.println(color_map[0]); }
  if(key=='B'){ color_map=color_bSerial.println(color_map[0]); }
  if(key=='C'){ color_map=color_cSerial.println(color_map[0]); }
  if(key=='D'){ color_map=color_dSerial.println(color_map[0]); }
  if(key=='E'){                    Serial.println(color_map[0]); }
  if(key=='P'){ color_map=color_pSerial.println(color_map[0]); }
  if(key=='N'){ K_value=100cnt=0,on_off=1pixels.clear(); }
  if(key=='O'){ on_off^=1Serial.print("on_off="); Serial.println(on_off); }
  if(on_off){
  eq.poll();
  int max_v=0;
  pixels.clear();
  for(int i=0i<7i++){
    int l=eq.getLValue(i);
    int r=eq.getRValue(i);
    int v=(l<r?r:l);
    max_v=(v>max_v?v:max_v);
    for(int j=0;j<5;j++){ if(v>K_value*(5-j))on_pixel(i+(8*j)); }
  }
  for(int j=0;j<5;j++){ if(max_v>K_value*(5-j))on_pixel(7+(8*j)); }
  K_value=constrain(max_v/5,MIN_K_value,MAX_K_value);
  pixels.show();
}
  delay(100);
}
//
void on_pixel(int index){
  pixels.setPixelColor(index,color_map[index]);
}

 

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

댓글 : 0

조회수 : 869

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[9] master  17-10-29
공지 [무료 공개] 소스코드 하이라이트 v2.0 beta [… 댓글[1] 첨부파일master  18-01-23
질문 아두이노 우노로 thingspeak 연결할 수는 있나요… 댓글[3] 초보동그리 새글 19-09-21
질문 아두이노 우노로 스텝모터제어 가능한지요 댓글[1] 김기사 새글 19-09-21
질문 val 값 전달에 대해서 .. 댓글[1] 푸링이 새글 19-09-20
질문 c언어 모터 순방향 구동 및 역방향 구동 프로그램 댓글[1] 세계제일초보 새글 19-09-20
질문 아두이노로 구현한 기능 코드를 다른 mcu로 코딩 많이… 댓글[1] 눈티이  19-09-19
질문 아두이노 타이머 멀티태스킹 질문 master  19-09-19
질문 혹여나 습도값을 슬라이더로 바꿀 수 있을까요? 댓글[2] 첨부파일푸링이  19-09-16
질문 아두이노 포크레인 중 스텝모터질문 댓글[1] 노은우  19-09-16
질문 아트메가 댓글[2] 전자어렵  19-09-16
답변 답변 : 아트메가 master  19-09-18
질문 도와주세요 ㅠㅠ 댓글[1] 민서가또  19-09-16
질문 아두이노 if문 실행문제 댓글[1] 첨부파일sun0100  19-09-16
질문 아트메가128 댓글[2] 전자어렵  19-09-15
답변 답변 : 아트메가128 댓글[4] master  19-09-15
질문 아두이노 IR센서 코딩질문입니다 댓글[2] rkskek  19-09-15
질문 아두이노 외부전원 질문드립니다! 댓글[2] 빵빵판  19-09-15
질문 Timer1_CTC 연습중인데요.. 댓글[4] 초짜  19-09-13
질문 안녕하세요, 인터페이스까지는 완료했습니다 ! 댓글[12] 첨부파일푸링이  19-09-12
질문 아래 앱인벤터 글에 이어서.. 댓글[1] 첨부파일푸링이  19-09-11
질문 memcmpf 질문이요 댓글[2] 초짜  19-09-10
질문 아두이노 네오픽셀 질문드립니다. 댓글[1] 호기심왕  19-09-10
질문 앱인벤터를 통해 스텝모터를 습도조건에 따라 움직이게 하… 댓글[5] 푸링이  19-09-10
질문 atmega128 의 PWM 모드 질문이요 댓글[6] 초짜  19-09-06
질문 아두이노 서보모터 제어문제입니다 ㅠ 댓글[3] 첨부파일졸업좀시켜줘요  19-09-05
질문 코딩질문이므니다.. 댓글[1] 첨부파일베이식  19-09-04
질문 아두이노 Oscillator.h 라이브러리 다운 하는법 댓글[1] bbhu  19-09-02
질문 atmega128a 질문이요 댓글[1] 초짜  19-08-30
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전