Yardım Arduino 2 kodu birleştirmede yardım

Bu konuyu okuyanlar

Dyesimsen

Öğrenci
Katılım
20 Aralık 2022
Mesajlar
1
Reaksiyon puanı
0
Puanları
1
Yaş
25
Merhaba,
Arduinoda çok yeniyim. Ben bir çekme basma test cihazı yaptım ve bununla ipin dayanıklılığını ölçeceğim. Elimde Nema23 step motor ve HX711 sürücülü 20kg load cell var. Motorum yukarı doğru hareket ederken, yük hücremin de ipi ne kadar çektiğini göstermesini istiyorum. İki farklı kod yazdım ancak ya yükü ölçebiliyorum ya da motoru hareket ettirebiliyorum. (Doğru yönde deüil :( ) Aynı anda yapabilmem için yardımcı olabilecek olan var mı ? Şimdiden teşekkürler

STEP MOTORUN KODU


const int dirPin = 9;

const int stepPin = 11;

const int enPin = 13;

void setup() {


// Sets the two pins as Outputs

pinMode(stepPin,OUTPUT);

pinMode(dirPin,OUTPUT);

pinMode(enPin,OUTPUT);

digitalWrite(enPin,LOW);

}

void loop() {


digitalWrite(dirPin,HIGH); //Changes the rotations direction

// Makes 400 pulses for making two full cycle rotation

for(int x = 0; x < 400; x++) {

digitalWrite(stepPin,HIGH);

delayMicroseconds(5000);

digitalWrite(stepPin,LOW);

delayMicroseconds(5000);


digitalWrite(dirPin,LOW); //Changes the rotations direction

// Makes 400 pulses for making one full cycle rotation

for(int x = 0; x < 200; x++) {

digitalWrite(stepPin,HIGH);

delayMicroseconds(1000);

digitalWrite(stepPin,LOW);

delayMicroseconds(1000);


}
}
}


LOAD CELL KODU
#include <Arduino.h>
#include "HX711.h"

// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 4;
const int LOADCELL_SCK_PIN = 5;

const int dirPin = 9;

const int stepPin = 11;

const int enPin = 13;

HX711 scale;

void setup() {


// Sets the two pins as Outputs

pinMode(stepPin,OUTPUT);

pinMode(dirPin,OUTPUT);



pinMode(enPin,OUTPUT);

digitalWrite(enPin,LOW);

Serial.begin(57600);
Serial.println("HX711 Demo");
Serial.println("Initializing the scale");

scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);

Serial.println("Before setting up the scale:");
Serial.print("read: \t\t");
Serial.println(scale.read()); // print a raw reading from the ADC

Serial.print("read average: \t\t");
Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC

Serial.print("get value: \t\t");
Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight (not set yet)

Serial.print("get units: \t\t");
Serial.println(scale.get_units(5), 1); // print the average of 5 readings from the ADC minus tare weight (not set) divided
// by the SCALE parameter (not set yet)

scale.set_scale(-236.155);
//scale.set_scale(-236.155); // this value is obtained by calibrating the scale with known weights; see the README for details
scale.tare(); // reset the scale to 0

Serial.println("After setting up the scale:");

Serial.print("read: \t\t");
Serial.println(scale.read()); // print a raw reading from the ADC

Serial.print("read average: \t\t");
Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC

Serial.print("get value: \t\t");
Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight, set with tare()

Serial.print("get units: \t\t");
Serial.println(scale.get_units(5), 1); // print the average of 5 readings from the ADC minus tare weight, divided
// by the SCALE parameter set with set_scale

Serial.println("Readings:");

}

void loop() {

Serial.print("one reading:\t");
Serial.print(scale.get_units(), 1);
Serial.print("\t| average:\t");
Serial.println(scale.get_units(10), 5);


}
 
Üst