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

Bluetooth가 탑재된 Arduino로 LED 제어!

구성품 및 소모품

Arduino UNO
× 1
HC-05 블루투스 모듈
× 1
저항 1k 옴
× 1
남성/남성 점퍼 와이어
× 8
5mm LED:빨간색
× 1

앱 및 온라인 서비스

Arduino IDE
MIT 앱 발명가

이 프로젝트 정보

아두이노 블루투스 연결하기!

나는 최근에 로봇을 만들기 위한 키트를 샀고, HC-05와 함께 왔습니다. 저는 선 따라가는 로봇을 만들고 있었기 때문에 아직 이것이 필요하지 않았습니다. 그러나 나는 여전히 그것에 대해 꽤 궁금했고 그것을 사용하고 싶었습니다. 나는 구성 요소가 내 테이블에 앉아 있기를 원하지 않았습니다. 그래서 MIT 앱 발명가와 함께 개발한 모바일 앱을 이용해 LED를 제어하기로 했습니다.

다음 링크에서 MIT 앱 발명가에 액세스할 수 있습니다.

https://appinventor.mit.edu/

또한 모바일 앱을 통해 LED를 켜고 끌 수 있다는 점도 꽤 좋습니다.

이렇게 하려면 사전 지식이 전혀 필요하지 않으며 수행하기가 매우 쉽습니다.

MIT App Inventor는 MIT에서 쉽게 앱을 만들 수 있도록 만들어졌습니다. 이 작업을 수행하려면 프로그래밍 지식이 거의 또는 전혀 필요하지 않습니다. 이동해야 하는 블록만 있습니다.

이것이 작동하는 주요 방법은 휴대전화의 앱에서 버튼을 클릭하는 것입니다. 그런 다음 블루투스 통신을 통해 arduino uno에 신호가 전송되고 arduino는 신호를 수신합니다. 그런 다음 이 신호를 기반으로 작동하도록 arduino를 프로그래밍할 수 있습니다. MIT App Inventor를 사용하여 어떤 신호를 보낼지 선택할 수 있습니다. 이 경우 '0' 또는 '1'의 텍스트를 보내도록 선택했습니다. 그러나 원하는 대로 보내도록 변경할 수 있습니다.

블루투스 모듈은 블루투스를 통해 연결할 수 있으며 직렬 통신을 통해 통신할 수 있습니다. 따라서 RX 및 TX 핀이 중요합니다. 이 핀을 사용하지 않으려면 소프트웨어 직렬 라이브러리를 사용해야 합니다. 이 튜토리얼에서는 이에 대해 다루지 않습니다.

따라서 이를 수행하는 주요 방법은 블루투스 모듈과 MIT 앱 발명가도 사용하는 것입니다. 블루투스로 LED를 제어하려면 앱을 만들어야 합니다. 앱 제작 과정을 보여드리겠습니다.

도식

첫째, 연결이 중요합니다. 블루투스 모듈에는 6개의 핀이 있습니다. 이 프로젝트에서는 가운데 4개의 핀만 사용하면 됩니다.

이미지는 연결의 정확한 표현입니다. 레이블은 HC-05 블루투스 모듈 뒷면에 있습니다. RX 핀은 아두이노의 TX에 연결하고 TX 핀은 아두이노의 RX에 연결해야 합니다. 나머지는 일반 구성 요소와 같습니다. arduino의 GND에서 GND로, VCC에서 5볼트 전원 공급 장치로.

HC-05-->아두이노

RX-->TX

TX-->RX

GND-->GND

VCC-->5v

하지만 안전하게 플레이하려면 먼저 RX를 저항에 연결한 다음 Arduino의 TX에 연결하는 것이 중요합니다. 그런 다음 RX를 다른 저항에 연결한 다음 GND에 연결합니다.

HC-05의 GND는 이 저항에 연결되고 Arduino의 GND로 이동합니다. 따라서 HC-05의 RX와 GND는 모두 Arduino의 GND로 이동합니다. 이렇게 하면 구성 요소에 오류가 발생하지 않습니다.

그러나 전압 조정기가 내장된 브레이크아웃 보드를 사용하기 때문에 설명된 회로도를 따르지 않아도 전혀 문제가 없습니다.

이것을 전압 분배기 회로라고 하며 저항처럼 작용하여 전압을 분배합니다. 다음 이미지는 그 개략도입니다. Arduino 메가를 사용하여 표시되지만 Arduino Uno에도 적용됩니다.

HC-05-->아두이노

RX-->TX

RX-->GND

TX-->RX

GND-->GND

VCC-->5v

