L298N ve yazılım hakkında sorularım var

Kod:
#define echoPin 7
#define trigPin 8

const float enlgelLimit = 20; // 20 cm

//L298N Bağlantısı
  const int motorA1  = 5;  // L298N'in IN3 Girişi
  const int motorA2  = 6;  // L298N'in IN1 Girişi
  const int motorB1  = 10; // L298N'in IN2 Girişi
  const int motorB2  = 9;  // L298N'in IN4 Girişi


  int i=0; //Döngüler için atanan rastgele bir değişken
  int j=0; //Döngüler için atanan rastgele bir değişken
  int state; //Bluetooth cihazından gelecek sinyalin değişkeni
  int komut; //Bluetooth cihazından gelecek sinyalin değişkeni
  int vSpeed=255;     // Standart Hız, 0-255 arası bir değer alabilir

void setup() {
    // Pinlerimizi belirleyelim
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT);
    // 9600 baud hızında bir seri port açalım
    Serial.begin(9600);
}


float mesafeOlc(){
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2); 
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW); 
    int sure = pulseIn(echoPin, HIGH);     
    float mesafe= sure * 0.034 / 2; // 0.034 -> 340 m/sn = 34000 cm/sn = 0.034 cm/microsaniye;    /2 -> süre gidiş-geliş süresi olduğu için
    return mesafe;  // cm
}

 
void loop() {
  /*Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur.
 (Aktif etmek için alt satırın "//" larını kaldırın.)*/
//     if(digitalRead(BTState)==LOW) { state='S'; }

  boolean islendi = true;

  //Gelen veriyi 'komut' değişkenine kaydet
    if(Serial.available() > 0){  
      komut  = Serial.read();
      islendi = false; // Yeni komut gelene kadar gereksiz yere aynı komutu tekrar tekrar işlemeye gerek yok.
    }

    float engel = mesafeOlc();
    if (engel <= enlgelLimit){
      state = 'B'; // Auto-brake
      islendi = false;
    }
 
  /* Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)*/
    if (komut == '0'){
      vSpeed=0;}
    else if (komut == '1'){
      vSpeed=100;}
    else if (komut == '2'){
      vSpeed=180;}
    else if (komut == '3'){
      vSpeed=200;}
    else if (komut == '4'){
      vSpeed=255;}
    else {  // hız komutu değilse state değişkenini değiştir.
      state = komut; }
 
  /***********************İleri****************************/
  //Gelen veri 'F' ise araba ileri gider.
    if (state == 'F') {
      analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);      analogWrite(motorB2, 0);
        islendi = true;
    }
  /**********************İleri Sol************************/
  //Gelen veri 'G' ise araba ileri sol(çapraz) gider.
    else if (state == 'G') {
      analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0);
        analogWrite(motorB1, 100);    analogWrite(motorB2, 0);
        islendi = true;
    }
  /**********************İleri Sağ************************/
  //Gelen veri 'I' ise araba ileri sağ(çapraz) gider.
    else if (state == 'I') {
        analogWrite(motorA1, 100); analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);      analogWrite(motorB2, 0);
        islendi = true;
    }
  /***********************Geri****************************/
  //Gelen veri 'B' ise araba geri gider.
    else if (state == 'B') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed);
        analogWrite(motorB1, 0);   analogWrite(motorB2, vSpeed);
        islendi = true;
    }
  /**********************Geri Sol************************/
  //Gelen veri 'H' ise araba geri sol(çapraz) gider
    else if (state == 'H') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, 100);
        analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
        islendi = true;
    }
  /**********************Geri Sağ************************/
  //Gelen veri 'J' ise araba geri sağ(çapraz) gider
    else if (state == 'J') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed);
        analogWrite(motorB1, 0);   analogWrite(motorB2, 100);
        islendi = true;
    }
  /***************************Sol*****************************/
  //Gelen veri 'L' ise araba sola gider.
    else if (state == 'L') {
      analogWrite(motorA1, vSpeed);   analogWrite(motorA2, 150);
        analogWrite(motorB1, 0); analogWrite(motorB2, 0);
        islendi = true;
    }
  /***************************Sağ*****************************/
  //Gelen veri 'R' ise araba sağa gider
    else if (state == 'R') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);   analogWrite(motorB2, 150);
        islendi = true;
    }
 
  /************************Stop*****************************/
  //Gelen veri 'S' ise arabayı durdur.
    else if (state == 'S' || state == 'B' ){ // 'S' geldiyse ya da 'B' (otomatik fren) set edildiyse
        analogWrite(motorA1, 0);  analogWrite(motorA2, 0);
        analogWrite(motorB1, 0);  analogWrite(motorB2, 0);
        islendi = true;
    }
    delay(1);
}

