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

애니메이션 RGB 벽시계

구성품 및 소모품

Arduino Nano R3
× 1
Maxim 통합 DS3231MPMB1 주변기기 모듈
× 1
RGB 줄무늬 LED
× 1
3D 인쇄 가능 부품
× 1

필요한 도구 및 기계

납땜 인두(일반)
3D 프린터(일반)

이 프로젝트 정보

기억한다면 이전 섹션에서 INFINITY MIRROR CLOCK 및 7-SEGMENT DIGITAL CLOCK과 같은 시계 디자인 프로젝트를 발표했습니다. 이제 다시 특별하고 아주 아름다운 시계를 선보입니다.

당신이 이 벽시계를 좋아할 것이라는 데는 의심의 여지가 없습니다. 이 프로젝트에서는 RGB LED를 다시 사용했습니다. 그리고 3D 프린터는 물론 매우 중요합니다! 우리는 WALL CLOCK에 필요한 일부를 다시 디자인하고 생산했습니다. 단순한 시계가 아니라 다양한 애니메이션도 포함되어 있습니다. 원하는 경우 시계를 애니메이션으로 사용할 수도 있습니다.

이 시계와 애니메이션을 어떻게 제어합니까? 괜찮아요. 우리는 당신을 위해 매우 간단한 응용 프로그램에서 그것을 개발했습니다. 링크를 다운로드할 수 있습니다.

