'마이크'에 해당되는 글 4건

  1. 2020.11.04 Hardware | Anker PowerConf 간단 사용기
  2. 2020.07.14 Hardware | 이어폰 단선 수리
  3. 2020.01.18 Hardware | NICEHCK DB3 이어폰 개봉기
  4. 2018.02.11 Hardware | MAX4466 마이크 앰프 breakout board 사용해 보기

Hardware | Anker PowerConf 간단 사용기

|

1. 언텍트 시대


COVID-19 로 인하여, 업무 스타일이 많이 바뀌었습니다.

일하는 형태도, 굳이 사무실 출근이 아니라, 원격에서 근무하는 모습으로 바뀌어 가고 있죠.


글로벌 비지니스를 하는 회사들은 원래부터 그랬었지만, 이제는 일반 회사에서도, 고객들도 원격으로 일하는 시대가 도래 했습니다.

원격 미팅이 많아지는 요즈음, 회사에서 컨퍼런스 스피커 폰을 지급 받았습니다.


ANKER PowerConf





2. PowerConf


대략 사양은 다음과 같습니다.


- Bluetooth

- 360도 / 5m 범위로 목소리 커버

- 6개 마이크로 목소리 캐치

- 24시간 회의 지속 가능

- USB-C

- 회의 하면서 모바일 기기 충천도 가능

- 깔끔한 디자인과 가벼움 (?)

- 여행 케이스



Portable Bluetooth Speakerphone 이라고 합니다.



케이스 뒷면.



정식 명칭은 Anker - Anker PowerConf... UN Black Iteration 1 이라는군요.



케이스를 열면 캐링 케이스에 수납된 본체를 볼 수 있습니다.



구성품은 본체, 캐링 케이스, USB-C 케이블이 전부 입니다.





3. 연결


Power 버튼을 꾹~ 누르고 있으면, 근처의 PC 에서 Bluetooth 를 인식합니다. 연결은 one click 으로 끝났습니다. 이렇게 쉽게?



PC 와 연결 되면, 오른쪽 Bluetooth 인디케이터 LED 도 점등 됩니다.





4. 소리 조절


일단 PC 와 연결이 되면, PC 에서 소리 크기 조절은 먹히지 않고, 오로지 본체의 -/+ 버튼으로만 소리 조절이 됩니다.


살짝 불편할 수도 있겠지만, PC 에서는 소리를 줄인 상태로, PowerConf 에서도 같이 줄이거나 그 반대라고 한다면, 그 정도가 어디까지 알 수 없는 등, 기준이 없어집니다.


차라리, 한번 연결이 되면, 소리 음량 조절은 PC 에서 조작하지 않고, 오로지 본체에서만 따로 작동하는 방법도 좋아 보이는 군요.

아래 사진은, 소리를 1/3 정도로 키운 상태. 파란색으로 그 정도를 나타내 줍니다.



아래 사진은 mute (소리 소거) 상태. 전체를 빨간 색으로 알려 줍니다.



알아보기 쉽게, 조작 동영상 입니다.





5. 이어폰 연결


AUDIO 로 이어폰 연결해 봤습니다.



소리가 좋습니다. 렙탑에 연결 했을 때보다 소리가 훨~~~~~~~~~~~~~~~~~씬 좋습니다.

내장된 CODEC 이, 렙탑 내장 기본 코덱보다 좋은 것을 사용 했네요. 소리의 품질이 중후하며 선명합니다.



블루투스 무선이라는 장점으로 이어폰만 연결하면 선이 간결하고, 놔둘 위치를 쉽게 바꿀 수 있어서 편합니다.

요즈음은 PowerConf 를 이어폰 용으로 주로 사용하고 있네요.


예전에 Jabra 510 시리즈를 사용해본 경험으로 비교해 보자면, 음질이나 Bluetooth 무선, 배터리 내장, USB 로 다른 기기 충전 가능 등,

비교 불가 입니다.


이쪽 관련 기기는 전동적으로 Jabra 였지만, 이제는 아닌것 같습니다.



Update - 20210113


배터리 충전 상황을 확인하고 싶을 경우에는 제어판에서 연결 상태를 확인하면 충전량 확인이 가능합니다.



