Arduino sd kart veri okuma ve motor sürme yardım..

atolyecfk

Üye
Katılım
7 Haz 2020
Mesajlar
1
Puanları
1
Yaş
38
merhaba..
ben fatih.. kısaca kendimden bahsetmek isterim. lise mezunu olan herhangi bir Elektronik veya programlama alt yapısı olmayan bir kardeşinizim. (kısa süreli plc eğitimi almıştım) ama devamlı kendimi geliştirmeye çalışan ve yaptığım çalışmalarla aileme bakmaya çalışıyorum. (ahşap işlemek için bir cnc yaptım) sizin videolarınız ve verdiğiniz bilgiler gerçekten çok işimize yarıyor ve eğitici oluyor. kendimi daha fazla geliştirmek ve yapacağım çalışmalarla hem kendime hemde ülkeme yararlı şeyler üretmek istiyorum.
size danışmak istediğim bir şey var.
ben arduino ile sd kart içindeki g code okumak ve satırları sırayla step motorlara yön vermek istiyorum...

çok fazla bilgim olmasa da anlatacaklarınızı veya vereceğiniz örnekleri anlayabilir onları geliştirebileceğimi düşünüyorum.. kısacası bana mantığını bir sefer göstermeniz yeterli sonraki adımları yapabileceğimi düşünüyorum... sd kartla ilgili makalenizi okudum. ama onu gcodu okumak ve motorlara aktarabilmek için görsel bir örneğe ve kısaca bir açıklamaya ihtiyacım var ( mantığını anlayabilmek için)
bana bu konuda yardımcı olursanız sevinirim.
sorumu şu şekilde de örneklendirebilirim...

Sd karttaki bir yazı dosyasında yazılı satırlar olsa misal
xled 20 sn yled 30
xled 40 sn y led 5 sn
xled 3 cn y led 10 sn
gibi gibi veriler olsa ve bu verileri arduino satır satır okusa
aslında bu satırlardaki kısım şu mantıkta olacak..
bir satırı arduino alacak onun için deki veriyi arduino led yakmak gibi anlayacak

digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);

burada 13 nolu pini şu kadar yakmak istiyoruz. şu zaman sonra kapat diyoruz ya

digitalWrite(13, HİGH);
delay(.....);

pin yine aynı kalacak ama delaydaki süre kısmını bize sd karttaki o satırdaki veriyi alacak
sonra o süre bittiğinde bir alttaki satırdaki veriyi alacak şekilde kodlayabilirmiyiz...

umarım verdiğim örnek açıklayıcı olmuştur...
amacım delaydaki kısmı sd karttaki satırdaki veriden alması.. ubkonuda bir bilginiz varmı yada bu mantıktaki gibi başka bir yolda izleyecek öneriniz olursa sevinirim..

saygılar..
 
arduinoda sd kartdan bilgi okuma yazma ile ilgili youtubede birçok video var.Düşündügünü biraz ugraşırsan yaparsın.Dedigin gibi satır satır okutup kendine lazım olan bilgileri çekeceksin
 
arduino 3d yazıcı için marlin diye ara ve h dosyalarını incele bütün sorularına cevap bulursun.
birde o Şekilde direk sürersen kartı yakarsın haberin olsun
 
Vaktinde yaptığım bi plotter vardı Gcode ları sd karttan okuyup motorlara hareket veriyordu

void Cnc::Run(String GCode){
File gcode;
String filename = GCode;
char __datafilename[sizeof(filename)+10];
filename.toCharArray(__datafilename, sizeof(__datafilename));
Serial.println("Aşağıdaki G-Code dosyası çalışacak");
Serial.println(__datafilename);
String mbuffer;

gcode = SD.open(__datafilename);
if (gcode) {
display.fillScreen(BLACK);
while (gcode.available()) {
mbuffer = gcode.readStringUntil('\n');
Process_GCode(mbuffer);
}
gcode.close();

Serial.println("Dosya başarıyla işlendi");
}
else
{
Serial.println("SD Kart dosyası açılamıyor");
}
}


Process_GCode fonkisyouna aktarılan veri senin istediğin veri. artık o fonksiyonu kendin tamamlayabilirsin mesela

void Process_GCode(String süre){
digitalWrite(LED,1)
delay(komut.toInt());
digitalWrite(LED,0);
delay(komut.toInt());
}

her satırda ayrı bir delay verebilirsin. tabi uygun bir SD kitaplığı yükle hepsinde çalışcaktır yazdıklarım benim SD kitaplığı karta göreydi sende çalışmayacaktır. Yardımcı olmuşumdur umarım.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…