Kodunuz tek state ile herşeyi yönetmeye çalışıyor. İyi kontrol etmek için biraz daha farklı yazmak lazım ama olanı hızlıca düzenledim.
Test etmedim. Sentaks hatası olabilir. Bir bakarsınız.

NOTLAR:
  1. Yeni komut gelmedikçe eski komutu sürekli işlemeye gerek yok. 'islendi' değişkeni bunun için eklendi.
  2. Eski kodda, gelen komutu state değişkenine direk yazıyorsunuz. Hız komutu gelirse 'state' kaybolduğundan hız değişkenini set ediyorsunuz ama yeniden yön komutlarından biri gelene kadar motor sürücüsüne göndermiyorsunuz. O yüzden 'komut' değişkenini ekledim ve hız komutu gelirse 'vSpeed' güncellenip 'islendi' false ediliyor. Böylece 'state' kaybolmuyor ve motor sürücüsüne yeni hız ve 'state' (yeni halinde yön) gönderiliyor. Hız gönderince tekrar yön göndermeye gerek kalmıyor.
  3. Arabanız pille çalışıyor. delay(1) pil tüketimini azaltmak için. Tüketim problem değilse Arduino için ihtiyaç yok. ESP8266'da bunu ya da yileld() eklemek gerekli
  4. Her döngüde mesafeyi bir kere ölçüp engelLimit değişkeninden küçük ya da eşitse aracı durduruyor. Farklı bir 'state' olması lazım olabilir diye değeri 'S' yerine 'B' yaptım.
  5. Gerisini yorumlara yazdım. İncelersiniz.


Bu hali büyük ölçüde işinizi görür. Ancak başka problemleriniz de var. Bunları çözerek kendinizi geliştriebilirsiniz:
  1. A1, A2, B1, B2 pinlerini biraz karmaşık tanımlamışsınız. O yüzden çapraz gidiş ve dönüş kodlarınızı kontrol etmeye üşendim :) Ancak oralarda 100 ve 150 olarak sabit değerler kullanmışsınız. Aracın ana hızı değişken olduğundan bu şekilde sabit değerler ile yön veremezsiniz. Büyük ihtimalle, hızın 255 olacağını varsayarak yapmışsınız. Ama hız değişken ve bu durumda 1 ve 2 hız kademelerinde nötr ya da tersine çalışır.
  2. Engel kontrolünde gidiş yönüne bakmanız mantıklı olur. Geri giderken engel yüzünden durmak istemezsiniz. Ya da engel yüzünden durunca geriye doğru bir daha kalkamamak.
  3. Bir de engel görmesine rağmen aracın hemen durmayacağı çok nadir ve özel bir durumu bulmayı ve çözümünü size bıraktım.

Varsa sentaks ya da yazım hataları ve yukarıdaki maddeler de sizin ödeviniz olsun ;)
Teşekkür ederim hocam.
Ödev dediğiniz yerdeki 3. şıkkı kendim manuel olarak yapacağım zaten kontrol ederken. Bana da bir tek LCD ekrana yazdırma kodları kalmış.
Ellerinize sağlık. LCD ekranımdaki sorunu çözdükten sonra mutlaka deneyeceğim. Günlerdir uğraşıyorum da sorunu çözemedim daha.
 
benim bildiğim sadece boyut farkı ben kullandığımda 5x20 kullanıyorum.

6x30 genelde makine panolarında valf bobinlerine, kontaktör bobinlerinde, schneider marka ray tipi sigorta yuvalarında kullanılıyor.
Peki kendinden korumalı motor sürücüsü bu devrede kullanılabilir mi? Varsa kodu tam olarak nedir? Araştırdığımda farklı sonuçlar çıkıyor.
 
Teşekkür ederim hocam.
Ödev dediğiniz yerdeki 3. şıkkı kendim manuel olarak yapacağım zaten kontrol ederken. Bana da bir tek LCD ekrana yazdırma kodları kalmış.
Ellerinize sağlık. LCD ekranımdaki sorunu çözdükten sonra mutlaka deneyeceğim. Günlerdir uğraşıyorum da sorunu çözemedim daha.
aslında temelde birkaç komutunuz var lcd ile ilgili.

lcd adresi gireceğiniz satır //genelde 0x27'dir adresi

