BASIC4MCU | 질문게시판 | 아두이노 코딩 합치기 질문
페이지 정보
작성자 master 작성일2018-10-17 16:05 조회12,697회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=3649
본문
아두이노 모듈 3개를 부착하여 함수식을 짜는데 처음이라 좀 힘드네요 ㅠㅠ
1.LCD//YWROBOT//Compatible with the Arduino IDE 1.0//Library version:1.1#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line displayvoid setup(){lcd.init(); // initialize the lcdlcd.init();// Print a message to the LCD.lcd.backlight();lcd.setCursor(1,0);lcd.print("Hello, Turtle!");lcd.setCursor(1,1);lcd.print("Ang! Gimotti!!");}void loop(){}2.블루투스 모듈#include <SoftwareSerial.h>#define BT_RX 7#define BT_TX 8SoftwareSerial HM10(BT_RX,BT_TX);void setup() {Serial.begin(9600);HM10.begin(9600);}void loop() {if (HM10.available()) {Serial.write(HM10.read());}if (Serial.available()) {HM10.write(Serial.read());}}3.자기 센서 모듈//YWROBOT//Compatible with the Arduino IDE 1.0//Library version:1.1#include <Wire.h>#include <LiquidCrystal_I2C.h>#include <SoftwareSerial.h>#define BT_RX 7#define BT_TX 8SoftwareSerial HM10(BT_RX,BT_TX);LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line displayconst int digital = 2;void setup(){Serial.begin(9600);HM10.begin(9600); //블투 센서pinMode(digital, INPUT);Serial.begin(9600); //자기 센서lcd.init(); // initialize the lcd 센서lcd.init();// Print a message to the LCD.lcd.backlight();lcd.setCursor(1,0);lcd.print("Hello, Turtle!");lcd.setCursor(1,1);lcd.print("Ang! Gimotti!!");}void loop(){if (HM10.available()) {Serial.write(HM10.read());}if (Serial.available()) {HM10.write(Serial.read());Serial.println(digitalRead(digital));delay(5);}4. 자기 센서를 이용하여 자석이 닿을 때마다 카운트를 하고 블루투스를 이용하여 몸무게를 입력받고 아래의 수식을 통해 나온 값을 LCD에 표현하려고 합니다. ㅠㅠ#include <stdio.h>#include <SoftwareSerial.h>#define BT_RX 7#define BT_TX 8SoftwareSerial HM10(BT_RX,BT_TX);//YWROBOT//Compatible with the Arduino IDE 1.0//Library version:1.1#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line displayconst int digital = 2;int time;int R, H, t, j;float Angle, V, W, r, A, Cal, TotalCal, D;void setup(){Serial.begin(9600);HM10.begin(9600);pinMode(digital, INPUT);Serial.begin(9600);lcd.init(); // initialize the lcdlcd.init();// Print a message to the LCD.lcd.backlight();lcd.setCursor(1,0);lcd.print("Total calorie");lcd.setCursor(1,1);lcd.print(String(TotalCal));}void loop(){Serial.println(digitalRead(digital));delay(5);if (HM10.available()){Serial.write(HM10.read());}if (Serial.available()){HM10.write(Serial.read());}printf("몸무게를 입력하세요!");scanf("%f", &W); // 블루투스 통신으로 입력!!r = 100;for (;;){// 자석 센서, 자이로 센서 코드time = millis();t = millis() - time;for(j=1;j<=10;j++){for (;;){if (t >= 10 * 100){break;}}Angle = 0;}D = R * 2 * 3.14*r;V = D * 1000 / t;if (V > 30){if (Angle > 60){H = 250;}} // if 구역 = V(속도) Angle(각도)로 H(심박수)를결정하는 구역Cal = ((0.380*((D-504.9)/44.73))+(0.450*H)+(0.0468*W)-59.3954)*(t/4.184); //기준 시간동안 소모된 칼로리TotalCal = Cal;// LCD에 D와 TotalCal을 표시!!!!!}}//-------------------------AngleVRH이런 변수들은 어디에서 값을 만들고 있을까요?자이로센서 코드도 안보이는군요
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-10-11 오전 9:13:49// by Ok-Hyun Park//#include <stdio.h>#include <SoftwareSerial.h>#define BT_RX 7#define BT_TX 8SoftwareSerial HM10(BT_RX,BT_TX);//#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27,20,4);const int digital=2;//long time;int R,H,t,j,magCnt=0,flag=0;float Angle,W,V,r,A,Cal,TotalCal,D;//void setup(){pinMode(digital,INPUT);Serial.begin(9600);HM10.begin(9600);lcd.init(); lcd.backlight();lcd.setCursor(1,0); lcd.print("Hello,Turtle!");lcd.setCursor(1,1); lcd.print("Ang!Gimotti!!");time=millis();}//void loop(){if(digitalRead(digital)){ //자기 센서if(flag==0){ flag=1;t=millis()-time; time=millis();magCnt++; Serial.print("magCnt="); Serial.println(magCnt);D=R*628;V=D*1000/t; if(V>30){ if(Angle>60)H=250; } // if 구역=V(속도)Angle(각도)로 H(심박수)를결정하는 구역Cal=((0.380*((D-504.9)/44.73))+(0.450*H)+(0.0468*W)-59.3954)*(t/4.184); //기준 시간동안 소모된 칼로리TotalCal+=Cal;// LCD에 D와 TotalCal을 표시!!!!!lcd.setCursor(1,0); lcd.print("D="); lcd.print(D,1);lcd.setCursor(1,1); lcd.print("Total calorie="); lcd.print(TotalCal,1);}}else{ flag=0; }//if(Serial.available()){ HM10.write(Serial.read()); }if(HM10.available()){ W=HM10.parseInt(); } // 블루투스 통신으로 몸무게 입력!!//delay(5);}
자석센서 기준으로 칼로리를 계산한다면 위처럼 되겠죠
뭘 물으려는지도 정확하지 않고
뭘 하려는지 구체적인 내용을 모르니 도와드릴 방법이 없습니다.
댓글 0
조회수 12,697등록된 댓글이 없습니다.