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

Arduino RGB 컬러 믹서

구성품 및 소모품

Arduino UNO
× 1
RGB LED
모든 4핀 공통 접지 RGB LED가 이 프로젝트에서 작동합니다.
× 1
회전 전위차계(일반)
× 3
SparkFun 푸시버튼 스위치 12mm
× 1
저항 10k 옴
× 1
저항 221옴
× 3
브레드보드(일반)
× 1
점퍼 와이어(일반)
× 1

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

누구를 위한 것입니까? :이 RGB LED 컬러 믹서 프로젝트는 인터랙티브 가제트를 만들고 싶어하는 초보 Arduino 사용자에게 적합합니다. 이것은 재미있고 만들기 쉬울 뿐만 아니라 아티스트, 웹 등 RBG 색상을 사용하는 모든 사람에게 유용할 수 있습니다. 개발자 및 대화형 조명 컨트롤러.

무엇의 기능: 이 간단한 회로는 3개의 전위차계를 결합하여 RGB LED 내부의 빨간색, 녹색 및 파란색 LED 각각에 대한 밝기를 설정합니다.

푸시 버튼 스위치는 회로를 켜고 끄는 추가 기능이 추가되었습니다.

어떻게 구축하나요? 회로도에 표시된 대로 다이어그램을 배선합니다. RGB LED는 Arduino의 PMW 핀 9, 10 및 11에 연결됩니다. 푸시 버튼은 핀 7에 연결되고 3개의 전위차계는 A0, A1 및 A2에 연결됩니다. 푸시 버튼의 접지 연결에 10K 옴 풀업 저항을 추가하는 것을 잊지 마십시오. 이것이 어떻게 작동하는지에 대한 설명은 https://playground.arduino.cc/CommonTopics/PullUpDownResistor

를 확인하십시오.

또한 LED와 출력 핀 사이에 3개의 220옴 저항을 연결해야 LED가 타지 않습니다.

각 Potentiometer의 값이 시리얼 모니터에 출력되기 때문에 LED를 만지작거리다가 원하는 색상을 찾으면 RGB 값을 기록하여 나중에 사용할 수 있습니다.

회로를 배선하고 스케치를 업로드했으면 전위차계의 손잡이를 돌려보십시오. 버튼을 누를 때까지 처음에는 아무 일도 일어나지 않아야 합니다. 이제 노브를 다시 돌려보십시오. 이제 led가 켜져야 합니다. 빛을 가지고 노는 시간! RGB 조명은 페인트를 섞는 것과는 다릅니다. 모든 전위차계가 가득 차면 표시등이 흰색이어야 합니다. 전위차계 중 하나를 끄거나 매우 낮은 상태로 두고 다른 두 개를 변경해 보십시오.

이 프로젝트의 확장은 원하는 특정 색상에 대한 일부 RBG 값을 하드 코딩하고 누를 때 RGB LED를 해당 색상으로 설정하는 푸시 버튼을 추가하는 것입니다. 이와 같은 확장 프로그램을 사용하는 경우 코드를 자유롭게 공유하세요!

즐기세요!

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

코드

<울>
  • Rgb 컬러 믹서
  • Rgb 컬러 믹서C/C++
    <사전>청색 =9; // LED의 각 색상에 대한 디지털 핀 정의int green =10;int red =11;int redPot =A0;int greenPot =A1; //3개의 전위차계에 대한 아날로그 핀 정의int bluePot =A2;int greenVal =0; //각 전위차계의 상태를 저장할 변수 생성int blueVal =0;int redVal =0;const int BUTTON =7; //버튼 정의 Pinint state =0; //버튼이 켜져 있거나 꺼져 있는지를 저장할 변수를 만듭니다. val =0; //버튼의 순간 상태를 저장할 변수 생성int old_val =0; //버튼의 이전 상태를 저장할 변수를 만듭니다. setup() { // 여기에 설정 코드를 넣어 한 번 실행합니다. pinMode(green, OUTPUT); // LED를 출력으로, 버튼을 입력으로 설정 pinMode(blue, OUTPUT); 핀모드(빨간색, 출력); 핀모드(버튼, 입력); Serial.begin(9600);}void loop() { // 여기에 기본 코드를 넣어 반복적으로 실행합니다. Serial.begin(9600); //9600 baud에서 직렬 모니터를 엽니다. val =digitalRead(BUTTON); // 버튼 상태 확인 if ((val ==HIGH) &&(old_val ==LOW)) { //버튼 상태가 변경되었는지 확인 state =1 - state; //버튼을 on(1) 또는 off(0)로 설정합니다. delay(10); } old_val =발; // 루프를 통해 다음 번 비교를 위해 이전 버튼 읽기를 저장 greenVal =analogRead(greenPot); // 전위차계의 위치를 ​​읽습니다. blueVal =analogRead(bluePot); redVal =analogRead(redPot); if (state ==1) { //버튼이 켜져 있으면 위치에 따라 각 LED의 상태를 설정 analogWrite(green, greenVal / 4); //해당 전위차계. 아날로그 입력 범위는 0-1023, analogWrite(blue, blueVal / 4); // PMW로 아날로그 출력은 0-255 사이일 수 있습니다. 그러므로 우리는 analogWrite(red, redVal / 4); // 전위차계 판독값을 4로 나누어 상태를 올바르게 설정합니다. Serial.print("RGB("); Serial.print(redVal/4); Serial.print(","); Serial.print(greenVal/4); Serial.print(","); Serial.print(blueVal/4); // RGB 코드를 인쇄합니다. RGB 응용 프로그램에서 다시 사용할 수 있습니다. Serial.println(")"); 지연(50); } else { // 버튼이 꺼져 있으면 모든 LED를 LOW/OFF로 설정합니다. analogWrite(green, 0); analogWrite(파란색, 0); analogWrite(빨간색, 0); 지연(50); }}

    회로도


    제조공정

    1. DIY LUMAZOID Arduino 뮤직 비주얼라이저
    2. 제스처 제어 대화형 테이블 조명
    3. Bluetooth가 탑재된 Arduino로 LED 제어!
    4. Arduino Quadruped
    5. DIY Arduino RADIONICS 치료 기계
    6. DMX RGB LED 실외용
    7. Arduino 컬러 믹서
    8. 뮤지컬 색상
    9. LED 룰렛 게임
    10. Arduino 자동 주차장