아두이노는 필수입니다. 우리는 공간을 절약하기 위해 Arduino Nano를 사용했습니다. 작은 전자 회로를 가진 RGB WALL CLOCK 프로젝트는 당신을 실망시키지 않을 것입니다. 우리는 더 이상 당신을 흥분시키고 싶지 않으므로 아래 비디오를 시청하도록 초대합니다!

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • Arduino 나노 코드
  • Arduino 나노 코드Arduino
    시간 및 애니메이션 코드는 파일에 있습니다.
    #include #include #ifdef __AVR__ #include #endif#define PIN 6#define PIN2 7#define NUMPIXELS 60DS3231 rtc(SDA, SCL);시간 t;int hr;int mnt;int sc;char 데이터;char color_select;int h_red_deger=255;int h_green_deger=0;int h_blue_deger=0;int m_red_deger=0;int m_green_deger=255; NG m_blue_deger=0;int s_red_deger=255;int s_green_deger=255;int s_blue_deger=0;Adafruit_NeoPixel 픽셀 =Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);Adafruit_ =Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);Adafruit_NeoPixel 스트립2 =Adafruit_NeoPixel(12, PIN2, NEO_GRB + NEO_KHZ800);int delayval =10; 무효 설정() { Serial.begin(9600); rtc.begin();#if 정의(__AVR_ATtiny85__) if (F_CPU ==16000000) clock_prescale_set(clock_div_1);#endif // 장신구 특수 코드의 끝 픽셀.begin(); // NeoPixel 라이브러리를 초기화합니다. 픽셀2.시작(); strip.begin(); 스트립쇼(); 스트립2.시작(); strip2.show();//}void loop() { while(Serial.available()> 0) // 균형 kuruluyken { delay(10); char c =Serial.read(); 데이터=c; if(데이터=='m') { 데이터=' '; t =rtc.getTime(); 시간 =t.시간; mnt=t.min; sc=t.sec; while(data!='m') { data=Serial.read(); if(데이터=='+') { 시간++; } if(데이터=='-') { 시간--; } for(int i=0;i<12;i++){pixels2.setPixelColor(i,pixels2.Color(0,255,10));}pixels2.show(); if(hr>=12){hr=hr-12;} if(hr<0){hr=hr+12;}pixels2.setPixelColor(hr,pixels2.Color(255,0,0)); 픽셀2.show(); 지연(100); 픽셀2.setPixelColor(시간,픽셀2.색상(0,0,0)); 픽셀2.show(); 지연(100); } rtc.setTime(hr,mnt,sc); if(데이터=='m') { 데이터=' '; t =rtc.getTime(); 시간 =t.시간; mnt=t.min; sc=t.sec; while(data!='m') { data=Serial.read(); if(데이터=='+') { mnt++; if(mnt==60) {mnt=0;} } if(data=='-') { if(mnt==0) {mnt=60;} mnt--; } for(int k=0;k<60;k++){pixels.setPixelColor(k, pixels.Color(0,0,0));} for(int k=0;k<60;k++){픽셀. setPixelColor(k,pixels.Color(25,25,255));k=k+4;}pixels.setPixelColor(mnt,pixels.Color(0,250,0)); 픽셀.쇼(); 지연(100); 픽셀.setPixelColor(mnt, 픽셀.색상(0,0,0)); 픽셀.쇼(); 지연(100); } } rtc.setTime(시,분,sc); 데이터=' '; } if(데이터=='H') { color_select=데이터; } if(데이터=='M') { color_select=데이터; } if(데이터=='S') { color_select=데이터; } if(데이터=='A') { 데이터=' '; colorWipe(strip.Color(255, 0, 0), 50); // 빨간색 colorWipe(strip.Color(0, 255, 0), 50); // 녹색 colorWipe(strip.Color(0, 0, 255), 50); // 파란색//colorWipe(strip.Color(0, 0, 0, 255), 50); // 흰색 RGBW // 극장 픽셀 추적을 다음으로 보냅니다... TheaterChase(strip.Color(127, 127, 127), 50); // 흰색 TheaterChase(strip.Color(127, 0, 0), 50); // 레드 TheaterChase(strip.Color(0, 0, 127), 50); // 푸른무지개(20); 레인보우사이클(20); 극장체이스레인보우(50); } if(데이터=='r'&&color_select=='H') { h_red_deger=Serial.parseInt(); 픽셀2.setPixelColor(시간,픽셀2.색상(h_red_deger,h_green_deger,h_blue_deger)); 픽셀2.show(); } if(data=='g'&&color_select=='H') { h_green_deger=Serial.parseInt(); 픽셀2.setPixelColor(시간,픽셀2.색상(h_red_deger,h_green_deger,h_blue_deger)); 픽셀2.show(); } if(데이터=='b'&&color_select=='H') { h_blue_deger=Serial.parseInt(); 픽셀2.setPixelColor(시간,픽셀2.색상(h_red_deger,h_green_deger,h_blue_deger)); 픽셀2.show(); } if(데이터=='r'&&color_select=='M') { m_red_deger=Serial.parseInt(); pixel.setPixelColor(mnt,pixels.Color(m_red_deger,m_green_deger,m_blue_deger)); 픽셀.쇼(); } if(데이터=='g'&&color_select=='M') { m_green_deger=Serial.parseInt(); pixel.setPixelColor(mnt,pixels.Color(m_red_deger,m_green_deger,m_blue_deger)); 픽셀.쇼(); } if(data=='b'&&color_select=='M') { m_blue_deger=Serial.parseInt(); pixel.setPixelColor(mnt,pixels.Color(m_red_deger,m_green_deger,m_blue_deger)); 픽셀.쇼(); }if(데이터=='r'&&color_select=='S') { s_red_deger=Serial.parseInt(); pixel.setPixelColor(sc,pixels.Color(s_red_deger,s_green_deger,s_blue_deger)); 픽셀.쇼(); } if(data=='g'&&color_select=='S') { s_green_deger=Serial.parseInt(); pixel.setPixelColor(sc,pixels.Color(s_red_deger,s_green_deger,s_blue_deger)); 픽셀.쇼(); } if(data=='b'&&color_select=='S') { s_blue_deger=Serial.parseInt(); pixel.setPixelColor(sc,pixels.Color(s_red_deger,s_green_deger,s_blue_deger)); 픽셀.쇼(); } } t =rtc.getTime(); 시간 =t.시간; mnt=t.min; sc=t.sec; pixel.setPixelColor(sc,pixels.Color(s_red_deger,s_green_deger,s_blue_deger)); pixel.setPixelColor(mnt,pixels.Color(m_red_deger,m_green_deger,m_blue_deger)); 픽셀.쇼(); for(int i=0;i<12;i++){ if(i==hr) {i++;}pixels2.setPixelColor(i,pixels2.Color(0,255,0));}pixels2.show(); if(hr>=12){hr=hr-12;}pixels2.setPixelColor(hr,pixels2.Color(h_red_deger,h_green_deger,h_blue_deger)); 픽셀2.show(); 지연(10); 픽셀.setPixelColor(sc,pixels.Color(0,0,0)); for(int k=0;k<60;k++){pixels.setPixelColor(k,pixels.Color(0,0,0));} for(int k=0;k<60;k++){pixels.setPixelColor (k,pixels.Color(25,25,255));k=k+4;}pixels.setPixelColor(mnt,pixels.Color(0,0,0)); 픽셀.쇼(); } 무효 colorWipe(uint32_t c, uint8_t 대기) { for(uint16_t i=0; i  

    회로도

    휴대전화로 제어 clockconnect__Ieit1qA91l.apk

    제조공정

    1. 뻐꾸기 시계
    2. Arduino 관점 시계
    3. Adafruit 1/4 60 Ring Neopixel을 사용한 간단한 벽시계
    4. 단순 워드 클럭(Arduino)
    5. 마스터 시계
    6. 3D RGB Arduclock
    7. 이탈리아어 단어 시계
    8. JX 웨이브 생성기
    9. 베를린 시계
    10. 무한 거울 시계