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

LED 타워 아트

구성품 및 소모품

APA 106 프로그래밍 가능 RGB LED, 8mm
× 288
Arduino UNO
× 1
22 게이지 주석 도금 구리선
× 1
8인치 직경 금속 링
× 12
12인치 아크릴 막대
× 10

필요한 도구 및 기계

납땜 인두(일반)
뜨거운 글루건(일반)
BlueTack 접착제
클립온 방열판

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

이 프로젝트의 영감은 원통과 평면이 교차하여 생성되는 수많은 곡선입니다! LED 조명 쇼를 만들고 싶었지만 최근에 이미 여러 개의 LED 큐브를 만들었습니다. 저는 하드웨어와 소프트웨어의 관점에서 뭔가 다른 것을 하고 싶었습니다. 그리고 저는 이것이 프로그래밍하기에 재미있는 환경이 될 것이라고 생각했습니다. 큐브만큼 잠재력이 있지만 분명히 다른 것입니다!

이 타워에 8mm APA106 프로그래밍 가능 LED를 사용하기로 선택했습니다. 일반 RGB LED보다 더 비싸지만 하드웨어 및 소프트웨어 관점에서 모두 작업하기가 훨씬 쉽습니다. 시프트 레지스터 없음 - 모든 것이 두 개의 데이터 라인으로 제어됩니다. 그리고 ISR(인터럽트 서비스 루틴)과 LED 레이어 간의 멀티플렉싱이 없습니다. 이 LED는 항상 켜져 있습니다.

나는 실린더/타워를 서로 겹쳐진 12개의 링 세트로 만들기로 결정했습니다. 링의 직경은 8"이고 각 링에는 1" 간격으로 24개의 LED가 있습니다(실제로는 π * 8 / 24이지만 1인치에 가깝습니다). 링 자체는 1인치씩 분리되어 있으므로 LED는 양방향으로 1인치 떨어져 있습니다. 아크릴 막대는 링을 함께 고정하여 타워를 형성하는 데 사용됩니다.

APA106 LED는 최대 밝기와 흰색에서 60mA를 끌어올 수 있으므로 최악의 경우 이 타워는 17A를 끌어올 수 있습니다! 그러나 이 LED는 너무 밝아서 소프트웨어에서 밝기를 10% 이상으로 설정하는 경우가 거의 없습니다. 그리고 전체 타워를 흰색으로 바꾸는 것은 실제로 아무 곳에서도 수행되지 않습니다. 그래서 실제로 USB 포트를 사용하여 전원을 공급하는 데 문제가 없었습니다. 그리고 별도의 전원을 사용하고 싶다면 2암페어 정도가 적당할 것 같습니다.

건설

나는 아마존에서 내 LED 링의 좋은 기반이 될 것이라고 생각했던 8인치 직경의 금속 링을 찾았습니다. 쉽게 납땜할 수 있다는 것을 알았을 때 실제로 즐거운 놀라움이었습니다! "쉽게"라는 용어는 상대적입니다. 링은 무겁고 충분히 뜨거워지기 위해서는 많은 열이 필요하므로 내 40와트 납땜 인두가 끝까지 올라갔고 보통 5-10초 동안 거기에 앉아 있어야 땜납이 녹습니다.나는 먼저 땜납으로 링을 적십니다 LED를 납땜하기 전에 항상 LED 리드에 클립 방열판을 사용했습니다.

하지만 나는 나보다 조금 앞서가고 있다. 링에 LED 납땜을 시작하기 전에 아래 다이어그램에 따라 24개의 리드를 형성해야 합니다.

리드 형태 작업의 일부로 접지 리드 끝에 약간의 굽힘을 넣었습니다. 둘 다 쉽게 식별할 수 있을 뿐만 아니라 링에 더 쉽게 부착할 수 있습니다.

LED를 링에 납땜하기 전의 또 다른 준비 단계는 LED가 배치될 링의 24개의 짝수 공간을 표시하는 것입니다. 또한 LED를 부착하는 동안 링을 수직으로 고정해야 하는 필요성을 발견했습니다. 나는 결국 반지를 제자리에 고정하기 위해 아래의 기구를 사용하게 되었습니다.