And

Hardware | 이어폰 단선 수리

|

NICEHCK DB3 라는 이어폰을 알리에서 구입해 잘 사용하고 있었습니다.


* Hardware | NICEHCK DB3 이어폰 개봉기

https://chocoball.tistory.com/entry/Hardware-NICEHCK-DB3-earphone


오래동안 사용한줄 알았는데, 올해 1월이었군요...




1. 단선


사용하다 오른쪽이 들렸다 안들렸다 합니다.

오른쪽에는 선 중간에 마이크와 통화 버튼이 있는데, 단선되지 안도록 연질 고무로 마감된 그 끝부분에서 단선이 되었습니다.


아니... 연질 고무 의미가 있는 것인가?

두 선이 피복을 뚫고 나와 합선이 되면서 오른쪽이 들리지 않게 되었습니다.



케이블류는 언젠가 끊어지는 것이 운명인지라 대체 케이블을 팔고 있습니다. 하물며 더 좋아.

Silver Plate 에다가 Copper 선 입니다. (순수한 구리로 하면 연질이라 쉽게 끊어질 수 있으니, 구리 합금)


* NICEHCK C8-1 8 Core Silver Plated and Copper Mixed Earphone Cable 3.5/2.5/4.4mm MMCX/NX7 Pro/QDC/0.78mm 2Pin For DB3 ST-10s

https://www.aliexpress.com/item/4001208562098.html





2. 수리해 보자


보아 하니, 잘만 하면 수리가 가능할 듯 보이니, 자가 수리해 보기로 합니다.

피복을 벗기고 새로 연결하기 위해서는 공간이 나와야 하니, 우선 연질 고무를 잘라 냅니다.



참 이쁘게도 단선이 되었네요.

저 두 선이 합선이 되면서 나오는 문제 이므로, 단순히 서로 접촉되지 않게만 처리하면 끝나는 문제 입니다. 



그치만, 깔끔하게 다시 연결되어야 한다고 생각하면서 댕강 선을 자르게 됩니다.

선을 자르고 보니, 심이 두 가지로 나뉘는군요. 아마도 마이크 기능때문에 그런게 아닐까... 아니면 ground 를 따로 해주나?


일단 외피에 가까운 부분끼리, 안쪽 선 끼리 따로 묶어 줍니다. 작업 순서는 다음과 같습니다.


동일 종류 선 끼리 연결 > 납땜으로 고정 > 수축 튜브로 마무리



두 가닥 선의 심지 색이 다르군요. 한 쪽은 파란색, 다른 한 쪽은 빨간색 입니다.



두 가닥 모두 작업해 주고, 마무리 수축 튜브로 감쌓아 주면 끝 입니다.

사진에는 나와있지 않지만, 원래 문제의 부분은 수축 튜브로 쌓아서 서로 닿지 않도록 했습니다.



사진만 보면, 이 작업을 왜 했지? 라는 자괴감이 듭니다.

그냥 자른 부분을 다시 연결하고 수축 튜브로 감쌓은 것 뿐이잖아!


라고 할 수 있지만, 향후 단선을 막기 위해 수축 튜브를 넣기 위해선 한번 끊어줘야 합니다.......... 음...



마이크 박스에서 선이 나오는 부분에 힘이 많이 가해지므로, 글루건으로 마무리 했습니다.


FIN


And

Hardware | NICEHCK DB3 이어폰 개봉기

|

그간 사용했던 이어폰은 샤오미 In-Ear Headphone Pro HD 였습니다.


* Life | 샤오미 In-Ear Headphone Pro HD 구입기
    - https://chocoball.tistory.com/entry/Life-Mi-InEar-Headphone-Pro-HD


어쩌다가 가족에게 강탈 당하고, 집에서 굴러다니던 I-River 의 이어폰으로 버티고 있었죠.

사용처는 주로, laptop 으로 너tube 시청시 이용 했었습니다.


그런데, 세탁물과 함께 세탁기에 한번 들어갔다 나오더니만 한쪽이 안들리더군요.

이어폰들의 고질적인 문제로, 자주 구부러지는 부분이 안에서 단선된 것으로 보이네요.