lcd.begin();//lcd aktif etme komutu

lcd.setCursor(0,0); ,//satır sütün seçme komutu

lcd.print( );//parantez içine yazılan değişkeni lcd'ye yazdırır.

lcd.clear();//lcd ekranı temizler
 
Peki kendinden korumalı motor sürücüsü bu devrede kullanılabilir mi? Varsa kodu tam olarak nedir? Araştırdığımda farklı sonuçlar çıkıyor.
L298 kırmızı kartlı ise L298'in bu özelliğini kullanmak için tasarıma ve entegreye tamamen hakim olmalısınız normalde bu özelliği var 1 transistör 2 direnç ile kullanabiliyoruz fakat hali hazırdaki tasarımda direkt gnd'ye çekildiği için malesef bu özelliği kullanmak zor yolları ayırıp uzay montaj bir devre yapmalısınız sizin için en pratik yol cam sigorta şuan;

veya op-amp ile geçen akımı ölçüp işlem yapıtırabilirsiniz akım şu değerden büyükse motoru durdur gibi.
 
Çalışma voltajı fazla değişmiyorsa 5x20 ile 6x30 arasında bir fark görmezsin. Aslında çoğu zaman arada bir fark görmezsin. 6x30 da kontaktlar arasındaki mesafe daha uzun olduğu için sigorta attıktan sonra ark veya başka sebeple devrenin tamamlanma şansı çok daha düşük olur.
 
aslında temelde birkaç komutunuz var lcd ile ilgili.

lcd adresi gireceğiniz satır //genelde 0x27'dir adresi

lcd.begin();//lcd aktif etme komutu

lcd.setCursor(0,0); ,//satır sütün seçme komutu

lcd.print( );//parantez içine yazılan değişkeni lcd'ye yazdırır.

lcd.clear();//lcd ekranı temizler
Evet, temel kodları biliyorum fakat uzun süredir LCD ekranımda bir sorun var. Siyah kareler sorunu. Belki sorun LCD'de olabilir diye farklı LCD ile de denedim ama hep aynı sorun var. Kablolarım sağlam, kodum da öyle. En basit bir kodda bile aynı sorun var. "Hello World" bile yazdırılmıyor. Kontrastı ile de oynuyorum. Fullediğimde hep siyah kareler çıkıyor, azalttığımda ise boş ekran.
 
L298 kırmızı kartlı ise L298'in bu özelliğini kullanmak için tasarıma ve entegreye tamamen hakim olmalısınız normalde bu özelliği var 1 transistör 2 direnç ile kullanabiliyoruz fakat hali hazırdaki tasarımda direkt gnd'ye çekildiği için malesef bu özelliği kullanmak zor yolları ayırıp uzay montaj bir devre yapmalısınız sizin için en pratik yol cam sigorta şuan;

veya op-amp ile geçen akımı ölçüp işlem yapıtırabilirsiniz akım şu değerden büyükse motoru durdur gibi.
Cam sigorta ile devam edeceğim o halde. Maliyeti de yüksek değil en azından.
 
Evet, temel kodları biliyorum fakat uzun süredir LCD ekranımda bir sorun var. Siyah kareler sorunu. Belki sorun LCD'de olabilir diye farklı LCD ile de denedim ama hep aynı sorun var. Kablolarım sağlam, kodum da öyle. En basit bir kodda bile aynı sorun var. "Hello World" bile yazdırılmıyor. Kontrastı ile de oynuyorum. Fullediğimde hep siyah kareler çıkıyor, azalttığımda ise boş ekran.
ı2c arayüz modülü kullanıyorsun anladığım kadarıyla lcd'nin arkasına takılan siyah renkli bir kart?

lcd:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

int a = 15;


LiquidCrystal_I2C lcd(0x27, 16, 2);//LCD ADRES VE EKRAN BOYUTLARI SEÇİMİ

void setup()
{

    lcd.begin(); //LCD AKTİF ETME KOMUTU   
    lcd.backlight(); //ARKA AYDINLATMA AÇIK KAPATMA KOMUTU YAZMASANDA AÇILIYOR AYDINLATMA
  lcd.clear(); //EKRAN TEMİZLEME KOMUTU BÜTÜN KARKATERLERİ TEMİZLER KOMUT ÇALIŞTIRILDIĞINDA
 
    
}

