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

볼트와 Arduino를 사용하여 LED 밝기 제어

구성품 및 소모품

볼트 IoT 볼트 WiFi 모듈
× 1
Arduino UNO
× 1
LED(일반)
× 6
저항 330옴
× 6
납땜 브레드보드 절반 크기
× 1
남성/남성 점퍼 와이어
× 7
USB-A-B 케이블
× 1

앱 및 온라인 서비스

Arduino IDE
볼트 IoT 볼트 클라우드

이 프로젝트 정보

설명

필요하지 않거나 희미한 조명이 필요한데도 집에서 계속 튜브 조명을 켜는 것은 비용이 많이 들 뿐만 아니라 때로는 사람을 짜증나게 합니다. 손가락 끝으로 튜브 라이트의 밝기를 조절할 수 있다면 정말 좋을 것입니다. 안 그래! 오늘 이 프로젝트는 몇 가지 명령을 통해 집에서 튜브 조명을 제어할 수 있도록 작은 프로토타입을 개발하는 데 도움이 될 것입니다. 여기서는 Bolt와 Arduino를 사용하여 최대 6개의 LED를 제어합니다. 아두이노 유닛에 제공되는 6개의 PWM 채널을 이용하여 밝기를 조절합니다.

필요한 모든 구성 요소 수집

프로젝트에 필요한 모든 구성 요소는 아래에 언급되어 있으며 합리적인 가격으로 시장에서 쉽게 구할 수 있습니다.

1. 볼트

2. 아두이노 우노

3. LED

4. 저항(330옴)

5. 브레드보드

6. 점퍼 와이어(남/남)

7. 아두이노용 USB 케이블

볼트

Bolt IoT 플랫폼은 사용자가 어디에 있든 안전하고 안전하게 장치를 제어하고 IoT 장치에서 데이터를 수집할 수 있는 기능을 제공합니다. 몇 번의 클릭만으로 기계 학습 알고리즘을 배포하여 실행 가능한 통찰력을 확보하고 이상 징후를 감지하고 센서 값을 예측하십시오. 자세한 내용은 Boltiot.com을 참조하십시오.

펄스 폭 변조

전력 또는 전기가 필요한 장치 및 애플리케이션을 제어하기 위해 디지털 신호의 진폭을 제어하는 ​​데 사용됩니다. 이것은 본질적으로 전압 성분의 관점에서 디지털 신호의 온/오프 위상을 빠르게 순환하고 "켜짐" 위상 또는 듀티 사이클의 폭을 변경하여 장치에 제공되는 전력의 양을 제어합니다. 장치에서 이것은 평균 전압 값을 갖는 안정적인 전원 입력으로 나타나며, 이는 켜짐 시간 백분율의 결과입니다. 여기에서 자세히 알아보세요.

하드웨어 조립

1. 모든 구성 요소를 모아서 LED가 제대로 작동하는지 확인하십시오.

2. LED의 캐소드를 GND 라인에 연결하고 애노드를 330 Ohm 저항에 직렬로 연결합니다.

3. 저항의 다른 쪽 끝을 6개의 PWM 채널(예:핀 3, 5, 6, 9, 10 및 11)에 연결합니다.

4. 아두이노의 GND를 브레드보드의 GND 라인에 연결합니다.

5. Bolt의 Tx와 Rx를 Arduino의 Rx와 Tx에 각각 연결합니다.

6. 마지막으로 볼트의 5V 핀을 Arduino의 5V 핀에 연결하고 Bolt의 GND를 Arduino의 GND에 연결합니다.

참고:지침은 회로도를 참조하세요.

볼트 설정

1. cloud.boltiot.com으로 이동하여 가입하여 계정을 만드세요.

2. 모바일에서 BoltIot 앱을 다운로드하고 계정에 로그인하고 새 Bolt 장치를 추가합니다. 볼트 장치를 추가하는 방법에 대해 자세히 알아보세요.

3. 아래와 같이 Bolt 장치 ID를 가져옵니다.

4. 클라우드에서 계정에 대한 API 키를 얻으려면 API로 이동하여 표시된 대로 활성화를 클릭합니다.

참고:위의 API 키와 Bolt 장치 ID는 매우 중요하므로 누구와도 공유하지 마십시오.

API 및 Bolt Cloud API

API(응용 프로그래밍 인터페이스)는 소프트웨어 프로그램이 서로 통신하기 위해 따를 수 있는 특정 규칙('코드') 및 사양 집합입니다. 사용자 인터페이스가 인간과 컴퓨터 간의 상호 작용을 용이하게 하는 방식과 유사하게 서로 다른 소프트웨어 프로그램 간의 인터페이스 역할을 하고 상호 작용을 용이하게 합니다.

Bolt Cloud API는 Bolt 장치와 타사 시스템 간의 통신을 위한 인터페이스를 제공합니다. 모바일 애플리케이션, 웹 서버, 파이썬 프로그램 등. API에는 계정에 연결된 Bolt 장치에 대한 매우 직관적인 제어, 모니터링, 통신 및 유틸리티 기능이 포함되어 있습니다.

Bolt Cloud에 대한 API 호출을 사용하려면 Bolt 장치 ID와 이전에 얻은 API 키가 필요합니다. 웹 브라우저에서 API 호출을 위한 일반 구문은 아래와 같습니다.

