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

아두이노 시프트 레지스터로 화려한 라이트 시퀀스 만들기

부품 및 소모품

부품수량
아두이노 우노1
브레드보드 (일반)2
점퍼 와이어 (일반)55
74HC595 시프트 레지스터1
버튼4
로터리 포텐쇼미터 (일반)1
LED (일반)8
저항 220옴9
저항 10k옴4

필요한 도구

앱 및 온라인 서비스

프로젝트 소개

시프트 레지스터와 LCD 화면을 활용해 코드를 직접 수정하지 않고도 라이트 애니메이션을 생성하고 수정할 수 있는 프로그램을 만들었습니다. 4개의 버튼(1~4번)을 통해 메뉴 탐색과 변수 변경을 할 수 있습니다.

애니메이션 속도와 반복 횟수를 조절할 수 있으며, 코드 상단의 ARR_SIZE 값을 변경해 프레임 수를 조정할 수 있습니다.

코드

아래 코드를 아두이노에 업로드하고 배선이 올바르다면 바로 작동합니다.

#include <LiquidCrystal.h>
#define ARR_SIZE 16  // 프레임 수 변경 가능
#define LIGHTS 8

const int btn1 = 7, btn2 = 8, btn3 = 9, btn4 = 10;
int bs1 = 0, bs2 = 0, bs3 = 0, bs4 = 0;

const int latchPin = 11;
const int clockPin = 13;
const int dataPin = 12;

byte data;
bool ArrOne[ARR_SIZE][LIGHTS] = {false};
byte lightArrOne[ARR_SIZE] = {0xFF};

int animSpeed = 50;
int loopCount = 5;

const int rs = 15, en = 14, d4 = 3, d5 = 4, d6 = 5, d7 = 6;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  pinMode(btn1, INPUT_PULLUP);
  pinMode(btn2, INPUT_PULLUP);
  pinMode(btn3, INPUT_PULLUP);
  pinMode(btn4, INPUT_PULLUP);
  lcd.begin(16, 2);
  pinMode(latchPin, OUTPUT);
  PrintMenu();
}

void loop() {
  bs1 = digitalRead(btn1);
  bs2 = digitalRead(btn2);
  bs3 = digitalRead(btn3);
  bs4 = digitalRead(btn4);

  if (bs1 == HIGH) { bs1 = LOW; delay(150); Play(); }
  else if (bs2 == HIGH) { bs2 = LOW; delay(150); Create(ArrOne); }
  else if (bs3 == HIGH) { bs3 = LOW; delay(150); SetSpeed(); }
  else if (bs4 == HIGH) { bs4 = LOW; delay(150); SetLoop(); }
  
  PrintMenu();
  delay(150);
}

// 메뉴 출력, 프레임 생성, 속도/루프 설정, 애니메이션 재생 등
// 상세 함수는 원본 코드 참조

회로도

회로도 이미지를 참고해 배선하세요. 저항 길이 제한으로 실제 조립보다 여유 있게 그려져 있으니, 직접 조립 시 더 깔끔하게 정리해보세요.

아두이노 시프트 레지스터로 화려한 라이트 시퀀스 만들기

제조공정

  1. 아두이노 나노 33 BLE 센스에서 Edge Impulse로 구현하는 TinyML 언어 감지기
  2. 아두이노 나노와 MPU-6050으로 실시간 자이로스코프 게임 만들기
  3. 아두이노 디지털 주사위: LCD 기반 랜덤 넘버 제너레이터 만들기
  4. 아두이노 나노로 37개 LED 룰렛 게임 만들기
  5. ATtiny85 미니 아케이드: 스네이크 게임 - 휴대용 OLED 게임기 만들기
  6. 휴대용 거리 감지기: HC-SR04, 18650 배터리, 3D 프린트 케이스의 아두이노 나노 DIY 키트
  7. 아두이노 나노로 만드는 오디오 반응형 책상 무드등 (주소 지정 LED)
  8. 아두이노 나노 & OpenCV로 만드는 자율 주행 안면 추적 로봇 카
  9. 구리 도금 프로젝트: 아두이노 우노로 만드는 스마트 전기분해 시스템
  10. 아두이노 나노와 네오픽셀 매트릭스로 만드는 네온 퐁 게임