몇 개의 LED가 링에 납땜되면 아래와 같이 데이터 입력 리드를 데이터 출력 리드에 연결해야 합니다. 클립 온 방열판은 항상 LED를 보호하는 데 사용됩니다.

모든 LED가 링에 있으면 링 전체에 대해 하나의 데이터 입력 리드가 있어야 하며 건너편에 있는 데이터 출력 리드는 그 위의 다음 링으로 갈 준비가 되어 있어야 합니다. 이 시점에서 모든 +5볼트 리드를 22게이지 주석 도금 구리선의 곧은 부분과 함께 연결할 준비가 되었습니다. 26인치 길이의 와이어를 한쪽 끝을 바이스로 조이고 다른 쪽 끝을 플라이어로 세게 잡아당겨 곧게 펴십시오. 그런 다음 아래와 같이 LED에 부착합니다.

완성된 링이 있으면 내가 포함된 테스트 스케치를 사용하여 테스트할 수 있습니다. 테스트가 중요합니다. 완성된 타워의 한가운데에 있을 때보다 불량 LED 또는 콜드 솔더 조인트를 수정하는 것이 훨씬 쉽습니다! 테스트는 개방형 데이터 입력 핀을 UNO 핀 6에 연결하여 수행됩니다. 포함된 테스트 스케치는 이 비디오의 스케치와 다소 다르지만 링이 제대로 작동하는지 보여야 합니다.

이제 11개의 고리를 더 만들어야 합니다. 많은 작업이 필요하지만 약간의 연습을 통해 하나의 링을 만드는 작업을 몇 시간으로 단축할 수 있습니다.

