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

오래된 리모컨 재활용: 아두이노로 DIY 스마트 기기 만들기

부품 및 소모품

부품수량비고
아두이노 나노 R31
5mm 적색 LED3상태 표시용 1개, 나머지는 채널 식별용
5mm 녹색 LED1채널 식별용
5mm 황색 LED1채널 식별용
청색 LED2채널 식별용
브레드보드 (풀 사이즈)1
점퍼 와이어 (일반)1세트
토글 스위치 (SPST, Off-On)1런/런 모드 전환용
브레드보드 파워 서플라이 스틱 5V/3.3V1선택 사항 (USB 전원 사용 시 불필요)
IR 수신 모듈 (KY-022 37.9kHz)1아마존 구매품 사용

프로젝트 소개

낡은 VCR, TV, DVD 플레이어 등의 여분 리모컨을 재활용하여 램프, 히터 등 5V 신호로 제어 가능한 기기(릴레이, 파워 트랜지스터 등)를 켜고 끄는 프로젝트입니다. 여기서는 데모로 최대 6개 LED를 토글 제어합니다.

오래된 리모컨 재활용: 아두이노로 DIY 스마트 기기 만들기

작동 원리

아두이노 나노의 EEPROM(1024바이트)에 리모컨의 6개 버튼 코드(롱 정수, 각 4바이트)를 저장합니다. 전원 차단 후에도 코드가 유지됩니다. 토글 스위치로 '학습 모드'와 '실행 모드'를 전환합니다.

학습 모드 (스위치 ON)

실행 모드 (스위치 OFF)

오래된 리모컨 재활용: 아두이노로 DIY 스마트 기기 만들기

팁: 수신 감도 향상을 위해 IR 수신부 LED를 45도 아래로 굽히고 골판지+테이프로 한쪽만 열린 박스를 씌우면 5~8피트 거리에서도 안정적으로 수신됩니다.

릴레이 확장 예시 (애드엔덤)

LED 1~5와 병렬로 5개 릴레이 연결 테스트 완료. 120VAC 스탠드 조명 제어 가능. 6번째도 동일 작동 예상. 주의: 메인 전압은 감전/사망 위험이 있으니 전문가 감독 하에 작업하세요.

소스 코드

/* IR 리모컨 재활용 스케치 - Paul M Dunphy VE1DX, 2020년 3월 */
#include <IRremote.h>
#include <EEPROM.h>

long unsigned int intIRCode;
long unsigned int savedIRCodes[6];
long unsigned int dupeCheck[6];
const int Recv_Pin = 2;
const int PinOne = 12, PinTwo = 11, PinThree = 10, PinFour = 9, PinFive = 8, PinSix = 7;
const int switchPin = 4, statusPin = 5;
const unsigned long int repeatKeyPress = 0xFFFFFFFF;
boolean learnMode, first_iteration;
int togglestate1=0, togglestate2=0, togglestate3=0, togglestate4=0, togglestate5=0, togglestate6=0;
int remote_code_1, remote_code_2, remote_code_3, remote_code_4, remote_code_5, remote_code_6;
IRrecv irrecv(Recv_Pin);
decode_results results;

// EEPROM 4바이트 롱 정수 쓰기/읽기 함수
void EEPROMWritelong(int address, long value) { ... }
long EEPROMReadlong(long address) { ... }

int Flip_LED(int led, int toggle_state) { ... }
void Reset() { ... }
void guessType() { ... }
int learnCodeRead(int pinCode) { ... }
void Confirm() { ... }

void learn_Mode() {
  // 6개 채널 순차 학습, EEPROM 저장, 중복 체크 등
  // 상세 로직은 원문 참조
}

void run_Mode() {
  // 수신 코드 비교 후 해당 LED 토글, 미등록 코드는 Reset()
}

void setup() {
  first_iteration = true;
  Serial.begin(9600);
  irrecv.enableIRIn();
  // EEPROM 초기값 FFFFFFFF(리피트 코드) 감지 시 소니 RM-YD104 기본값 세팅
  // LED 핀 출력 설정, Reset(), 저장된 코드 읽기, 중복 체크
}

void loop() {
  learnMode = (digitalRead(switchPin) == HIGH);
  if (learnMode) { first_iteration = true; Reset(); digitalWrite(statusPin, HIGH); learn_Mode(); Reset(); first_iteration = false; }
  else { digitalWrite(statusPin, LOW); run_Mode(); first_iteration = false; }
}

회로도

오래된 리모컨 재활용: 아두이노로 DIY 스마트 기기 만들기

제조공정

  1. 발광 다이오드(LED): 탄생부터 100년 수명까지
  2. 라즈베리 파이 3와 PubNub로 원격 기상 모니터링하기
  3. LIRC로 전문가급 라즈베리 파이 범용 리모컨 만들기
  4. AWS IoT 알림으로 원격 심박수 모니터링 시스템 구축
  5. 아두이노 '관짝 댄스' 멜로디 프로젝트 – 바이럴 곡 직접 연주해보기
  6. 낡은 피처폰을 스마트 원격 스위치로 변신시키기
  7. 단일 LED 라이트 페인팅: DIY 모터 구동 시스템으로 동적 이미지 그리기
  8. 소리 감지 8-LED 라이트 디스플레이 - 아두이노 초보자 프로젝트
  9. 제어 플랫폼 선정을 위한 5가지 핵심 기준
  10. 구형 산업 기계의 안전하고 효율적인 폐기 처리