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

다이내믹 트라이앵글 아트

구성품 및 소모품

APA-106 프로그래밍 가능한 RGB LED
× 45
22 게이지 주석 도금 구리선
× 1
Arduino UNO
× 1
합판 삼각형 한 면에 12인치, 1/4인치. 두께
× 1

필요한 도구 및 기계

납땜 인두(일반)
뜨거운 글루건(일반)
방열판 클립
납땜 열로부터 LED를 보호하는 데 사용

이 프로젝트 정보

소개

이 프로젝트는 Arduino UNO로 제어되는 45개의 APA-106 프로그래밍 가능 LED를 사용합니다. 이 LED는 개별적으로 프로그래밍 가능한 LED 스트립과 유사하므로 Adafruit의 Neo-pixel 라이브러리를 사용하여 제어합니다. 단일 데이터 라인이 체인의 모든 LED에 연결되기 때문에 UNO의 단일 핀은 전체 디스플레이를 프로그래밍합니다.

이 디자인에 대한 영감은 제 초기 프로젝트 중 두 가지였습니다. 두 번째 5x5x5 RGB 큐브(또 다른 5x5x5 RGB 큐브)는 APA-106 프로그래밍 가능 LED를 사용했으며 약 75개의 추가 기능이 남았습니다. 4x4x4 큐브를 만들 수도 있었지만 최근에 큐브를 많이 만들었습니다. 다른 것을 위한 시간입니다. My Servo Motor Art 프로젝트는 삼각형으로 만들어졌으며 그 삼각형 디자인은 많은 흥미로운 패턴을 만들었습니다. 그래서 이 프로젝트는 삼각형 패턴으로 배열된 45개의 APA-106 LED를 사용하여 삼각형 예술을 더 탐구합니다.

이것은 하드웨어 및 소프트웨어 관점 모두에서 상당히 쉬운 프로젝트입니다. 먼저 하드웨어를 살펴본 다음 소프트웨어를 살펴보겠습니다.

하드웨어

하드웨어는 UNO와 45개의 LED로만 구성됩니다. 이 LED는 최대 전력에서 매우 밝기 때문에 전체 디스플레이의 밝기를 0에서 255까지의 범위에서 30으로 설정했습니다. 이 수준에서 UNO와 모든 LED는 UNO의 USB 입력에서 직접 전원을 공급받을 수 있으므로 1A - 5V 전원 공급 장치는 선택 사항입니다.

건설의 첫 번째 단계는 1/4인치 합판 조각에 구멍을 뚫는 것입니다. 보드 자체는 각 가장자리에서 12인치입니다. LED는 신중하게 구성된 정삼각형에서 1인치 떨어져 있습니다. LED는 8mm이므로 LED에 꼭 맞는 8mm 구멍을 뚫었습니다. 한 번 누르면 전혀 움직이지 않았습니다.

왼쪽 위는 APA-106 LED입니다. 긴 리드는 접지입니다. 데이터 출력은 패키지의 평평한 가장자리 옆 오른쪽에 있는 리드입니다. 왼쪽의 첫 번째 리드는 데이터 입력이고 데이터 입력과 접지 사이의 다음 리드는 +5V입니다. 이 4개의 리드는 오른쪽과 같이 구부러져 있습니다. 접지 리드는 끝에 두 번째 구부러진 부분이 있습니다. 접지 리드가 모두 구부러지면 보기 어렵기 때문에 접지 리드를 식별하는 용도로만 사용됩니다.

위의 이미지는 보드가 어떻게 배선되어 있는지 보여줍니다. 먼저 파란색의 데이터 라인이 LED가 함께 연결될 때 앞으로 뒤로 이동한다는 점에 주목하십시오. 즉, 홀수 행에서는 데이터가 왼쪽에서 오른쪽으로 흐르고 짝수 행에서는 데이터가 오른쪽에서 왼쪽으로 흐릅니다. 이것은 또한 홀수 행과 짝수 행에 대해 전원 레일이 다르게 되도록 합니다. 홀수 행의 경우 접지 리드가 올라가고 +5v 리드가 내려간 다음 짝수 행의 경우 반대입니다.

위의 사진은 배선을 보여줍니다. 그것은 모두 22 게이지 베어 주석 도금 구리 와이어로 수행됩니다. 왼쪽의 접지 레일과 오른쪽의 +5V 레일을 수집했습니다. 반대로 해야 합니다. 내 보드의 모든 데이터 라인 연결은 전원 레일을 통과해야 했지만 접지를 오른쪽으로, +5v를 왼쪽으로 전환하면 데이터 라인이 교차할 필요가 없습니다!

위는 배선을 가까이서 본 모습입니다. 오른쪽의 데이터 라인이 5볼트 전원 레일의 상단을 어떻게 가로지르는지 확인하십시오.

위의 사진은 완성된 보드를 보여줍니다. 나는 UNO의 스탠드오프로 작은 플라스틱 조각을 사용하고 약간의 뜨거운 접착제로 UNO를 보드에 장착했습니다.