void loop()
{
  lcd.setCursor(0,0);//0. SATIR 0. SÜTUN
 
  delay(5);//SATIR SÜTUN AYARI YAPTIKTAN EN AZ 3MS SONRA YAZDIRMA İŞLEMİ YAPMALISIN
 
  lcd.print(a);//A DEĞİŞKENİNİ EKRANIN 0,0 NOKTASINA YAZIYORUZ

  delay(150);//PROGRAM 150MS BEKLEMELİ DÖNECEK
    
}

bununla bir dene ekranın sol üstünde 15 değerini görmen gerek
 
Cam sigorta ile devam edeceğim o halde. Maliyeti de yüksek değil en azından.
En büyük sorunun şuan maliyet olduğunu biliyorum fakat şöyle düşün

Kendine yatırım yapıyorsun.Mutlaka bu yatırımın karşılığını alacaksın belki şuana kadar kendi adıma konuşuyorum 2 tane gayet güzel laptop parasına elektronik malzeme alımışımdır entegreler işlemciler daha bissürü neden? geleceğe yatırım
 
ı2c arayüz modülü kullanıyorsun anladığım kadarıyla lcd'nin arkasına takılan siyah renkli bir kart?

lcd:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

int a = 15;


LiquidCrystal_I2C lcd(0x27, 16, 2);//LCD ADRES VE EKRAN BOYUTLARI SEÇİMİ

void setup()
{

    lcd.begin(); //LCD AKTİF ETME KOMUTU  
    lcd.backlight(); //ARKA AYDINLATMA AÇIK KAPATMA KOMUTU YAZMASANDA AÇILIYOR AYDINLATMA
  lcd.clear(); //EKRAN TEMİZLEME KOMUTU BÜTÜN KARKATERLERİ TEMİZLER KOMUT ÇALIŞTIRILDIĞINDA
 
   
}

void loop()
{
  lcd.setCursor(0,0);//0. SATIR 0. SÜTUN
 
  delay(5);//SATIR SÜTUN AYARI YAPTIKTAN EN AZ 3MS SONRA YAZDIRMA İŞLEMİ YAPMALISIN
 
  lcd.print(a);//A DEĞİŞKENİNİ EKRANIN 0,0 NOKTASINA YAZIYORUZ

  delay(150);//PROGRAM 150MS BEKLEMELİ DÖNECEK
   
}

bununla bir dene ekranın sol üstünde 15 değerini görmen gerek
20220607_134000_HDR.jpg20220607_134027_HDR.jpg

Evet I2C kullanıyorum. Maalesef sorun devam etmekte.
 
potu çok fazla çeviriyorsun anladığım kadarıyla tam sağ tam solda bu ekranların gelmesi normal.

az az çevirip ekranı gözlemle.

ve o siyah kartın güncel şuan çekilmiş resmini at net şekilde
Pot ile çalıştığını biliyorum, o yönden bir sıkıntı yok. Yavaş yavaş çevirdiğimde de ilk fotoğraftaki gibi. Değişen bir şey olmuyor.
 

Ekler

  • 20220607_140639_HDR.jpg
    20220607_140639_HDR.jpg
    381.2 KB · Görüntüleme: 82
Pot ile çalıştığını biliyorum, o yönden bir sıkıntı yok. Yavaş yavaş çevirdiğimde de ilk fotoğraftaki gibi. Değişen bir şey olmuyor.
SCL ----> A5
SDA---->A4

Bağlantısından emin olun kablolarınızı ölçü aletinin iletkenlik(düdük) modunda tek tek kontrol edin kopuk varsa çalışmaz.

Eğer donanım olarak herşeyden emin olduysanız googleden I2C Scanner kodu bulup hiçbir bağlantıyı değiştirmeden o kodu çalışıtırn ve I2C adresinden emin olun.
 
SCL ----> A5
SDA---->A4

Bağlantısından emin olun kablolarınızı ölçü aletinin iletkenlik(düdük) modunda tek tek kontrol edin kopuk varsa çalışmaz.

Eğer donanım olarak herşeyden emin olduysanız googleden I2C Scanner kodu bulup hiçbir bağlantıyı değiştirmeden o kodu çalışıtırn ve I2C adresinden emin olun.
Hepsinden eminim, defalarca yaptım. Farklı ekran ve I2C de denedim. Arduino ile farklı kodlar da çalıştırdım. 0x27 zaten I2C. Anlamadım neden böyle yapıyor.
 
Hepsinden eminim, defalarca yaptım. Farklı ekran ve I2C de denedim. Arduino ile farklı kodlar da çalıştırdım. 0x27 zaten I2C. Anlamadım neden böyle yapıyor.
display sağlamlığından emin olun ı2c modülü çıkarıp lcd ekranı paralel kullanın
 