1. 새로운 이어폰


AirPods 1세대는 출퇴근시 iPhone 과 연결해서 사용하고 있지만,

laptop 과 연동해서 사용하는 것은 적절한 사용 방법이 아닌지라 플러그가 있는 다른 이어폰을 찾게 되었습니다.


* Hardware | AirPods 구입기
    - https://chocoball.tistory.com/entry/Hardware-AirPods-buy

검색 사이트에서 찾아보면, 알리발 이어폰은 요즘 NICEHCK DB3 라는 것이 최신 사용기로 많이 뜨더군요.

몇 개의 사이트를 보고 바로 결정 했습니다. 가성비에서는 괜찮아 보였거든요.


* NICEHCK DB3 1BA+2DD Hybrid 3 Driver Units In Ear Earphone Monitor Running Sport Earphone HIFI Headset Earbud IEM DJ Stage 2Pin

- https://www.aliexpress.com/item/4000134576952.html



색은 짙은 파란색과 검은색이 있고, 마이크 있슴/없슴 옵션을 선택할 수 있습니다.

튀는 색은 싫고, 혹시 원격회의에서 사용 가능할까 MIC 있는 옵션으로 선택 했네요. 20.99 USD.




2. 도착


2주정도 걸려 도착 했습니다.



포장은 손바닥 만 합니다.



뒷면은 스펙이 적혀 있습니다. 이어폰에 대해서는 잘.알.못 이라, 그렇구나 싶습니다.


Black / mic 버전임이 종이박스 겉면에 표시되어 있습니다. 제대로 도착한 듯.


3 Driver Units 은... 뭘까요?





3. 내부 포장


내용물은 겉포장을 슬라이드 시키면 투명 커버가 덮인 내부 박스가 나옵니다.



내용물은 본체와 액세서리, 그리고 설명서가 포함되어 있네요.



설명서에는 특별한 내용은 없는 듯.



액세서리로는 케이블과 인이어 캡이 포함되어 있습니다.





4. 인이어 캡


인이어 캡 입니다. 본체에 꼽혀 있는것 + 크기별로 두 가지가 더 들어 있네요.

아마도 본체에 미리 꼽혀있는 것은 "중" 일듯 하고, 여분은 대/소 로 보입니다.


이중 이어캡도 추가되어 있습니다.





5. 케이블


케이블은, 3.5mm audio jack 과 이어폰 본체와 연결되는 부분으로 나뉘어 있습니다.

이어폰 본체를 분리할 수 있는 제품은 처음 사용해 봅니다.


또한, 선이 꼬아져 있어서 신호의 간섭을 상쇄해 주는 구조인 듯 합니다. 거기에 더하여 외부 힘이 걸리면 더 짱짱할 듯 한 모양이에요.



마이크 있는 버전을 구매했으니, 케이블 중간에 MIC 가 있습니다.



아마 전화 연결시 사용되는 MIC 이다 보니, 전화 받는 버튼도 같이 포함되어 있습니다.



왼쪽 오른쪽으로 갈라지는 중간 부분 입니다.

사용된 플라스틱은 저가형이라서 아쉬운 부분입니다.



3.5mm audio jack 은 스테레오 + mic 대응한 플러그 입니다.



본체와 연결되는 부분입니다.

케이블은 본체로부터 분리/교체가 가능하게 설계되어 있으니, 본체 삽입 플러그 형식만 같으면 교체가 가능할 듯 합니다.





6. 본체


본체 입니다. 반쪽이 투명해서 내부가 보이네요. 얼핏 봐도 복잡한 구조가 꽉 차 있습니다.

시각적으로도 좋은 디자인 같아요.



본체와 케이블을 연결했습니다.

본체와 연결되는 플러그는 꽤나 꽉 끼우게 되어 있어서, 절대 쉽게 빠질 수 없게 되어 있습니다.


외부 힘이 가해지면 분리되게끔 되어 있으니, 본체나 커넥터까지 힘이 전달되지 않아 고장이 훨씬 덜 할것 같습니다.


연결부 이후에 커버가 덧대어 있어, 전선이 지나가는 귀등이 쓸리지 안도록 되어 있어 있습니다.