위의 사진은 케이스의 삼각형을 보여줍니다. 이것은 여기에 포함된 .stl 파일의 3D 프린트입니다. 합판으로도 충분히 쉽게 만들 수 있습니다.

소프트웨어

소프트웨어는 Adafruit의 네오 픽셀 라이브러리 덕분에 매우 간단합니다. 하나의 LED의 색상을 정의하기 위해 setPixelColor(# in the chain, color)를 제공하고 전체 디스플레이를 최신 변경 사항으로 업데이트하는 show()를 제공합니다. 라이브러리는 부호 없는 32비트 숫자를 사용하여 LED의 색상을 나타내며 빨강, 녹색 및 파랑의 강도에 대해 각각 8비트를 저장합니다. 기본 색상을 밝게 하고 어둡게 하는 데 이 구성표를 직접 사용했지만 다른 모든 작업에는 LED 큐브에서 차용한 나만의 간단한 색상 관리 구성표를 사용했습니다. 1부터 42까지의 숫자가 무지개 색상 팔레트를 나타내는 간단한 구성표로 검정색(모두 꺼짐)에 0을 추가하고 흰색(모두 켜짐)에 43을 추가합니다.

위의 배선 다이어그램에서 LED가 맨 위에 0부터 시작하여 번호가 왼쪽에서 오른쪽으로 행별로 번호가 매겨져 있음을 알 수 있습니다. 이것은 LED를 식별하는 데 사용한 번호 매기기 시스템입니다. 데이터 라인처럼 앞뒤로 이동하지 않으므로 번호 할당으로 LED를 참조하고 0~43 색상 팔레트를 사용하여 색상을 지정할 수 있는 고유한 버전의 setPixelColor를 만들었습니다.

비디오에서 볼 수 있는 거의 모든 애니메이션이나 효과는 테이블 기반입니다. 한 표에는 상단 모서리부터 쓸어내는 방법이 나와 있습니다. 두 개의 다른 테이블은 그 효과를 다른 두 모서리로 변환합니다. 다른 표는 바깥쪽 삼각형의 LED, 그 다음 가운데, 가장 안쪽 삼각형의 LED를 알려줍니다. 이러한 다양한 테이블은 모두 RAM이 아닌 프로그램 메모리에 저장됩니다. 처음에는 이 모든 테이블이 귀중한 프로그램 공간을 너무 많이 차지하지 않을까 걱정했습니다. 그러나 이 테이블 접근 방식을 사용하는 것은 매우 효율적인 것으로 판명되었으며 프로그램 공간은 결코 문제가 되지 않았습니다.

프로그램이나 스케치는 Arduino IDE에서 4개의 파일 또는 탭으로 나뉩니다. 첫 번째는 선언, 테이블 및 설정 루틴입니다. 두 번째는 단순히 다양한 애니메이션 목록을 불러오는 메인 루프입니다. 세 번째는 애니메이션 자체입니다. 네 번째는 모든 애니메이션을 지원하는 범용 함수 또는 서브루틴입니다.

위의 비디오에서 15개의 애니메이션이 있는 원본 쇼를 볼 수 있습니다. 그것은 반복되기 전에 약 3분 동안 지속됩니다. 그러나 그 이후로 저는 아래 비디오에서 볼 수 있는 많은 새로운 애니메이션을 포함하도록 쇼를 확장했습니다.

위 비디오의 모든 애니메이션은 모두 회전()이라는 단일 서브루틴에 대한 호출로 수행됩니다. 삼각형은 24개의 LED로 구성된 외부 삼각형, 15개의 LED로 구성된 중간 삼각형 및 6개의 LED로 구성된 내부 삼각형으로 구성됩니다. 이 세 숫자의 공통 분모는 120입니다. 따라서 120단계로 전체 삼각형의 내용을 360도 회전할 수 있습니다. 이것이 회전() 루틴이 하는 일입니다. 시작 패턴을 변경하고, 회전 방향을 변경하고, 회전 속도를 변경하면 위의 동영상에서 볼 수 있는 모든 효과를 얻을 수 있습니다.

이제 다운로드의 쇼에는 원래 쇼와 위의 모든 애니메이션이 포함되어 반복되기 전에 5분 동안 지속되는 26개의 애니메이션이 있는 쇼를 생성합니다.

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

코드

<울>
  • Art Triangle용 Arduino 코드
  • Art Triangle용 Arduino 코드Arduino
    이것은 테스트 루틴, 26개의 애니메이션이 있는 쇼, Neo-pixel 라이브러리 사용 지침이 포함된 zip 파일입니다.
    미리보기 없음(다운로드만 가능)

    맞춤형 부품 및 인클로저

    인클로저용 .stl 파일

    회로도


    제조공정

    1. 직각 삼각법
    2. 비직각 삼각형 삼각법
    3. 프로그래밍 가능한 로직 컨트롤러(PLC)
    4. C 동적 메모리 할당
    5. Walabasquiat:인터랙티브 생성 예술 설치!
    6. C++ 동적 메모리
    7. G.AL® C330 다이나믹
    8. G.AL® C210 다이나믹
    9. 수평 밀링은 효율적인 생산의 기술입니다.
    10. 동적 및 용적 펌프의 차이점