BASIC4MCU | 질문게시판 | 답변 : 블루투스 모듈간의 센서값 전달 질문입니다!
페이지 정보
작성자 master 작성일2019-12-02 00:04 조회3,890회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=11003
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-12-02 오전 12:04:20// by Ok-Hyun Park////--------------------------------------------------// 무게 센서//--------------------------------------------------#include "HX711.h" // HX711로드셀 엠프 관련함수 호출#define calibration_factor -7050.0 // 로드셀 스케일 값 선언#define DOUT 3 // 엠프 데이터 아웃 핀 넘버 선언#define CLK 2 // 엠프 클락 핀 넘버HX711 scale(DOUT,CLK); // 엠프 핀 선언//#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27,16,2);//#include <SoftwareSerial.h>#define BT_SW_TX 7#define BT_SW_RX 4SoftwareSerial hm10(BT_SW_TX,BT_SW_RX);//void setup(){Serial.begin(9600);hm10.begin(9600);hm10.write("AT+COND43639BBEE3F"); // AT+CON[Mac address]페어링을 위한 AT 커맨드delay(2000);Serial.println("HX711 scale TEST");scale.set_scale(calibration_factor); // 스케일 지정scale.tare(); // 스케일 설정Serial.println("Readings: ");// LCDlcd.init(); lcd.backlight();lcd.setCursor(0,0); lcd.print("Hello");}//void loop(){float M=((scale.get_units()/55)); // 무게 센서if(M<0){ Serial.print("Reading: "); Serial.print(M*(-1),3); Serial.println("kg"); }else{ Serial.print("Reading: "); Serial.print(M,3); Serial.println("kg"); }delay(100);lcd.init();lcd.setCursor(0,0); lcd.print("Weight of feed");lcd.setCursor(0,1); lcd.print("in bowl: ");delay(100);if(M<0){ lcd.print(M*(-1)); }else { lcd.print(M); }lcd.print("kg");//if(M<0){ hm10.write(M*(-1)); }else { hm10.write(M); }hm10.write("kg\n"); // <------- '\n' 추가//if(hm10.available()) { Serial.write(hm10.read()); }if(Serial.available()){ hm10.write(Serial.read()); }}//--------------------------------------------------// 2. Slave 블루투스 모듈//--------------------------------------------------#include <SoftwareSerial.h>#define BT_SW_TX 7#define BT_SW_RX 4#define BAUDRATE 9600SoftwareSerial hm10(BT_SW_TX,BT_SW_RX);#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27,16,2);//char cnt=0,buf[50];//void setup(){Serial.begin(BAUDRATE);hm10.begin(BAUDRATE);lcd.init(); lcd.backlight();lcd.setCursor(4,0); lcd.print("Hello");lcd.setCursor(4,1); lcd.print("HI");}//void loop(){if(Serial.available()){ //시리얼 모니터에 입력된 데이터가 있으면hm10.write(Serial.read());} //블루투스를 통해 입력된 데이터 전달if(hm10.available()){ // 블루투스에서 넘어온 데이터가 있다면char r=hm10.read();Serial.write(r);if(r=='\n'){buf[cnt]=0;lcd.setCursor(0,0); lcd.print("Weight of feed");lcd.setCursor(0,1); lcd.print("in bowl: "); lcd.print(buf);}else{ buf[cnt++]=r; }}}
댓글 0
조회수 3,890등록된 댓글이 없습니다.