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!

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