LED의 긴 LED를 Arduino의 핀 5에 연결하고 LED의 짧은 다리를 GND에 연결합니다. LED가 소손되는 것을 방지하기 위해 핀 5에서 연결하는 동안 저항을 사용하는 것이 좋습니다. 일반적으로 LED는 5볼트가 아닌 1.7볼트만 필요합니다! 핀 5를 브레드보드에 연결하고 저항을 사용하여 LED의 긴 다리에 연결합니다. 핀 5를 선택했습니다. 아무 핀이나 선택할 수 있지만 코드도 적절하게 변경해야 합니다.

LED-->아두이노 우노

포지티브 레그(긴 레그)-->원하는 핀

네거티브 레그(짧은 레그)-->GND

참고:코드를 업로드하는 동안 arduino의 TX 및 RX 핀에 연결된 전선이 없는지 확인해야 합니다. 코드가 업로드되면 해당 전선을 연결할 수 있습니다. Arduino는 TX와 RX를 사용하여 코드를 업로드하므로 다른 전선이 간섭을 일으켜 오류가 발생합니다.

TX 및 RX 핀 이외의 핀을 사용하려면 소프트웨어 직렬 라이브러리를 사용해야 합니다.

다음은 MIT 앱 발명가에게 필요한 블록입니다. 상당히 간단합니다. '디자인' 섹션에서 쉽게 선택할 수 있는 목록 선택기, 두 개의 버튼 및 Bluetooth 클라이언트가 필요합니다.

원하는 대로 구성 요소의 이름을 지정할 수 있습니다. 나는 볼 수 있듯이 Button1 및 Button2와 같은 간단한 이름을 고수했습니다. 가장 오른쪽에 있는 창에서 구성 요소의 이름을 바꿀 수 있습니다. 가장 왼쪽에 있는 창에서 구성 요소와 디자인을 선택할 수 있습니다.

중간에 있는 두 개의 창은 설계 및 구성 요소 목록을 위한 것입니다. 보시는 바와 같이 아주 심플한 디자인을 선택했습니다. 목록 선택기는 필수입니다. 이것이 제가 '블루투스'라고 명명한 것입니다.

이 버튼을 누르면 근처에 있는 모든 Bluetooth 장치가 표시되도록 코딩합니다. Bluetooth 클라이언트는 나열된 가운데 창 중 하나에서 볼 수 있습니다. 사용자가 볼 수 없기 때문에 화면에는 없지만 다른 Bluetooth 장치를 추적하는 것입니다. 제가 사용한 'ON'과 'OFF'는 버튼입니다.

디자인 후에는 페이지 오른쪽 상단에서 할 수 있는 블록 섹션으로 전환해야 합니다. 그런 다음 다음과 같이 블록을 드래그하기만 하면 됩니다! 휴대폰에서 목록 선택기에서 무엇이든 선택하기 전에 휴대폰의 모든 Bluetooth 장치 목록을 원합니다.

따라서 listpicker1의 요소를 Bluetooth 클라이언트가 찾을 수 있는 주소와 이름으로 설정한 다음 항목을 선택합니다. 우리는 앱에 모든 Bluetooth 장치 목록을 표시하도록 요청했습니다.

그런 다음 선택 항목을 선택한 후 연결하려고 합니다. 그런 다음 클릭하는 버튼에 따라 '1' 또는 '0'을 보내려고 합니다. 원하는 모든 캐릭터가 될 수 있습니다. 그런 다음 수신된 문자를 기반으로 Arduino를 프로그래밍하여 LED를 켜거나 끕니다. Button1에 '1'의 텍스트를 보내달라고 요청했습니다. 이것은 제 'ON' 버튼입니다. 그래서 아두이노를 적절하게 프로그래밍하겠습니다.

그렇다면 나머지는 매우 간단합니다! MIT 앱 발명가 도우미 앱을 휴대전화에 다운로드한 다음 웹사이트에서 코드를 스캔하기만 하면 휴대전화에 앱을 설치할 수 있습니다.

웹 사이트에서 만든 앱을 열고 연결을 클릭한 다음 AI 컴패니언을 선택하기만 하면 됩니다. 그런 다음 휴대전화의 MIT 앱에서 QR 코드를 스캔하기만 하면 휴대전화에 앱이 있지만 일시적으로만 사용할 수 있습니다. 사용하고 싶을 때마다 스캔해야 합니다. 잠시 동안 열린 상태로 유지되지만 닫거나 오랫동안 비활성 상태로 두면 연결이 끊어집니다.

그런 다음 목록 선택기를 클릭하고 Bluetooth 장치를 선택하십시오. HC-05의 암호는 일반적으로 1234 또는 0000입니다. HC-05에 연결한 다음 '켜기' 및 '끄기' 버튼(또는 이름 지정)을 클릭하면 작동합니다. 제대로 회로!

Arduino를 프로그래밍하는 것을 잊지 마십시오! 그것이 가장 중요한 것입니다. 코드는 페이지 끝에 있습니다.