이런 배려 좋습니다. 귀에 오래 끼어 놔도 아프지 않을것 같네요.



아프지 않아요.





7. 개인적인 평가


이어폰에 대해 잘 모르므로, 지극히 개인적인 평가 입니다.

- 반쪽이 투명해서 속에 있는 기계가 보이므로 신기 (그만큼 제조 자신감?)
- 본체와 케이블 분리형이어서 케이블을 고가형으로 고체 가능
- 귀에 닿는 부분을 덧댄 코팅으로, 오래 착용시 쓸리는 걱정 없슴
- 케이블이 twisted 되어 있으므로, 잡음 감쇄에 도움이 될 듯
- 케이블에 사용된 플라스틱이 저가형으로 조금 아쉬움
- 본체 커버 부분도 고급스러운 금속 커버로 했을까 하는 아쉬움
- 귀에 완벽 밀착하여 외부 잡음이 잘 들어오지 않음
- 음질 선명도는 지금까지 사용한 이어폰 중에서 가장 좋음
- 저음/ 중음/ 저음 등 찟어지거나 뭉개지는 음이 없이, 모두를 골고루 평타하는 느낌

2만원 살짝 넘는 가격으로 이 정도면 충분한 가치를 하는 것 같습니다.




8. 그리고


정말 오래 가지고 있던 이어폰 입니다. 아마도 2010 년 부터일 듯.
한동한 사용하지 않고 있다가 요즘 사용했었죠. 불행히 세탁기에 들어갔다 온 후, 왼쪽이 단선되었습니다.

단점으론, 잡음이 좀 있고, laptop 에 연결하면, 정전기에 감전되듯 가끔씩 귀에다 전기총을 쏴 줍니다.
필터링이나 과전류 대책이 되어 있지 않은 듯.



쓰레기 통으로 안녕.


And

Hardware | MAX4466 마이크 앰프 breakout board 사용해 보기

|

1. 시작


아두이노와 친해지면서 다음 센서는 뭐할까 하다가,

스피커처럼 생겼지만 사실은 마이크인 "Electret Microphone Amplifier" 를 알게 되었습니다.



특이하게 Electret 이라는 단어가 눈에 띕니다.

의미는 Electricity 와 Magnet 의 합성어라고 하네요.


* 일렉트릿

http://100.daum.net/encyclopedia/view/b18a1451a


전계를 가했을 때 생긴유전 분극이 전계를 없앤 다음까지 잔류하는 물질로 만든 하전체.

자기에서의 영구 자석에 대응하는 것이다. 폴리프로필렌이나 마일러 등의 플라스틱으로 만들며, 소형 마이크로폰 등에 이용된다.


소형 마이크로폰에 사용된다고 하네요. 외관 모양 그대로의 기능을 가지고 있습니다.

Wikipedia 에서 설명은 다음에서 하고 있습니다.


* Electret

https://en.wikipedia.org/wiki/Electret





2. 구매


용돈 생활인의 안식처, 알리에서 찾아 봅니다.

adafruit 에서는 6.95 USD 입니다만, 알리는 1.66 USD 입니다.


* Electret Microphone Amplifier MAX4466 Adjustable Gain Breakout Board For Arduino MAX4466 Module

https://ko.aliexpress.com/item/Electret-Microphone-Amplifier-MAX4466-Adjustable-Gain-Breakout-Board-For-Arduino/32786459312.html



제품 설명에서는 홈페이지에서는 스펙에 대해 잘 설명되어 있습니다.


- 20 ~ 20KHz

- DC 2.4 ~ 5V


Add an ear to your project with this well-designed electret microphone amplifier. This fully assembled and tested board comes with a 20-20KHz electret microphone soldered on. This breakout is best used for projects such as voice changers, audio recordingmpling,

and audio-reactive projects that use FFT.

On the back, we include a small trimmer pot to adjust the gain.

