#include "HX711.h"
#define DOUT 2
#define CLK 3
HX711 cell(3,2);
int pinLed = 13;
int buttonPin = 9;
long zero = 0;
String stringa;
char c;
unsigned long referenceMillis = 0;
unsigned long currentMillis = 0;
unsigned long previousMillis = 0;
unsigned long targetMillis = 0;
int potentiometer = 0;
int potentiometer1 = 0;
int potentiometer2 = 0;
long lecture = 0;
long tension = 0;
const float LSB = 0.000000196;
const float sensitivity = 1.834862385;
float torque;
int value;
const int supply = 5;
float angrad;
float angRad;
float power;
float velang;
void setup() {
Serial.begin(9600);
pinMode(pinLed,OUTPUT);
pinMode(buttonPin,INPUT);
Serial.println("CLEARDATA");
Serial.println("LABEL,Time,TIME,TORQUE,VELANG,POWER");
}
void loop() {
delay(10000);
digitalWrite(pinLed,HIGH);
zero = read_avarage(byte times = 10);
potentiometer = analogRead (A0);
if(Serial.available()){
stringa="";
do{
if(Serial.available()){
c=Serial.read();
if(c != "\n")
stringa+=c;
}
}while(c != "\n");
if((stringa == "start")){
digitalWrite(pinLed,LOW);
referenceMillis = millis();
while ((digitalRead(buttonPin)==LOW) || (referenceMillis <= 3600000)) {
currentMillis = millis();
if ( currentMillis - previousMillis >= 12,5 ){
previousMillis = currentMillis;
lecture = cell.read() - zero;
tension = LSB*lettura;
torque = tension/sensitivity;
potentiometer1 = analogRead (A0);
potentiometer2 = potentiometer1 - potentiometer;
value = map(potentiometero2,0,1023,0,5);
angrad = (320*value)/supply;
angRad = map(angrad,0,360,0,6.283);
targetMillis = (currentMillis - referenceMillis)*0,001;
velang = angRad/targetMillis;
power = torque*velang;
Serial.print("DATA,TIME,");Serial.print(currentMillis);Serial.print(",");Serial.print(torque);Serial.print(",");Serial.print(velang);Serial.print(",");Serial.print(power);
}
}
digitalWrite(pinLed,HIGH);
delay(1000);
digitalWrite(pinLed,LOW);
delay(1000);
digitalWrite(pinLed,HIGH);
delay(1000);
digitalWrite(pinLed,LOW);
delay(1000);
}
}
}
I'm trying to analyse the power develepoed by a leg during an exercise in a gym. The problem is similar to the one of a heat engine but the the parameter are low with respect to the ones of an engine