이것을 배우면 동일한 원리를 사용하여 Bluetooth를 사용하여 다른 놀라운 프로젝트를 만들 수 있습니다! 앱을 통해 모듈에서 Arduino로 텍스트를 보낸 다음 Arduino를 프로그래밍하여 무언가를 수행하는 것을 잊지 마십시오! 버튼을 프로그래밍하는 것만큼 쉽지만 프로그래밍하는 동안 'int'가 아닌 'char'를 텍스트와 함께 사용하는 데 주의해야 합니다. 내가 그 실수를 했다! 다음에는 스마트폰으로 제어할 수 있는 블루투스 제어 로봇을 만들 계획입니다.

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

코드

<울>
  • HC-05 및 Arduino 인터페이스용 코드
  • HC-05 및 Arduino 인터페이스용 코드C/C++
    이것은 Arduino IDE에 입력해야 하는 코드입니다. 주석은 필요하지 않지만 특히 Arduino를 막 시작하는 사람들을 위해 더 나은 이해를 위해 많은 주석을 달았습니다.
    /*전화 앱을 통해 블루투스를 통해 LED를 제어하는 ​​코드. MukeshArvindh의 프로젝트. Code by MukeshArvindh.*//*코드를 복사하여 붙여넣으려면 이미 존재하는 기능이 있으므로 사용 중인 스케치에서 void setup() 및 void loop() 함수를 삭제하는 것을 잊지 마십시오. 이 스케치에서. 주석을 복사하여 붙여넣어도 결과 또는 코드가 변경되지 않습니다.*//*참고:이 코드는 여러 번 컴파일 및 확인되었으며 정확한 것으로 입증되었습니다. 제품도 의도한 대로 작동합니다.*///Bluetooth는 직렬 통신을 사용합니다. 그래서 우리는 이 스케치에서 // 많은 직렬 함수를 사용합니다. const int LED =5;/*arduino 보드의 핀 5에 LED가 있음을 선언합니다. 우리는 이것을 변경하지 않을 것이기 때문에 const를 사용합니다. 이름을 LED라고 할 필요는 없습니다. 이름을 대신 입력할 수도 있습니다.*/char switchstate;/*문자 값을 보유할 switchstate라는 변수가 있음을 선언합니다. 이것은 arduino에 텍스트 값을 보낼 앱의 프로그래밍 때문입니다. 'char' 대신 'int'를 사용하면 코드가 제대로 작동하지 않습니다.*/void setup() {//여기서 코드는 한 번만 실행됩니다.Serial.begin(9600);/*직렬 통신을 일정한 속도로 시작하려면 초당 9600비트입니다. 이것은 어쨌든 기본 속도입니다.*/pinMode(LED, OUTPUT);//LED가 출력임을 선언합니다.}void loop() {//이 코드는 반복됩니다. 이것은 우리의 주요 code.while(Serial.available()>0){ //Serial.available()>0일 때만 실행되는 코드입니다. /*Serial.available>0은 HC에서 읽은 것이 있는지 확인하는 것입니다. -05 Bluetooth module.*/ switchstate =Serial.read();/*이전에 선언한 문자에 이제 값이 할당됩니다. 즉, Serial.read()가 무엇이든 값입니다.*///Serial.read() app.Serial.print(switchstate)에서 오는 값을 읽는 것입니다. // 이것은 값을 직렬 모니터에 인쇄합니다. Printed.delay(15);/*15밀리초의 휴식 시간을 제공합니다. 지연은 사람의 눈과 일부 컴퓨터의 속도를 위한 것이므로 일부 컴퓨터는 고속에서 충돌합니다.*/if(switchstate =='1'){//앱의 값이 '1'인지 확인하는 중 digitalWrite(5, HIGH); //그렇다면 핀 5(LED)의 컴포넌트를 high로 씁니다. }else if(switchstate =='0'){//Else, 앱의 값이 '0'이면 digitalWrite(5, LOW);//핀 5(LED) 로우에 구성 요소를 씁니다.}}}  

    회로도

    이것이 HC-05와 arduino 사이에 회로가 ​​형성되는 방식입니다.

    제조공정

    1. 비행 시뮬레이터용 Arduino가 있는 LCD 패널
    2. FS2020용 Arduino가 있는 스위치/LED 패널
    3. Arduino로 코인 억셉터 제어
    4. Arduino Nano:조이스틱으로 2개의 스테퍼 모터 제어
    5. Arduino Quadruped
    6. OK Google이 포함된 Bluetooth 음성 제어 기기
    7. Cortana로 LED 제어
    8. Arduino Uno로 LED 매트릭스 제어
    9. ThimbleKrox - 손가락으로 마우스 제어
    10. Arduino Uno를 사용한 25kHz 4핀 PWM 팬 제어