티스토리 뷰

Arduino

(macOS)[python] Arduino LM35 sensor monitoring

jinozpersona 2022. 10. 28. 17:11

Intro

OS : MacOS, Monterey, v12.6

HW : Arduino UNO R3 board, LM35 Sensor

SW : Visual Studio Code, so-called vscode

python : 3.10.7

 

Requirements

vscode

vscode extension : Arduino

 

1. Arduino UNO R3 : LM35 Sensor 연결도 및 전달함수식

Analog Output이므로 A0 ~ A5에 연결 : 필자는 A0에 연결

range : 온도 / 출력(전송)전압,  -55ºC ~ 150ºC : -550mV ~ 1500mV

 

LM35 Transfer Function

<func.1>

Arduino AO resolution : 10bit(2^10=1024)

<func.2>

V_ref : Arduino 인가 전압, 여기서는 5V

 

<func.1>을 <func.2>에 대입하여 T[oC]로 정리하면,

arduino.ino code에 함수식 적용

 

 

2. Arduino: Initialize

# 참고 : (macOS)[python] pyserial을 이용한 Arduino UNO R3 제어 with vscode - 2/2

 

command+shift+p : >Arduino: Initialize

- project 폴더명과 동일하게 스케치(.ino) 파일 생성

- select board type : arduino uno

 

 

3. Coding & Upload

py_ard_lm35.ino

int value;  
int Vin = 5;

void setup()  
{  
  Serial.begin(9600);  
}  
void loop()  
{  
  value = analogRead(0);  
  float tempC = ( value/1024.0)*Vin*100;   
  
  Serial.print("TEMPRATURE IS ");  
  Serial.print(tempC);  
  Serial.println("^oC");  
    
  delay(2000);  
}

 

comment palette : cmmand+shift+'p'

Arduino: Verify

Arduino: Upload

or 우상단 아이콘 클릭 

 

4. Serial Monitor

하단 플러그모양 아이콘 클릭하거나 command palette에서 Arduino: Open Serial Monitor 입력

출력창에 온습도 데이터 수집 모니터링 진행 : 출력창이 안보이면 우측 Serial Monitor 선택 후 확인

 

5. python 출력 : pyserial

py_ard_pyserial.py
import serial

serial_port = '/dev/tty.usbmodem142301'
serial_baudrate = 9600
ard = serial.Serial(serial_port,serial_baudrate)

while(1):
  if ard.readable():
    # ard.readline() : Serial Monitor 내용을 한 줄씩 읽어온다.
    smo = ard.readline()
    # print(smo)
    # ard.decode() : readline을 decoding
    msg = smo.decode()[:len(smo)-1]
    # Arduino Serial Monitor 처럼 print
    print(msg)

 

python 파일을 실행하면 아래 터미널 탭에서 serial 통신 결과를 볼 수 있음

센서를 손으로 잡아 온도를 올려서 테스트

터미널 종료는 control+'z'

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함