Using it is simple: connect GND to ground, VCC to 2.4-5VDC. The output pin is not designed to drive speakers or anything but the smallest in-ear headphones you'll need an audio amplifier (such as our 3.7W stereo amp) if you want to connect the amp directly to speakers. [Specification] For the amplification, we use the Maxim MAX4466, an op-amp specifically designed for this delicate task! The amplifier has excellent power supply noise rejection, so this amplifier sounds really good and isn't nearly as noisy or scratchy as other mic amp breakouts we've tried! You can set the gain from 25x to 125x. That's down to be about 200mVpp (for normal speaking volume about 6" away) which is good for attaching to something that expects 'line level' input without clipping, or up to about 1Vpp, ideal for reading from a microcontroller ADC. The output is rail-to-rail so if the sounds gets loud, the output can go up to 5Vpp! For the best performance, use the "quietest" supply available (on an For Arduino, this would be the 3.3V supply). The audio waveform will come out of the OUT pin. The output will have a DC bias of VCC/2 so when its perfectly quiet, the voltage will be a steady VCC/2 volts (it is DC coupled).


If the audio equipment you're using requires AC coupled audio,

place a 100uF capacitor between the output pin and the input of your device.

If you're connecting to an audio amplifier that has differential inputs or includes decoupling capacitors,

the 100uF cap is not required.





3. adafruit 과의 비교


원본은 adafruit 의 MAX4466 breakout 로 보입니다.

이래는 비교 입니다.


* Electret Microphone Amplifier - MAX4466 with Adjustable Gain

https://learn.adafruit.com/adafruit-microphone-amplifier-breakout/assembly-and-wiring




마이크 부분을 제외하고 뒷면을 보면, 숫자 표기는 달라도 저항의 값은 모두 같은 것을 사용한 것으로 보입니다.



앞부분은 평범합니다.



처음 도착시 동봉되어 있던, male pin 이 어디로 가버려 

따로 구매한 핀 중에서 이쁜 색으로 나온 노란색 male pin 을 사용합니다.


Male pin 구매기는 아래를 참고하세요.


* Hardware | 2.54mm pin header 구매하기

http://chocoball.tistory.com/entry/Hardware-254mm-pin-header






4. Layout


회로 구성은 다음과 같습니다.


   MAX4466  | Arduino Nano
---------------------------
    VCC     |     3.3V
    GND     |     GND
    OUT     |     A0
---------------------------


  SSD1306   | Arduino Nano
---------------------------
    GND     |     GND
    VDD     |     3.3V
    SCK     |     A5
    SDA     |     A4
---------------------------


VU meter 를 같이 이용하기 위해 SSD1306 도 같이 연결하였습니다.






5. Sketch


아래 보이는 sketch 는 adafruit 가 제공하는 기본 소스 입니다.


/****************************************
Example Sound Level Sketch for the 
Adafruit Microphone Amplifier
****************************************/

const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)
unsigned int sample;

void setup() 
{
   Serial.begin(9600);
}


void loop() 
{
   unsigned long startMillis= millis();  // Start of sample window
   unsigned int peakToPeak = 0;   // peak-to-peak level

   unsigned int signalMax = 0;
   unsigned int signalMin = 1024;

   // collect data for 50 mS
   while (millis() - startMillis < sampleWindow)
   {
      sample = analogRead(0);
      if (sample < 1024)  // toss out spurious readings
      {
         if (sample > signalMax)
         {
            signalMax = sample;  // save just the max levels
         }
         else if (sample < signalMin)
         {
            signalMin = sample;  // save just the min levels
         }
      }
   }
   peakToPeak = signalMax - signalMin;  // max - min = peak-peak amplitude
   double volts = (peakToPeak * 5.0) / 1024;  // convert to volts

   Serial.println(volts);
}


이 소스를 이용하면, 입력된 voltage 값을 Serial Monitor 를 통해 확인할 수 있습니다.



그래프로 그려보면 다음과 같습니다.



그래프가 튀는 부분은 "아~" 라고 소리를 질러 변화를 준 부분입니다.




6. VU meter 와 연동하기


 아래 링크는 SSD1306 OLED 를 이용한 VU meter 연동 글입니다.


* Hardware | SSD1306 monochrome OLED 를 가지고 VU meter 를 만들어보자

http://chocoball.tistory.com/entry/Hardware-VU-meter-using-SSD1306-monochrome-OLED


Pin 연결은 동일하기 때문에 그대로 사용했습니다.


