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

아두이노 나노로 만드는 빛과 소리 디스플레이: 미국 국가 연주

부품 및 소모품

아두이노 나노 R3 (ATmega328P 구형 부트로더 버전 권장) 1개
부저 (16Ω 일반형) 1개
푸시 버튼 6x6x6mm 2개
로커 스위치 (전원용) 1개
330Ω 저항 3개
LED (빨강 2개, 흰색 2개, 파랑 2개) 6개
납땜용 미니 브레드보드 1개
9V 배터리 (또는 USB/AA 배터리 팩) 1개

필요한 도구

프로젝트 개요

크리스마스 조명·음악 프로젝트 연습 중 만든 부작입니다. 아두이노 나노로 두 곡(차지 사운드, 미국 국가)을 버튼으로 선택 재생하며, LED가 음표에 맞춰 점멸합니다. 버튼을 누르지 않을 때는 랜덤한 '반짝임' 효과로 대기합니다.

데모 영상 보기

설계 포인트

회로 구성

브레드보드 테스트

브레드보드에서 회로와 코드를 검증한 후 납땜했습니다.

전원 회로

9V 배터리 케이스에 스위치를 내장했으나, 별도 로커 스위치를 추가로 장착했습니다.

최종 납땜

상단 커버만 먼저 납땜하고 나중에 측면 패널을 조립하는 방식을 추천합니다.

전체 코드 (USA_ANTHEM_Updated.ino)

/* Star Spangled Banner with LEDs
   Created by Ryan Aebi, June 2018 */

// 핀 정의
const int ChargeButton = 3;  // 인터럽트 핀
const int StartButton = 5;
const int BuzzerPin = 9;
const int RedLED = 6;
const int WhiteLED = 7;
const int BlueLED = 8;

// 타이밍 변수
int n = 1000;
int DurationOn = n;
int DurationRest = n;
float x = 0.66, y = 0.34;  // 스타카토 비율 (x+y=1)
int Twinkle_Rate = 250;    // 대기 중 반짝임 주기

// 버튼 상태
int StartButtonState, ChargeButtonState;

// 음계 주파수 (Hz)
int Note1 = 233;  // Bb3
int Note2 = 294;  // D4
int Note3 = 330;  // E4
int Note4 = 349;  // F4
int Note5 = 392;  // G4
int Note6 = 440;  // A4
int Note7 = 466;  // Bb4
int Note8 = 523;  // C5
int Note9 = 587;  // D5
int Note10 = 622; // Eb5
int Note11 = 698; // F5

void Charge() { ... }           // 차지 사운드 연주 함수
void SingleDWwithNote(...) { ... } // 단일 음표+LED 재생 함수
void USNationalAnthem() { ... } // 미국 국가 전체 연주 함수
void Twinkle(int time) { ... }  // 대기 중 랜덤 LED 반짝임

void setup() {
  pinMode(ChargeButton, INPUT_PULLUP);
  pinMode(StartButton, INPUT_PULLUP);
  pinMode(RedLED, OUTPUT);
  pinMode(WhiteLED, OUTPUT);
  pinMode(BlueLED, OUTPUT);
  pinMode(BuzzerPin, OUTPUT);
  digitalWrite(RedLED, LOW);
  digitalWrite(WhiteLED, LOW);
  digitalWrite(BlueLED, LOW);
}

void loop() {
  StartButtonState = digitalRead(StartButton);
  ChargeButtonState = digitalRead(ChargeButton);
  
  if (StartButtonState == LOW) {
    USNationalAnthem();
  } else if (ChargeButtonState == LOW) {
    Charge();
  } else {
    Twinkle(Twinkle_Rate);
  }
}

배선도 및 비용 내역

프리칭(Fritzing) 회로도, 브레드보드 배선 사진, 실물 배선 사진, 부품별 구매처·가격표가 포함되어 있습니다.

제조공정

  1. 스위치 회로: 기본 전기 회로 실용 가이드
  2. 홀리데이 조명의 진화와 장인정신: 고대 전통에서 현대 공학까지
  3. 부드러운 티슈: 로션이 편안함과 성능을 높이는 원리
  4. Acceed IGS-9822DGP: 4개 SFP 포트 갖춘 12포트 기가비트 스위치 - 고성능 산업용 네트워크 솔루션
  5. 라즈베리 파이로 서버실 정확한 온도 모니터링하기
  6. 마이크로소프트 플라이트 시뮬레이터 2020용 아두이노 스위치 & LED 패널
  7. C++ switch-case 마스터하기: 문법, 활용법, 실전 예제
  8. C 언어 Switch-Case 이해: 문법, 예제, 모범 사례
  9. Java Switch-Case 문 완벽 해설: 문법, 예제, 모범 사례
  10. MEP 전국 네트워크™, 소수민족 소유 제조업체와 협력해 성장 견인