Arduino Nano RP2040의 NeoPixels
그런데 한 가지 문제에 봉착했습니다. 12개의 LED NeoPixel 링을 사용하여 내 차가 운전자에게 피드백을 줄 수 있기를 원했습니다. 다양한 튜토리얼을 살펴보았지만 RP2040 보드가 다른 모든 Arduino Nano 보드와 상당히 다르다는 것을 곧 알게 되었습니다.
배선
먼저 NeoPixel 링의 DI, GND 및 V5 접점에 점퍼 와이어를 납땜했습니다(조심하세요. 접점이 너무 뜨거워지면 빠르게 떨어집니다).
그런 다음 다음과 같이 전선을 연결했습니다.
DI -> D3
GND -> GND
V5 -> VUSB (V5+)
/**
* if you are like me and just read articles to scan for code
* snippets, this won't work. Take the next snippet.
*/
그런 다음 예제 NeoPixel 라이브러리 중 하나를 보드에 작성했지만 아무 일도 일어나지 않았습니다. 그래서 저는 3일 저녁과 2개의 NeoPixel 링(다행히도 두 개를 주문했습니다)을 요하는 토끼 굴을 내려갔습니다.
우연히 V5를 VIN에 연결했는데 어떻게든 작동했습니다. 그런 다음 더 깊이 들어가 RP2040의 VUSBis not activated by default를 발견했습니다. 이전에 문서를 공부했다면 분명했을 것입니다. 그러나 디버깅에 몇 시간을 할애할 기회가 있는데 누가 문서를 읽는 데 20분을 낭비하겠습니까?
어쨌든 다음 연결로 작동합니다.
DI -> D3
GND -> GND
V5 -> VIN
나중에 배터리로 보드에 전원을 공급하고 VIN을 이 용도로 사용하는 경우
+3V3
대신 VIN
핀을 사용할 수도 있다는 사실도 알게 되었습니다. 그러나 더 많은 LED를 사용하면 더 이상 제대로 작동하지 않을 것이라고 상상할 수 있습니다.코드
먼저 가장 중요한 질문은 Adafruit NeoPixel Library이 버전 1.10.2부터 RP2040을 지원한다는 것입니다. 따라서 올바른 버전을 사용하고 있는지 확인하십시오. 라이브러리를 설치하려면 여기에 설명된 단계를 따르십시오: Adafruit NeoPixel Installation .
이제 테스트를 위해 간단한 스케치로 시작합니다.
#include <Adafruit_NeoPixel.h>
#define LED_PIN 15
#define LED_COUNT 12
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show();
strip.setBrightness(50);
}
void loop() {
setRingRed(false);
delay(1000);
setRingRed(true);
delay(1000);
}
void setRingRed(bool off) {
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(off ? 0 : 255, 0, 0));
}
strip.show();
}
setup
및 loop
함수는 보드에서 코드를 설정한 다음 변경 사항에 반응하는 데 사용됩니다. 제 경우에는 전체 링을 빨간색으로 설정하고 1초간 기다린 다음 끕니다. 그런 다음 루프가 다시 시작되므로 두 번째 지연을 추가해야 합니다.setRingRed
함수는 모든 LED를 순환하고 새 색상을 설정한 다음 링에 표시합니다.결론
예, 작동합니다. 그리고 그것이 결국 중요한 전부입니다 😅.
설명서를 먼저 읽었더라면 확실히 많은 시간을 절약할 수 있었을 것입니다. 그러나 이렇게하면 실수를 반복하지 않을 것입니다.
하드웨어 디버깅은 확실히 예상보다 꽤 어렵습니다.
일반적인 오류 소스(오래된 라이브러리, 버그) 외에도 갑자기 완전히 새로운 오류가 있습니다. 내가 뭔가 잘못 납땜했습니까? 잘못 연결되어 있습니까? LED에 결함이 있습니까?
그러나 문제에 대해 고민하는 시간이 길수록 성공의 순간이 확실히 더 크기 때문에 거의 항상 고수할 가치가 있습니다.
아 그리고 아두이노 코스모스 방식의 첫 발걸음을 더 쉽게 만들어준 사람에게 큰 감사를 드립니다 🙏🏻.
Reference
이 문제에 관하여(Arduino Nano RP2040의 NeoPixels), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nicomartin/neopixels-on-the-arduino-nano-rp2040-3po6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)