/*  OLEDMeter was written to utilize any 128x64 display. I have only seen marginal attempts to
 *  animate meters and I hope this one will set a standard. Please feel free to modify and share
 *  this code for any 128x64 LCD or OLED. OLEDMeter sketch was written for use with I2C SH1106.
 *  This code must be modified to work with other display devices.
 * 
 *  Working portion of code was taken from Adafruit Example Sound Level Sketch for the
 *  Adafruit Microphone Amplifier
 *  https://learn.adafruit.com/adafruit-microphone-amplifier-breakout/measuring-sound-levels
 * 
 *  Remaining code was written by Greg Stievenart with no claim to or any images or information
 *  provided in this code. Freely published May 26, 2016.
 * 
 *  Software to convert background mask to 128x64 at: http://www.ablab.in/image2glcd-software/
 * 
 *  IMPORTANT: Sound source must be grounded to the Arduino or other MCU's to work. Usually the
 *  base sleeve contact on TRS or TRRS connector is the ground.
 */
 
#include "Wire.h"						// requried to run I2C SH1106
#include "SPI.h"						// requried to run I2C SH1106
#include "Adafruit_GFX.h"				// https://github.com/adafruit/Adafruit-GFX-Library
#include "Adafruit_SSD1306.h"			// https://github.com/wonho-maker/Adafruit_SH1106
 
#define OLED_RESET 4					// reset required for SH1106
 
Adafruit_SSD1306 display(OLED_RESET);	// reset required for SH1106
 
int analogInput = A0;					// analog input for outside audio source
int hMeter = 65;						// horizontal center for needle animation
int vMeter = 85;						// vertical center for needle animation (outside of dislay limits)
int rMeter = 80;						// length of needle animation or arch of needle travel
 
const int sampleWindow = 50;			// sample window width in mS (50 mS = 20Hz)
unsigned int sample;
 