각 링의 LED가 다른 링의 해당 LED와 정렬되는 것이 중요합니다. LED가 완벽하게 배치되어 있으면 문제가 되지 않지만, 간격이 충분히 작아서 하나의 링을 다른 링의 템플릿으로 사용하고 항상 열린 데이터 입력 리드(개방형 데이터 입력 리드( 하나는 데이터 출력 리드에 연결되지 않음) 같은 위치에 있습니다. (제 타워를 자세히 보면 처음 두 개의 링이 서로 잘 정렬되지 않습니다. 그러나 그 이후에는 이 템플릿 방식을 사용하여 훨씬 개선된 결과를 얻었습니다.)

최소한 4개의 링이 만들어지면 타워를 조립하는 과정을 시작할 수 있습니다. 아래쪽 4개 링의 초기 조립은 아마도 건설에서 가장 중요한 부분일 것입니다. 우리는 피사의 사탑을 만들고 싶지 않습니다! 링을 함께 끼우려면 링 사이에 1" 공간을 만들기 위해 22mm 높이의 스페이서가 필요합니다. 스페이서에 3D 인쇄된 검은색 플라스틱을 사용했지만 1/4" 고정도 잘 작동합니다. 스페이서를 제자리에 고정하기 위해 임시 접착제인 약간의 Blue Tack을 사용했습니다.

링은 6개의 12인치 길이 아크릴 막대를 사용하여 타워를 형성하기 위해 함께 유지됩니다. 이 막대를 적용하기 전에 모든 것을 정확히 제자리에 두는 것이 중요합니다.. 막대가 링에 뜨겁게 접착되면 변경하는 것이 거의 불가능하므로 먼저 원하는 위치에 모든 것을 가져옵니다. 모든 것이 제자리에 있으면 타워를 옆으로 돌리고 아크릴 막대를 고리에 핫 풀로 붙일 수 있습니다. 아래 사진은 처음 3개의 막대가 부착된 처음 4개의 링을 보여줍니다. 3개를 더 붙여서 총 6개가 되었습니다. 막대는 각 막대 사이에 4개의 LED가 있는 LED 사이에 배치됩니다.

모든 로드가 링에 부착되면 스페이서를 제거한 다음 추가 링을 추가할 때 재사용할 수 있습니다. 12개의 링이 모두 제자리에 있으면 링 사이에 접지, +5v 및 데이터 라인을 연결할 준비가 된 것입니다. 이것은 22 게이지 주석 도금 구리 와이어를 사용하여 수행됩니다. 전원 레일은 12개의 모든 링과 병렬로 연결되어 있습니다.

각각 144개의 LED가 있는 2개의 데이터 라인이 있습니다. 하나는 상단 6개 링(결국 UNO 핀 6으로 이동)과 하단 6개 링(결국 UNO 핀 7으로 이동)용입니다. 각 데이터 라인은 가장 낮은 링에서 시작하여 가장 높은 링까지 작동합니다. 원래는 단일 데이터 라인만 가질 계획이었지만 링 8이 되자 원치 않는 이상한 섬광이 보이기 시작했습니다. 처음에는 전원 레일일 수 있다고 생각했지만 레일에 일부 커패시터를 추가해도 도움이 되지 않아 타워를 두 개의 데이터 라인으로 분할했습니다. 문제가 해결되었습니다.

위의 사진은 완성된 타워의 사진입니다. 아두이노 UNO는 하단에 설치됩니다. 나는 실제로 나머지 4개의 아크릴 막대를 사용하여 UNO를 매달고 뜨거운 접착제를 사용하여 모든 것을 함께 붙였습니다. 다른 접근 방식은 내부에 UNO가 있는 베이스에 타워를 장착하는 것일 수 있습니다. UNO, 접지 및 +5v 레일에 대한 4개의 연결이 12개 링 모두에 연결되고 2개의 데이터 라인이 핀 6과 7에 연결됩니다.

소프트웨어

APA106과 같은 프로그래밍 가능 LED는 제어에 사용되는 데이터 펄스의 타이밍을 처리하는 라이브러리가 여러 개 있기 때문에 사용하기 쉽습니다. APA106 LED로 수행한 이전 프로젝트(내 두 번째 5x5x5 RGB 큐브 및 삼각형 아트 프로젝트)에서는 Adafruit의 인기 있는 NeoPixel 소프트웨어 라이브러리를 사용했습니다. 그러나 이 타워의 경우 FastLED 라이브러리를 선택했습니다. 그것은 많은 훌륭한 기능과 함께 유용할 것이라고 생각했던 몇 가지 빠른 수학 기능을 가지고 있습니다. 또한 다소 조잡한 43단계 레인보우 팔레트를 256단계 팔레트로 쉽게 교체할 수 있었습니다. 여기에는 수백 가지 기능, 미리 정의된 팔레트 및 이 프로젝트에 사용하지 않은 기타 항목이 있지만 이 프로젝트와 향후 프로젝트 모두에 훌륭한 선택이 됩니다. 그리고 내가 매우 편리하다고 생각한 FastLED의 또 다른 기능은 페이드를 쉽게 수행할 수 있는 기능입니다.

저는 항상 LED와 그 색상을 쉽게 지정할 수 있는 기능을 갖고 싶습니다. 이 타워를 사용하면 setColor(row, column, color) 형식이어야 합니다. 여기서 row는 링이 있는 링이고 column은 해당 링의 위치입니다. 이 하나의 루틴은 데이터 라인 LED가 켜져 있는 모든 변환과 데이터 체인에서 해당 위치가 무엇인지 처리합니다.

FastLED 라이브러리의 강력한 도구 중 하나는 색상이라는 이름의 모든 웹 개체 클래스입니다. 색상을 CRGB::HotPink로 지정하면 됩니다. 여기서 CRGB는 클래스이고 HotPink는 해당 클래스의 멤버입니다. 하지만 클래스 멤버는 계속 입력하기 어렵고 매개변수로 함수에 전달하는 것이 귀찮기 때문에 #define 문을 사용하여 CRGB::없이 이름만으로 참조할 수 있는 명명된 색상의 작은 팔레트를 설정했습니다.

특정 LED의 색상을 0에서 255까지의 무지개 팔레트 색조로 설정하는 또 다른 함수가 있습니다. 이 두 함수 사이에서 10개의 명명된 색상을 쉽게 지정하거나 타워의 모든 LED에 대해 부드러운 무지개 색상 팔레트를 생성할 수 있습니다.

내가 만든 또 다른 기본 기능은 회전(고리, 방향)으로, 해당 고리에 있는 모든 고리의 내용을 회전합니다. 각 호출은 한 단계이지만 이 루틴을 사용하여 전체 타워의 내용을 회전하거나 타워의 일부를 반대 방향으로 회전하는 등 많은 흥미로운 효과를 만들 수 있습니다.

FastLED 라이브러리에 대해 언급할 수 있는 또 다른 사항은 내가 사용 중인 APA106 LED를 직접 지원한다는 것입니다. Adafruit의 NeoPixel 라이브러리도 APA106과 함께 작동했지만 올바르게 설정하려면 설정을 실험해야 했습니다. FastLED를 사용하면 APA106을 사용 중인 LED로 지정하기만 하면 자동으로 설정됩니다.

처음에 말했듯이 이 타워로 만들 수 있는 더 흥미로운 효과 중 하나는 실린더와 평면 사이의 교차점입니다. 처음에는 수학으로 즉석에서 이것을 달성하려고 생각했습니다. 그러나 UNO가 충분히 빠른지 여부에 대한 문제가 있고 테이블에서 수행하는 것이 꽤 쉬웠으므로 후자의 접근 방식을 취했습니다. 기본적으로 이 테이블은 평면과 타워의 교차점을 18개의 다른 각도로 밝히고 교차점이 발생하는 높이를 다양하게 할 수 있습니다. 쇼의 여러 장소에서 결과를 볼 수 있습니다.

동일한 테이블 접근 방식을 사용하여 구가 있는 원통의 다양한 교차점을 만들었습니다. 그것은 효과가 있었지만 비행기와의 교차점만큼 효과적이지는 않았습니다. 그것을 사용하는 쇼에서 하나의 효과가 있습니다. 이 두 테이블은 RAM을 소모하지 않도록 프로그램 메모리에 저장됩니다.

소프트웨어 패키지에 포함된 UNO에 대한 세 가지 스케치가 있습니다.

1) 단일 링에 대한 빠른 테스트.