C:
// ---------------------------------------------------------------- /
// Arduino I2C Scanner
// Re-writed by Arbi Abdul Jabbaar
// Using Arduino IDE 1.8.7
// Using GY-87 module for the target
// Tested on 10 September 2019
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
// ---------------------------------------------------------------- /

#include <Wire.h> //include Wire.h library

void setup()
{
  Wire.begin(); // Wire communication begin
  Serial.begin(115200); // The baudrate of Serial monitor is set in 9600
  while (!Serial); // Waiting for Serial Monitor
  Serial.println("\nI2C Scanner");
}

void loop()
{
  byte error, address; //variable for error and I2C address
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for (address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address < 16)
        Serial.print("0");
      Serial.print(address, HEX);
      Serial.println("  !");
      nDevices++;
    }
    else if (error == 4)
    {
      Serial.print("Unknown error at address 0x");
      if (address < 16)
        Serial.print("0");
      Serial.println(address, HEX);
    }
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000); // wait 5 seconds for the next I2C scan
}

1- @Ahmet 'in paylaştığı kod ile test ediyorsanız lcd.print(a); yerine lcd.print("mekatronik"); yazarak deneyin.
2- Olmadıysa bu kodu yükleyin çalıştırın. Serial Monitor çıkışını buraya yazın ya da Arduino'nun 0x27 adresinde I2C cihazınızı bulduğuna emin olun.
3- Tüm devrenin (Arduino dahil) bir resmini yollayın.
 
Son düzenleme:
C:
// ---------------------------------------------------------------- /
// Arduino I2C Scanner
// Re-writed by Arbi Abdul Jabbaar
// Using Arduino IDE 1.8.7
// Using GY-87 module for the target
// Tested on 10 September 2019
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
// ---------------------------------------------------------------- /

#include <Wire.h> //include Wire.h library

void setup()
{
  Wire.begin(); // Wire communication begin
  Serial.begin(115200); // The baudrate of Serial monitor is set in 9600
  while (!Serial); // Waiting for Serial Monitor
  Serial.println("\nI2C Scanner");
}

void loop()
{
  byte error, address; //variable for error and I2C address
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for (address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address < 16)
        Serial.print("0");
      Serial.print(address, HEX);
      Serial.println("  !");
      nDevices++;
    }
    else if (error == 4)
    {
      Serial.print("Unknown error at address 0x");
      if (address < 16)
        Serial.print("0");
      Serial.println(address, HEX);
    }
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000); // wait 5 seconds for the next I2C scan
}

1- @Ahmet 'in paylaştığı kod ile test ediyorsanız lcd.print(a); yerine lcd.print("mekatronik"); yazarak deneyin.
2- Olmadıysa bu kodu yükleyin çalıştırın. Serial Monitor çıkışını buraya yazın ya da Arduino'nun 0x27 adresinde I2C cihazınızı bulduğuna emin olun.
3- Tüm devrenin (Arduino dahil) bir resmini yollayın.
Kodu dediğiniz gibi düzelttim, sorun devam ediyor.
Arduino devrem de bu şekilde.
 

Ekler

  • 20220608_175645_HDR.jpg
    20220608_175645_HDR.jpg
    306 KB · Görüntüleme: 70
  • 20220608_175722_HDR.jpg
    20220608_175722_HDR.jpg
    230.9 KB · Görüntüleme: 73
  • 20220608_175700_HDR.jpg
    20220608_175700_HDR.jpg
    207.6 KB · Görüntüleme: 78
Hiçbir çözüm çare olmadığı için yeni LCD aldım, şu an bir problem görünmüyor. Başka bir soru soracaktım bu arada.
Elimde bu iki parça var. Görselde göründüğü gibi 7.8A çıkışı var pilin. Bu 7.8A bluetooth aux cihazıma zarar verir mi? Datasheet'ine baktım fakat bir şey bulamadım. 3.7v-5v çalışma aralığı yazıyor ve onu sağlıyor. Aklımı amper durumu karıştırdı.
 

Ekler

  • li-ionli-polymer-pillertnltnl-icr18650-3-ecea.jpeg
    li-ionli-polymer-pillertnltnl-icr18650-3-ecea.jpeg
    17.1 KB · Görüntüleme: 76
  • 110000045245570.jpg
    110000045245570.jpg
    34.1 KB · Görüntüleme: 76

Forum istatistikleri

Konular
5,788
Mesajlar
99,012
Üyeler
2,464
Son üye
s4met

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top