// VU meter background mask image
static const unsigned char PROGMEM VUMeter[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x09, 0x04, 0x80, 0x21, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x01, 0x98, 0x08, 0x06, 0x03, 0x80, 0x21, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xA4, 0x10, 0x09, 0x00, 0x80, 0x21, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xA4, 0x10, 0x06, 0x03, 0x00, 0x20, 0xC0, 0x00, 0x80, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x71, 0x80, 0xA4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x0A, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3C, 0x00, 0x00,
  0x00, 0x00, 0x3A, 0x40, 0x00, 0x00, 0x02, 0x01, 0x00, 0x40, 0x80, 0x07, 0x00, 0x20, 0x00, 0x00,
  0x00, 0x00, 0x42, 0x40, 0x00, 0x08, 0x02, 0x01, 0x08, 0x40, 0x80, 0x00, 0x00, 0x38, 0x00, 0x00,
  0x00, 0x00, 0x79, 0x80, 0x04, 0x08, 0x02, 0x01, 0x08, 0x81, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x02, 0x01, 0x08, 0x81, 0x11, 0x04, 0x00, 0x38, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x02, 0x01, 0x08, 0x81, 0x21, 0x04, 0x00, 0x00, 0x08, 0x00,
  0x00, 0x00, 0x00, 0x84, 0x02, 0x04, 0x0F, 0xFF, 0xFF, 0xC3, 0xE2, 0x04, 0x00, 0x00, 0x08, 0x00,
  0x00, 0x00, 0x00, 0xC2, 0x01, 0x07, 0xF0, 0x00, 0x00, 0x3B, 0xFE, 0x08, 0x40, 0x40, 0x08, 0x00,
  0x00, 0xFE, 0x00, 0x62, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xE8, 0x40, 0x80, 0x7F, 0x00,
  0x00, 0x00, 0x00, 0x21, 0x1E, 0x00, 0x04, 0x00, 0x80, 0x00, 0x7F, 0xFE, 0x80, 0x80, 0x08, 0x00,
  0x00, 0x00, 0x03, 0x31, 0xE0, 0x00, 0x04, 0x00, 0x80, 0x04, 0x01, 0xFF, 0xC1, 0x00, 0x08, 0x00,
  0x00, 0x00, 0x07, 0x1E, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x1F, 0xFA, 0x00, 0x08, 0x00,
  0x00, 0x00, 0x07, 0xF0, 0x00, 0x40, 0x3B, 0x07, 0x60, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x34, 0x81, 0x90, 0xCC, 0xC0, 0x00, 0x3F, 0xC0, 0x00, 0x00,
  0x00, 0x00, 0x0C, 0x00, 0x03, 0x30, 0x0C, 0x82, 0x90, 0x53, 0x20, 0x00, 0x07, 0xF8, 0x00, 0x00,
  0x00, 0x00, 0x70, 0x40, 0x00, 0xC8, 0x3B, 0x02, 0x60, 0x53, 0x20, 0x00, 0x00, 0xFE, 0x00, 0x00,
  0x00, 0x01, 0x80, 0x20, 0x01, 0xC8, 0x00, 0x00, 0x00, 0x4C, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00,
  0x00, 0x06, 0x00, 0x00, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00,
  0x00, 0x08, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x00,
  0x00, 0x30, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00,
  0x00, 0x00, 0x40, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
  0x00, 0x00, 0xA0, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x02, 0x02, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x06, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x8C, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x70, 0x19, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
 
void setup() {
	pinMode(analogInput, INPUT);					// analog input for outside audio source
	display.begin(SSD1306_SWITCHCAPVCC, 0x3C);		// needed for SH1106 display
	display.clearDisplay();							// clears display from any library info displayed
	Serial.begin(9600);
}
 
void loop() {
 
/***********************************************************************
 Start of code taken from Adafruit Example Sound Level Sketch for the
 Adafruit Microphone Amplifier
************************************************************************/
	
	unsigned long startMillis= millis();	// Start of sample window
	unsigned int peakToPeak = 0;			// peak-to-peak level
	
	unsigned int signalMax = 0;
	unsigned int signalMin = 1024;
	
	// collect data for 50 mS
	while (millis() - startMillis < sampleWindow) {
		sample = analogRead(0);
		if (sample < 1024) {			// toss out spurious readings
			if (sample > signalMax) {
				signalMax = sample;		// save just the max levels
			} else if (sample < signalMin) {
				signalMin = sample;		// save just the min levels
			}
		}
	}
	
	peakToPeak = signalMax - signalMin;	// max - min = peak-peak amplitude
	float MeterValue = peakToPeak * 330 / 1024;		// convert volts to arrow information
	double volts = (peakToPeak * 5.0) / 1024;		// convert to volts

/****************************************************
 End of code taken from Adafruit Sound Level Sketch
*****************************************************/
	
	MeterValue = MeterValue - 34;								// shifts needle to zero position
	display.clearDisplay();										// refresh display for next step
	display.drawBitmap(0, 0, VUMeter, 128, 64, WHITE);			// draws background
	int a1 = (hMeter + (sin(MeterValue / 57.296) * rMeter));	// meter needle horizontal coordinate
	int a2 = (vMeter - (cos(MeterValue / 57.296) * rMeter));	// meter needle vertical coordinate
	display.drawLine(a1, a2, hMeter, vMeter, WHITE);			// draws needle
	display.display();
	Serial.println(volts);
}


연결되어 VU meter 가 잘 표시되네요.



구동 동영상 입니다.






7. VCC 와 GND


처음에 VU meter 의 바늘이 널띄면서 도저희 측정할 수 있는 상태가 아니였습니다.



Pin 들의 접점이 문제인가 여러번 빼고 꼽고 했지만 개선이 이루어지지 않았습니다.

최종적으로 생각한 것은 예민한 센서이다 보니, 잡음이 원인이 아닌가 하는 것이였습니다.


위의 사진처럼 SSD1306 과 동일하게 사용하는 공통 VCC/GND 에 연결한 것을,

아래처럼 각각 arduino 의 VCC/GND 에 연결하니 해결되었습니다.



예민한 센서류는 공통 VCC/GND 에 연결하면 안되는 거군요.

이렇게 하나 배워 봅니다.




FIN


소형 마이크에는 Electret 소자가 사용된다 합니다.

Arduino 를 위한 소리 감지용 breakout 보드도 나와 줘서 필요시 잘 사용할 것 같습니다.


And
prev | 1 | next