On Cloud

on cloud는 ‘구름을 켜다’라는 뜻과 함께 ‘구름을 걷다. 즉 기분이 즐겁다.’라는 뜻으로 만들었으며 빛을 체험할 수 있을 뿐만 아니라 최근 큰 규모로 성장 중인 조명 인테리어 시장을 겨냥한 사용자 참여형 인터렉티브 아트이다.

소리는 보통 청각을 통해 들을 수는 있지만 볼 수는 없다. 온클라우드는 소리를 시각화함으로써 사용자로 하여금 특별한 경험을 할 수 있게 해준다. 이는 많은 이들이 호기심을 가지고 참여를 위해 방문하는 효과를 노리며, 설치 장소 홍보를 목표로 한다. 온클라우드 하드웨어는 중앙에 구름모양으로 전구를 설치하고 그 구름을 중심으로 3갈래의 전구 길을 설치하고 그 끝에는 각각 소리를 인식하는 소리센서를 설치한다. 그리고 센서를 통해 사람이 소리를 내면 그 소리의 파동을 전구로 표현하여 전구의 빛이 순서대로 켜지고 가운데 구름모양까지 빛이 켜지면 구름 전구에서 핵심 애니메이션이 발생하도록 구성되어 있다. 이 애니메이션은 한명이 소리를 냈을 때와, 두명이 냈을 때, 세명이 냈을 때 각각 다른 빛의 애니메이션을 보여준다. 이것은 광주의 빛을 모티브로 하며 더 많은 사람이 모여소리를 낼수록 더 크고 화려한 효과를 낼 수 있다.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: 온클라우드 구동 원리

각각의 마이크 센서가 소리 크기를 측정하여, 일정 수준에 도달하면 게이지 바 역할을 하는 전구가 하나씩 소리 크기에 따라 켜진다. 설정한 최댓값에 도달하지 못하면 애니메이션이 구동되지 않고 게이지 바만 움직인다. 마이크 센서 한개만 최댓값에 도달하게 되면 가운데 약 5개의 전구만 켜지고, 두개의 센서가 도달하면 20개의 전구가 켜지게 된다. 최종적으로 3개의 센서가 동시에 도달하면 가운데 구름 모양의 전구에서 4가지의 애니메이션이 랜덤으로 발생한다.

Step 2: 준비물

Step 3: 사이트 소개

Step 4: 하드웨어 설계 및 도정

하드웨어는 알류미늄이 주 소재다. 기둥과 상부 프레임 부분 모두 알루미늄이며, 연결부 또한 알루미늄으로 nct 가공을 통해서 컷팅해서 절곡하고 리베팅을 통해서 조립하는 형태로 설계했다. 부바닥 지지 프레임은 전체 프레임을 받치는 중심있는 부분이므로 무게를 주기 위하여 철제로 제작했다. 하드웨어는 검정색으로 분체 도장 마무리하여 전체 색을 맞췄다.

Step 5: 마이크 센서 3개로 각각의 게이지 바 만들기

const int sampleWindow = 50; // 샘플링한 시간 50ms

unsigned int value; // 소리 증폭 감지 센서 값 받는 변수

int led[8] = {2, 3, 4, 5, 6, 7, 8, 9 }; // led 8개의 핀 번호 2~9

int sound_value ;

void setup() {

for(int i=0; i<8; i++) // led 8개를 출력으로 설정

pinMode(led[i], OUTPUT);

Serial.begin(9600); // 시리얼 모니터 시작, 속도는 9600

}

void loop() {

unsigned long startMillis= millis(); // 샘플링 시작

unsigned int peakToPeak = 0; // 음성 신호의 진폭

unsigned int signalMax = 0; // 최대 크기를 초기에는 0으로 설정

unsigned int signalMin = 1024; // 최소 크기를 초기에는 1024로 설정

while (millis() - startMillis < sampleWindow){ // 데이터를 50ms마다 모으는 while문

value = analogRead(A0); // 소리 감지센서에더 데이터 받아오기

if (value < 1024){ // 받아온 데이터의 값이 1024 이하일 때

if (value > signalMax) // 최대 크기 측정

signalMax = value; // 최대 크기 signalMax에 저장

else if (value < signalMin) // 최소 크기 측정

signalMin = value; // 최소 크기 sigmalMin에 저장

}

}

peakToPeak = signalMax - signalMin; // 최대- 최소 = 진폭값

double volts = (peakToPeak * 5.0) / 1024; // 전압 단위로 변환 = 소리 크기로 변환

int i, j, k; for(i = 0; i < 8; i++){ // 소리크리를 led로 출력하기 위해 계산

float cal = i; if(cal*0.40 < volts && ((cal+1)*0.40) > volts) // 소리 크기가 어느 led까지 켜지게 되는지 계산 sound_value = i;

}

for(int j = 0; j < 8; j++){ // 해당되는 led 까지 led on

if(j < sound_value)

digitalWrite(led[j], HIGH);

else

digitalWrite(led[j], LOW);

}

Serial.println(volts);

}

Step 6: 애니메이션 소개

4가지 애니메이션 소개

Step 7: 프로토타입 만들기

Step 8: 일체형 전구컨트롤러 Vs 피스형 전구 컨트롤러

Step 9: 전구 컨트롤러 구조

220V를 받아서 어댑터를 통해서 220V를 5V로 변환해서 dc220볼트는 전구에 주고 실제 메인 컨트롤러인 ws2811칩에 dc 5볼트를 주어 그 칩이 명령에 따라 꺼지고 켜지게 작동하는 원리

재료 : 콘덴서1 어답터1 저항 2811칩 휴즈

Step 10: 전구 컨트롤러 케이스 제작 과정

Step 11: 전구 위치 계산하기

Step 12: 구동원리

Step 13: 조립하기

Step 14: Video

Be the First to Share

    Recommendations

    • Instrument Contest

      Instrument Contest
    • Make it Glow Contest

      Make it Glow Contest
    • STEM Contest

      STEM Contest

    Discussions