본문 바로가기
전자공학/아두이노

아두이노로 만든 작품 소개 - 두드리면 색이 변하는 무드등

by ohj921189 2020. 2. 19.
반응형

17년도부터 아두이노와 여러 센서들을 활용하여 여러 작품들을 만들었습니다. 지금까지 제가 만든 작품들을 앞으로 소개해드리려고 합니다.

저는 비록 전자과에 입학하기는 했지만 입학할 당시 전자공학이 무엇인지도 몰랐고 더더욱 아두이노, 코딩에 대해서는 아무런 지식도 없었습니다. 아무런 지식이 없는 상태에서 선배와 팀을 꾸려 두드리면 색이 변하는 무드 등이라는 작품을 만들었습니다. 사실 저는 그 당시 보조 역할만 하였습니다. 하하... 그래도 첫 작품으로 소개 드리려고 합니다.

 

https://youtu.be/kjQ1vqL8PDI

위의 링크는 제가 만든 작품의 유튜브 동영상 링크입니다. 

 

 

두드리면 색이 변하는 무드 등을 만들기 위해서 필요한 센서는 피에조 진동 감지 센서, 네오 픽셀 두 가지입니다. 정말 심플하죠?? 우선 센서에 대해서 설명을 드리겠습니다.

피에조 진동 감지센서란? 특정 방향으로 압력을 가하면 결정체(수정, 전기석 등)의 표면에서 전기가 발생하는 성질을 이용한 것으로 압력계에 사용되며, 폭발 등의 급격한 압력 변화 측정에 쓰입니다. 이 센서를 이용하여 충격 혹은 진동을 감지할 수 있습니다. 진동, 충격 등의 센싱 값을 아날로그 값으로 확인할 수 있으며, 필름 형태로 되어있어 유연한 스위치 용도로도 사용할 수 있습니다.

 

 

그다음 네오 픽셀에 대해 설명드리겠습니다.

네오 픽셀이란? WS281x 칩이 내장된 LED를 말합니다. 각각의 LED에 대한 개별 제어(색상, ON, OFF)가 가능하며, 연결 배선이 간단합니다. 네오 픽셀은 다양한 모양이 존재하며 어떤 모양이든 서로 연결이 가능하고, 연결된 LED가 1개든 100개든 단 3개의 선만으로 모든 LED를 제어할 수 있습니다. 네오픽셀이 종류가 상당히 다양한데 스트립 타입을 구매하였습니다.

mecha.kr/e9mKld

 

전자부품 전문 쇼핑몰 메카솔루션입니다.

국내 최대 전자부품 쇼핑몰, 아두이노 키트, 라즈베리파이 등 당일발송, 예제 제공, 쇼핑 그 이상을 제공합니다.

mechasolution.com

 

다음은 소스코드입니다. 소스코드에 관해서 질문드리면 언제든지 답해드리겠습니다. 댓글 많이 달아주세요.

#include <Adafruit_NeoPixel.h>

#define PIN 12
const int knock = A0;
int sensorVal_ohj = 0;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);


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

strip.begin();
pinMode(12,OUTPUT);


strip.show();
}

void loop() { 
  while(sensorVal_ohj=analogRead(knock)>20)
  { 
  colorWipe(strip.Color(random(255),random(255),random(255)),60);
   Serial.println(sensorVal_ohj); 
 delay(1000);//3E_daily_script_TisTory
 }

}

 

 

 

 

네오 픽셀을 위한 아두이노 핀은 12번으로 설정하였고 피에조 진동 감지 센서를 위한 핀은 A0로 설정하였습니다. 동작 원리는 정말 간단합니다. 피에조 진동 감지 센서를 통해서 진동을 감지하기 시작하면 analogRead를 통해 값을 받아오고 이 값이 20보다 크면 네오 픽셀의 led 색이 랜덤으로 변합니다. 네오 픽셀이 랜덤으로 색이 변하게 하는 것은 colorWipe라는 기본 예제에 있던 함수를 사용했습니다.(3년 전이라 기억이 가물가물...) 또한 진동 센서가 제대로 값을 읽어오는지 확인하기 위해 시리얼 모니터를 켜서 Serial.print로 값이 제대로 오는지 확인하였습니다.

 

외형 부분을 제작할 때는 알파 가서 구형으로 되어있는 플라스틱 뚜껑 같은 걸 사서 구형의 플라스틱의 안쪽 표면에 피에조 진동 감지센서를 부착하여 진동을 잘 감지할 수 있게 하였고 네오 픽셀 또한 안쪽에 부착하였습니다. 그리고 겉면을 꾸미기 위해 좀 애를 많이 썼는데(작품 만드는 시간의 절반 정도 걸린 듯...) 처음에는 생각 없이 색종이로 붙이다가 잘 붙지 않아서 한지를 사서 물풀로 덕지덕지 발라서 붙였는데 그래도 안 붙어서 테이프로 마감을 했다는.... 슬픈 사연이 있습니다. 나름 무드 등이라고 플라스틱 기둥도 알파에서 구매하여서 톱질해서 적당한 높이로 만든 다음에 고정하였는데 중심을 못 잡아서 정말..... 하하

 

첫 작품이라서 기억에 남기도 하고 뭔가 그 당시에는 뿌듯했는데 지금 보니까 허접한 느낌이 더 많이 드네요... 작품 만들 때마다 항상 드는 생각이 하드웨어를 제작하는 게 정말 어렵다는 생각을 많이 합니다. 오히려 코딩하는 것보다 시간을 더 많이 잡아먹을 때가 많습니다. 생각대로 잘 안돼서....



회로도나 외관 설계에 대한 자료를 제가 남겨놓지를 않아서 아쉽네요. 앞으로 올릴 작품들에는 회로도에 대한 자료가 있으면 올리겠습니다. 이상 아두이노로 작품 만들기 1탄이었습니다. 앞으로 올라올 아두이노 작품들에도 많은 관심 가져주세요! 읽어주셔서 감사합니다.

반응형

댓글