kopma testi için yardım
  • Yapmak istediğim kopma testi burada
    dakikada 200mm doğrusal hareket için step motorlu bir kızak
    iki sınır sivici bir başlama butonu
    ağırlıgı kontrol için HX711 modül ve 5kg loadcell
    görsel için 4 satır 20 karekter i2c lcd
    görsel ekranda
    +---------------------+
    | 12:42:02 07/08/2018 | saat tarih
    | N:0.00 Avr:0.00 | ölçülen değer Newton cinsinden ortalama değer N.
    | Min:0.00 Max:0.00 | ölçülen küçük değer ölçülen büyük değer
    | Isı:20*C d/d:200mm | ısı santigrat motor dakika devir
    +---------------------+ bunları görmek istiyorum
    kayıt için sd kart modulu ( elime ethernet shield var)
    burada başla butonuna bastığımda sd kart kayıta başlayacak
    her kayıt için tarihi ve saati kayıt numarasıatanması gerekiyor
    sınır sivici basıldığıda kayıt duracak
    hafıza kartında .csv uzantılı dosya
    doya no saat tarih rpm ısı
    0001, 12:42:02, 007/08/2018, 120, 20.50

    N, 0,2
    N, 1.5
    N, 5.5
    N, 3.2
    N, 0.0
    ortalama Bir dakikalık kayıt
    saat için DS3231 kulanılacak
    bord arduino mega kulanabilirim


    /*------- lcd-----*/
    #include < Wire.h>
    #include < LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x27, 20, 4);

    /*------- terazi-----*/
    #include "HX711.h"
    #define DOUT 12
    #define CLK 11
    HX711 scale(DOUT, CLK);
    float calibration_factor = 45388; // 1N. için 45388 0,998kg
    float units;
    float ounces;
    /*-----------Step başla dur motor için ------------*/
    const int buttonPin = 2;
    const int role = A3; // step motor için başlat rölesi
    int buttonState = 0;
    /* aynı bord'da "DRV8825" delay komutlarından dolayı titreme yapıyor
    ben kesemedim ondan dolayı ayrı bir nano kullandım.
    "eger aynı bordta düzgün çalıtırabilinirse onuda burada kullanabiliriz"
    */

    /*------- sd kart-----*/
    #include < SPI.h>
    #include < SD.h>
    const int chipSelect = 4;
    File dosya;

    /*---------------saat------------*/

    #include < Wire.h>
    #include "Sodaq_DS3231.h"
    char weekDay[][10] = {"PAZAR", "PAZARTESI", "SALI", "CARSAMBA", "PERSEMBE", "CUMA", "CUMARTESI" };

    void setup() {
    Serial.begin(9600);
    Wire.begin();
    lcd.begin();

    /*---------------sd-------------------*/
    Serial.println("kopma testi uygulaması");

    Serial.println("Kart aranıyor...");
    if (!SD.begin(4))
    {
    Serial.println("Kart yok!!!");
    Serial.println("Kartı tak!!!");
    while (!SD.begin(4));
    Serial.println("Kart takıldı!!!");
    delay(1000);
    }
    else
    {
    Serial.println("Kart tamam!!!");
    delay(1000);
    }

    /*------terazi----*/

    scale.set_scale();
    scale.tare(); //Reset the scale to 0
    long zero_factor = scale.read_average();

    /*------step başla dur ------*/
    pinMode(role, OUTPUT);
    pinMode(buttonPin, INPUT);
    }
    void loop() {
    terazi ();
    saat ();
    sd ();

    /*------step başla dur ------*/

    buttonState = digitalRead(buttonPin);

    if (buttonState == LOW) {

    digitalWrite(role, HIGH);
    } else {

    digitalWrite(role, LOW);
    }
    }

    void terazi() {

    scale.set_scale(calibration_factor);
    units = scale.get_units(), 10;
    if (units < 0) {
    units = 0.00;
    }
    ounces = units * 0.035274;
    Serial.print(units);
    Serial.println();
    lcd.setCursor(1, 1);
    lcd.print("N- ");
    lcd.print(units);
    lcd.setCursor(8, 1);
    lcd.print("d/d");
    lcd.print(" ");
    lcd.print("mm");

    if (Serial.available())
    {
    char temp = Serial.read();
    if (temp == '+' || temp == 'a')
    calibration_factor += 1;
    else if (temp == '-' || temp == 'z')
    calibration_factor -= 1;
    }
    }

    void saat() {
    DateTime now = rtc.now();
    rtc.convertTemperature();


    lcd.setCursor(1, 0);


    lcd.print(now.hour(), DEC);
    lcd.print(':');
    lcd.print(now.minute(), DEC);
    lcd.print(':');
    lcd.print(now.second(), DEC);
    lcd.print(' ');
    lcd.setCursor(10, 0);
    lcd.print(now.date(), DEC);
    lcd.print('.');
    lcd.print(now.month(), DEC);
    lcd.print('.');

    lcd.print(now.year(), DEC);

    lcd.setCursor(1, 3);
    lcd.print(rtc.getTemperature());
    lcd.print(" *C");
    lcd.print(' ');
    lcd.print(weekDay[now.dayOfWeek()]);


    }
    void sd() {

    dosya = SD.open("veri.csv", FILE_WRITE);

    DateTime now = rtc.now();
    // Serial.print(units);
    Serial.print(rtc.getTemperature());
    Serial.println("*C");

    rtc.convertTemperature();

    dosya.print(now.year(), DEC);
    dosya.print("/");
    dosya.print(now.month(), DEC);
    dosya.print('/');
    dosya.print(now.date(), DEC);
    dosya.print("; ");
    dosya.print(now.hour(), DEC);
    dosya.print(":");
    dosya.print(now.minute(), DEC);
    dosya.print(":");
    dosya.print(now.second(), DEC);
    dosya.print(" ; ");
    dosya.print("Newton : ");
    dosya.print("; ");
    // dosya.print(units);
    dosya.print(rtc.getTemperature());
    dosya.print("; ");
    dosya.print("*C");

    dosya.println();
    dosya.close();

    }



Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.