https://cloud.boltiot.com/remote/your_api_key/command?¶m1=...¶m2=...&deviceName=BOLTXXXXX 

여기서 는 Bolt Cloud API로, 는 Bolt 장치 ID로 대체됩니다. 예를 들어

https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/restart?&deviceName=BOLT9161541 

더 알고 싶다면 여기를 클릭하세요.

Arduino용 코드

1. GitHub에서 Boltiot-arduino-helper 라이브러리를 다운로드하여 Arduino 라이브러리에 추가합니다. 다운로드하려면 여기를 클릭하십시오.

2. 아래에 제공된 코드를 Arduino Uno에 업로드합니다.

참고:업로드하기 전에 Bolt와 Arduino 사이의 Tx 및 Tx 연결을 제거하십시오.

밝기 제어를 위한 API 호출

API 호출을 사용하여 led 밝기를 제어하기 위해 Bolt Cloud의 UART API를 사용합니다. 먼저 다음과 같이 serialBegin API 호출을 통해 Bolt와 Arduino 간의 직렬 통신을 초기화합니다.

https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialBegin?baud=9600&deviceName=BOLT13819450 

특정 밝기로 LED를 켜려면 다음과 같이 serialWrite API 호출이 필요합니다.

<사전>https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialWrite?data=ON

를 2개의 매개변수로 바꿔야 합니다. 첫 번째는 밝기를 변경해야 하는 LED의 핀 번호를 포함하고 두 번째는 동일한 LED에 해당하는 PWM의 값을 포함합니다.

참고:두 매개변수는 모두 ' '(공백) 문자로 구분해야 하며 데이터 변수의 끝과 끝 사이에 있어야 합니다.

예를 들어 PWM 값이 120인 핀 3(즉, LED 1)의 LED 밝기를 제어하려는 경우 API 호출의 데이터 변수는 다음과 같이 지정됩니다.

'data=ON 1 120' 

참고:데이터 변수의 끝에도 공백이 있습니다.

각 serialWrite API 호출의 응답을 얻으려면 그 직후에 serialRead API를 사용합니다. 다음과 같이 제공됩니다.

https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialRead?till=10&deviceName=BOLT8795377 

참고:위의 모든 API 호출은 API 키와 Bolt 장치 ID를 Bolt 계정에서 얻은 것으로 대체합니다.

작동 원리

작동 원리는 매우 간단합니다. Arduino는 Bolt에서 받은 직렬 명령을 지속적으로 확인합니다. 명령 문자열이 "ON"과 일치하면 해당 기능을 수행합니다.

데이터 변수가 뒤따르는 ON 명령을 수신하면 Arduino는 먼저 데이터 변수의 핀 번호와 PWM 값을 저장합니다. 그런 다음 Arduino는 핀 번호가 범위 내에 있는지 확인합니다. 아니오인 경우 '핀 번호는 b/w 1 및 6이어야 합니다'라는 응답을 다시 보냅니다.

그리고 모든 것이 올바르면 밝기를 제어하기 위해 해당 PWM 값으로 핀에 analogWrite 명령을 수행합니다. 밝기 조절 후 '핀 <핀>이 pwm 값 으로 설정되었습니다."

라는 응답을 다시 보냅니다.

따라서 이러한 방식으로 사용자는 주어진 시간에 최대 6개 LED의 밝기를 제어할 수 있습니다.

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

코드

<울>
  • LED 밝기 조절
  • LED 밝기 제어Arduino
    #include int pwm_pin[] ={3,5,6,9,10,11};String switchOn(String *data) { int pin =data[0].toInt (); int pwm =데이터[1].toInt(); if ((핀 <1) || (핀> 6)) { return "핀 번호는 b/w 1과 6이어야 합니다"; } 핀 --; analogWrite(pwm_pin[핀],pwm); return "Pin"+String(pin)+"was set to pwm value"+String(pwm);}void setup() { // 한 번 실행하려면 여기에 설정 코드를 입력합니다. pinMode(3,OUTPUT); 핀모드(5, 출력); 핀모드(6, 출력); 핀모드(9, 출력); 핀모드(10, 출력); 핀모드(11, 출력); Boltiot.begin(직렬); Boltiot.setCommandString("ON",switchOn,2,' ');}void loop() { // 여기에 기본 코드를 넣어 반복적으로 실행합니다. Boltiot.handleCommand();}

    회로도


    제조공정

    1. Arduino, 1Sheeld 및 Android를 사용한 범용 원격 제어
    2. Arduino와 스마트폰을 사용한 DIY 전압계
    3. Arduino를 사용한 주파수 및 듀티 사이클 측정
    4. 스마트 신발(자동 끈 및 전기 생성)
    5. arduino를 사용한 소나 및 IDE 처리 시 표시
    6. Arduino 및 MPU6050으로 서보 모터 제어
    7. Arduino를 사용한 간단하고 스마트한 로봇 팔
    8. 단일 LED 매트릭스 Arduino 플립 시계
    9. Arduino Uno로 LED 매트릭스 제어
    10. CNC 기계를 사용하여 만든 재료 및 부품