티스토리 뷰

 

Arduino UNO R4 Wifi : DS18B20 및 Bluetooth 연결도

DS18B20 연결도 참고 : https://jinozblog.tistory.com/208

HM10 연결(Arduino Code RXD/TXD 선언 시 하드웨어 연결과 반대로 define)

VCC : 5V

GND : GND

RXD : Arduino D4

TXD :  Arduino D5

 

 

[Arduino IDE 사용] / [Visual Studio Code사용]

Arduino IDE or VS code 초기 셋팅 및 설정 참고

https://jinozblog.tistory.com/207

 

[arduino] LM35 / TMP36 Sensor 연결도 : arduino IDE or VScode 설정 및 모니터링

Arduino UNO R3 : LM35 Sensor 연결도(TMP36 동일) 및 전달함수식 LM35 Analog Output이므로 A0 ~ A5에 연결 : 필자는 A0에 연결 range : 온도 / 출력(전송)전압, -55ºC ~ 150ºC : -550mV ~ 1500mV LM35 Transfer Function Arduino AO resol

jinozblog.tistory.com

 

 

 

[Arduino Code] 

DS18B20 Sensor, HM-10 Bluetooth 연결

#include <SoftwareSerial.h>
#include <OneWire.h>
#include <DallasTemperature.h>

// HM10 RXD D4, TXD D5
#define BT_RXD 5
#define BT_TXD 4
SoftwareSerial BTSerial(BT_RXD, BT_TXD);

#define ONE_WIRE_BUS 13
OneWire Wire(ONE_WIRE_BUS);
DallasTemperature sensor(&Wire);
char value[8];

void setup() {
    Serial.begin(9600);
    BTSerial.begin(9600);
    Serial.println("HM10 Bluetooth Start");
}

void loop() {
    sensor.requestTemperatures();
    dtostrf(sensor.getTempCByIndex(0) , 5, 2, value);
    Serial.println(value);
    BTSerial.print(value);
    delay(1000);
}

 

 

Arduino Serial Monitoring

 

[python Code]

MacBook Pro 13(2019년)
모델 식별자: MacBookPro15,2
macOS Sonoma

HM-10 Bluetooth 연결 안됨

HC-06 Bluetooth 연결 안됨

 

iphone App. LightBlue 확인 가능

 

MacBook Air 2014

macOS Bigsur 가능

 

 

DS18B20 Sensor, HM-10 Bluetooth 연결

import os
import platform
import serial
import serial.tools.list_ports as serial_port
import time


port_lists = serial_port.comports()
if platform.platform()[0:5] == 'macOS':
    port_type_ser = '/dev/cu.usbmodem'
    port_type_ble = '/dev/cu.persona_'
    for port_list in port_lists:
        if port_list.device[0:16] == port_type_ser:
            port_ser = port_list.device
        elif port_list.device[0:16] == port_type_ble:
            port_ble = port_list.device
else:
    port_type_ser = '/dev/ttyACM'
    port_type_ble = '/dev/rfcomm'
    for port_list in port_lists:
        if port_list.device[0:11] == port_type_ser:
            port_ser = port_list.device
        elif port_list.device[0:11] == port_type_ble:
            port_ble = port_list.device
    if port_ser == None or port_ble == None:
        os.system("sudo chmod a+rw {}".format(port_ser))
        os.system("sudo chmod a+rw {}".format(port_ble))
    else:
        pass

baud_rate = 9600
ard_ser = serial.Serial(port_ser, baud_rate)
ard_ble = serial.Serial(port_ble, baud_rate)


while(1):
    if ard_ser.readable():
        print("[serial]:{}".format(ard_ser.readline().decode()))
    elif ard_ble.readable():
        print("[bluetooth]:{}".format(ard_ble.readline().decode()))
    
    # time.sleep(1)

 

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함