산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 우노와 1Sheeld로 만드는 4x4x4 LED 큐브 – 인터랙티브 LED 프로젝트

부품 및 소모품

부품 수량
안드로이드 기기 1
저항 220옴 16
LED (일반) 64
아두이노 우노 1
1Sheeld 1
점퍼 와이어 (일반) 20
납땜 도구 1

프로젝트 소개

스마트폰의 1Sheeld와 아두이노 우노를 연결해 음악에 반응하는 4x4x4 LED 큐브를 만드는 프로젝트입니다. 마이크 실드를 활용해 소리 크기에 따라 LED 레이어가 점등되는 인터랙티브한 시각 효과를 구현합니다.

아두이노 우노와 1Sheeld로 만드는 4x4x4 LED 큐브 – 인터랙티브 LED 프로젝트
아두이노 우노와 1Sheeld로 만드는 4x4x4 LED 큐브 – 인터랙티브 LED 프로젝트
아두이노 우노와 1Sheeld로 만드는 4x4x4 LED 큐브 – 인터랙티브 LED 프로젝트
아두이노 우노와 1Sheeld로 만드는 4x4x4 LED 큐브 – 인터랙티브 LED 프로젝트

LED 큐브 제작 방법

다음 인스트럭터블을 참고해 LED 큐브를 제작하세요. 3단계, 4단계, 5단계만 따라하면 됩니다. 기본적인 납땜 지식이 필요합니다.

LED Cube 4x4x4 제작 가이드

주의: 인스트럭터블의 부품 목록은 참조하지 마시고, 위 부품 목록을 따르세요.

동작 원리

각 LED의 애노드에 개별 배선하는 것은 비현실적입니다. 대신 큐브를 4개 레이어로 나누고, 각 레이어는 16개 LED로 구성합니다.

특정 LED를 켜려면 해당 레이어에 GND(-)를, 해당 열에 5V(+)를 공급하면 됩니다. 이렇게 하면 16개 열 제어 핀 + 4개 레이어 제어 핀 = 총 20개 핀으로 64개 LED를 제어할 수 있습니다.

배선 방법

큐브 완성 후 16개 열 제어 핀과 4개 레이어 제어 핀이 나옵니다.

  1. 열 제어 핀: 각 핀에 220Ω 저항을 직렬로 연결하고, 저항의 다른 쪽을 1Sheeld(아두이노 위에 장착)에 연결합니다. 저항 없이 직접 연결해도 작동하지만 권장하지 않습니다.
  2. 열 제어 핀은 디지털 핀 13~0, 아날로그 핀 A4, A5에 순서대로 연결합니다. (회로도 참조) 열 연결 순서는 자유롭게 변경 가능합니다.
  3. 레이어 제어 핀: 아날로그 핀 A0, A1, A2, A3에 연결합니다. 코드상 맨 아래 레이어는 A0, 그 위는 A1, A2, 최상단은 A3입니다.
  4. 배선 완료 후 코드를 업로드하고 스마트폰을 1Sheeld와 연결합니다. 1Sheeld 사용이 처음이라면 시작 가이드를 먼저 보세요.

코드 설명

스마트폰 마이크로 입력된 소리 크기(Mic.getValue())에 따라 4개 레이어를 순차적으로 점등합니다. 임계값(70, 76, 82, 88)은 스마트폰마다 다를 수 있으니 음악을 재생하며 마이크 실드 수치를 보고 조정하세요.

/* 1Sheeld와 아두이노 우노로 4x4x4 LED 매트릭스를 스마트폰 마이크로 제어 */
#define CUSTOM_SETTINGS
#define INCLUDE_PUSH_BUTTON_SHIELD
#define INCLUDE_MIC_SHIELD
#include <OneSheeld.h>

// 핀 정의
int coloumn[16] = {13,12,11,10,9,8,7,6,5,4,3,2,1,0,A4,A5};
int layer[4] = {A0, A1, A2, A3};
int counter;

void setup() {
  OneSheeld.begin();
  Serial.begin(115200);
  for(int i=0;i<16;i++) pinMode(coloumn[i], OUTPUT);
  for(int i=0;i<4;i++) pinMode(layer[i], OUTPUT);
}

void loop() {
  // 모든 열 HIGH(5V)
  for(int i=0;i<16;i++) digitalWrite(coloumn[i], HIGH);
  delay(30);

  // 마이크 값에 따라 레이어 제어 (LOW = GND 연결 = 점등)
  if(Mic.getValue() > 70) { digitalWrite(layer[0], LOW); delay(50); } else { digitalWrite(layer[0], HIGH); }
  if(Mic.getValue() > 76) { digitalWrite(layer[1], LOW); delay(50); } else { digitalWrite(layer[1], HIGH); }
  if(Mic.getValue() > 82) { digitalWrite(layer[2], LOW); delay(50); } else { digitalWrite(layer[2], HIGH); }
  if(Mic.getValue() > 88) { digitalWrite(layer[3], LOW); delay(50); } else { digitalWrite(layer[3], HIGH); }
}

회로도

아래 회로도에는 저항이 표시되어 있지 않으니 배선 시 저항을 꼭 추가하세요.

아두이노 우노와 1Sheeld로 만드는 4x4x4 LED 큐브 – 인터랙티브 LED 프로젝트

제조공정

  1. 삼성 SAMI, 아두이노 우노, 라즈베리 파이로 빠르고 신뢰성 높은 화재 감지 시스템 구축
  2. 나만의 LUMAZOID 만들기: DIY 아두이노 음악 비주얼라이저
  3. 아두이노 나노와 MPU-6050으로 실시간 자이로스코프 게임 만들기
  4. 아두이노 실시간 시계로 이슬람 기도 시간 알림 장치 만들기
  5. DHT11 온습도 센서 + LED 표시등 + 피에조 부저 프로젝트
  6. 1Sheeld와 아두이노로 시각/청각 장애인 간 소통 돕기
  7. Unopad: 아두이노 우노로 만드는 에이블턴 라이브용 MIDI 컨트롤러
  8. 아두이노 DHT11 이더넷 실드 온습도 데이터 로거
  9. 아두이노 블루투스로 LED 제어하기 - HC-05 & MIT App Inventor 입문 가이드
  10. 아두이노로 간단한 장애물 센서 만들기 - IR LED & 포토다이오드 튜토리얼