2) 쇼의 45초 미리보기

3) 16가지 효과 또는 애니메이션이 포함된 8분 길이의 쇼

세 가지 모두 이 글의 비디오에 나와 있습니다(링 테스트는 비디오의 테스트와 다소 다름).

소프트웨어에 대한 마지막 사항입니다. 다른 애니메이션이 호출되는 메인 루프의 끝에 소프트웨어 재설정을 추가했습니다. 이것은 일반적으로 필요하지 않지만 내 소프트웨어 어딘가에 버그가 있습니다. 재설정하지 않으면 모든 애니메이션을 여러 번 실행한 후 프로그램이 중단됩니다. 아마도 RAM의 스택에서 나와야 할 때 나오지 않는 것이 있을 것입니다. FastLED 라이브러리의 문제일 수도 있습니다. 그러나 나는 그것을 찾지 못했고 소프트웨어 재설정은 가장 우아한 솔루션은 아니지만 부드러운 작동을 보장합니다.

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

코드

<울>
  • LED 타워 아트용 Arduino 코드
  • 타워 아트용 소프트웨어
  • LED 타워 아트용 Arduino 코드Arduino
    이 다운로드는 3개의 스케치가 포함된 단일 zip 파일입니다.
    1) 핀 6에서 단일 링을 테스트하기 위한 링 테스트
    2) 빠른 쇼 - 45초 미리보기
    3) 반복되기 전 8분 동안 지속되는 쇼
    미리보기 없음(다운로드만 가능)
    타워 아트용 소프트웨어Arduino
    이 다운로드는 3개의 스케치가 포함된 단일 zip 파일입니다.
    1) 핀 6에서 단일 링을 테스트하기 위한 링 테스트
    2) 빠른 쇼 - 45초 미리보기
    3) 반복되기 전 8분 동안 지속되는 쇼
    미리보기 없음(다운로드만 가능)

    회로도


    제조공정

    1. 풍력 터빈
    2. DIY LUMAZOID Arduino 뮤직 비주얼라이저
    3. UFO 공격!
    4. DIY 37 LED 룰렛 게임
    5. 관춤 멜로디
    6. 3D RGB Arduclock
    7. 마이리버
    8. 아이언맨
    9. 조이스틱 게임
    10. 아날로그 스타일 LED POV 시계