BASIC4MCU | 질문게시판 | 전자저울 LCD Display 외에 PC에 기록
페이지 정보
작성자 소리나 작성일2020-11-30 10:58 조회5,341회 댓글2건본문
HX711을 사용해서 전자저울을 구성하고 있습니다.
LED가 포함된 KIT라 LED에 무게가 표시되는데 여기에 더해서
동시에 PC에 엑셀이나 텍스트 파일로 기록을 하고 싶습니다.
소스 부탁드려도 될까요?
(아래는 기존 LED 출력 소스입니다)
//아두이노 전자저울
//REV 1.0
#include "HX711.h"
#include <LiquidCrystal.h>
unsigned int calibration_factor=600; //3KG 로드셀 옵셋값
#define DOUT A1
#define CLK A2
int lcd_key = 0;
int adc_key_in = 0;
#define btnUP 1
#define btnDOWN 2
#define btnSELECT 4
#define btnNONE 5
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); //LCD 핀맵
HX711 scale(DOUT, CLK);
int read_LCD_buttons(){ //버튼키가 눌러졌는지 확인
adc_key_in = analogRead(0);
if (adc_key_in > 1000) return btnNONE;
if (adc_key_in < 250) return btnUP;
if (adc_key_in < 450) return btnDOWN;
if (adc_key_in < 850) return btnSELECT;
return btnNONE; //아무키도 안눌러진 경우
}
void setup() {
lcd.begin(16, 2);
lcd.home();
lcd.print("Hi, HIT & COOL");
scale.set_scale(calibration_factor); //옵셋값 적용
scale.tare(); //영점조절
}
void loop() {
lcd.setCursor(0, 1);
lcd.print(scale.get_units(5), 1); //HX711로부터 5회 가져와서 표시, 소수점 1자리 표시
lcd.print("g ");
lcd.setCursor(06, 1);
lcd_key = read_LCD_buttons();
switch (lcd_key){ //어떤키가 눌렸는지 확인
case btnUP:{
calibration_factor++;
scale.set_scale(calibration_factor);
break;
}
case btnDOWN:{
scale.set_scale(calibration_factor);
break;
}
case btnSELECT:{
scale.tare();
break;
}
}
lcd.print(calibration_factor);
}
댓글 2
조회수 5,341master님의 댓글
master 작성일
시리얼모니터 출력은 예제를 쉽게 구할 수 있을테니 먼저 공부해보시고요
엑셀 등 파일에 저장하는 것은 예제가 있는지 찾아보세요
예제를 찾지 못한다면 PC용 어플리케이션을 작성해야 할 수도 있습니다.
앱인벤터 예제 중에서 찾는 것도 방법이겠죠
소리나님의 댓글
소리나 작성일ㅜㅜ 감사드립니다