
Arduino iİle El Çarkı Yapmak
Arduino ile bir CNC handle (el tekerleği) yapmak için aşağıdaki adımları izleyebilirsiniz:
1. Malzemeleri hazırlayın:
- Arduino (örneğin Arduino Uno)
- Rotary encoder (döner kodlayıcı)
- Düğme veya butonlar
- Potansiyometre (isteğe bağlı)
- Bağlantı kabloları
- Breadboard veya prototipleme kartı
2. Devre bağlantılarını yapın:
- Rotary encoder'ı Arduino'ya bağlayın. Encoder'ın A, B ve SW (switch) pinlerini Arduino'nun dijital giriş pinlerine bağlayın. Encoder'ın Vcc ve GND pinlerini Arduino'nun uygun güç ve toprak pinlerine bağlayın.
- Düğme veya butonları Arduino'ya bağlayın. Her düğmeyi bir dijital giriş pini ve toprak pinine bağlayın.
- Potansiyometreyi Arduino'ya bağlamak isterseniz, potansiyometrenin uçlarını Arduino'nun bir analog giriş pini ve güç/toprak pinlerine bağlayın.
3. Arduino IDE'yi açın ve yeni bir proje oluşturun.
4. Arduino kodunu yazın:
// CNC handle için Arduino kodu
#include <Encoder.h>
// Rotary Encoder pinlerini tanımlayın
const int encoderPinA = 2;
const int encoderPinB = 3;
const int encoderButtonPin = 4;
// Düğme pinlerini tanımlayın
const int buttonPin1 = 5;
const int buttonPin2 = 6;
// Potansiyometre pinini tanımlayın (isteğe bağlı)
const int potPin = A0;
// Encoder nesnesini oluşturun
Encoder encoder(encoderPinA, encoderPinB);
// Değişkenleri tanımlayın
int encoderPosition = 0;
int lastEncoderPosition = 0;
void setup() {
pinMode(encoderButtonPin, INPUT_PULLUP);
pinMode(buttonPin1, INPUT_PULLUP);
pinMode(buttonPin2, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
// Encoder pozisyonunu okuyun
encoderPosition = encoder.read();
// Encoder pozisyonunda değişiklik var mı kontrol edin
if (encoderPosition != lastEncoderPosition) {
// Değişiklik varsa, yeni pozisyonu seri monitöre yazdırın
Serial.print("Encoder Position: ");
Serial.println(encoderPosition);
// Burada encoder pozisyonunu kullanarak CNC hareketini gerçekleştirebilirsiniz
// Son pozisyonu güncelleyin
lastEncoderPosition = encoderPosition;
}
// Düğmelerin durumunu kontrol edin
if (digitalRead(encoderButtonPin) == LOW) {
// Encoder düğmesi basıldıysa, işlemleri gerçekleştirin
Serial.println("Encoder Button Pressed");
// Burada encoder düğmesine basıldığında yapılacak işlemleri gerçekleştire
bilirsiniz
}
if (digitalRead(buttonPin1) == LOW) {
// İlk buton basıldıysa, işlemleri gerçekleştirin
Serial.println("Button 1 Pressed");
// Burada ilk düğmeye basıldığında yapılacak işlemleri gerçekleştirebilirsiniz
}
if (digitalRead(buttonPin2) == LOW) {
// İkinci buton basıldıysa, işlemleri gerçekleştirin
Serial.println("Button 2 Pressed");
// Burada ikinci düğmeye basıldığında yapılacak işlemleri gerçekleştirebilirsiniz
}
// Potansiyometre değerini okuyun (isteğe bağlı)
int potValue = analogRead(potPin);
// Potansiyometre değerini seri monitöre yazdırın (isteğe bağlı)
Serial.print("Potentiometer Value: ");
Serial.println(potValue);
// Burada potansiyometre değerini kullanarak istediğiniz işlemleri gerçekleştirebilirsiniz
}
```
5. Arduino kodunu yükleyin:
- Arduino IDE'de, Arduino'nuzu bilgisayara bağlayın ve doğru portu seçin.
- Hazırladığınız kodu Arduino IDE'ye yapıştırın.
- "Upload" düğmesine tıklayarak kodu Arduino'ya yükleyin.
Bu şekilde, Arduino ile CNC handle'ı kontrol edebilirsiniz. Rotary encoder ile el tekerleği hareketini okuyabilir, düğmeleri kullanarak özel işlevler atayabilir ve potansiyometreyi kullanarak ilave kontroller yapabilirsiniz. Arduino'nun seri monitörüne bağlanarak gerçek zamanlı verileri izleyebilir ve CNC hareketini uygun şekilde gerçekleştirebilirsiniz.
Daha gelişmiş bir CNC handle örneği için aşağıdaki adımları takip edebilirsiniz:
1. Malzemeleri hazırlayın:
- Arduino (örneğin Arduino Uno veya Arduino Mega)
- Rotary encoder (döner kodlayıcı)
- Düğme veya butonlar
- Potansiyometreler
- LCD ekran (isteğe bağlı)
- Bağlantı kabloları
- Breadboard veya prototipleme kartı
2. Devre bağlantılarını yapın:
- Rotary encoder'ı Arduino'ya bağlayın. Encoder'ın A, B ve SW (switch) pinlerini Arduino'nun dijital giriş pinlerine bağlayın. Encoder'ın Vcc ve GND pinlerini Arduino'nun uygun güç ve toprak pinlerine bağlayın.
- Düğme veya butonları Arduino'ya bağlayın. Her düğmeyi bir dijital giriş pini ve toprak pinine bağlayın.
- Potansiyometreleri Arduino'ya bağlayın. Her bir potansiyometreyi bir analog giriş pini ve güç/toprak pinlerine bağlayın.
- LCD ekran kullanacaksanız, LCD ekranı Arduino'ya bağlayın. Bağlantı şemasına ve LCD kütüphanesi örneklerine bakarak doğru bağlantıları yapın.
3. Arduino IDE'yi açın ve yeni bir proje oluşturun.
4. Gerekli kütüphaneleri yükleyin:
- Rotary encoder için "Encoder" kütüphanesini Arduino IDE'ye ekleyin.
- LCD ekran kullanacaksanız, LCD ekran için uygun kütüphaneyi Arduino IDE'ye ekleyin (örneğin "LiquidCrystal" kütüphanesi).
5. Arduino kodunu yazın:
```cpp
// Gelişmiş CNC handle için Arduino kodu
#include <Encoder.h>
#include <LiquidCrystal.h>
// Rotary Encoder pinlerini tanımlayın
const int encoderPinA = 2;
const int encoderPinB = 3;
const int encoderButtonPin = 4;
// Düğme pinlerini tanımlayın
const int buttonPin1 = 5;
const int buttonPin2 = 6;
// Potansiyometre pinlerini tanımlayın
const int potPin1 = A0;
const int potPin2 = A1;
// LCD ekran pinlerini tanımlayın
const int rs = 7;
const int en = 8;
const int d4 = 9;
const int d5 = 10;
const int d6 = 11;
const int d7 = 12;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Encoder nesnesini oluşturun
Encoder encoder(encoderPinA, encoderPinB);
// Değişkenleri tanımlayın
int encoderPosition = 0;
int lastEncoderPosition = 0;
void setup() {
pinMode(encoderButtonPin, INPUT_PULLUP);
pinMode(buttonPin1, INPUT_PULLUP);
pinMode(buttonPin2, INPUT_PULLUP);
lcd.begin
(16, 2); // LCD ekranı başlatın, satır ve sütun sayısını ayarlayın
Serial.begin(9600);
}
void loop() {
// Encoder pozisyonunu okuyun
encoderPosition = encoder.read();
// Encoder pozisyonunda değişiklik var mı kontrol edin
if (encoderPosition != lastEncoderPosition) {
// Değişiklik varsa, yeni pozisyonu seri monitöre yazdırın
Serial.print("Encoder Position: ");
Serial.println(encoderPosition);
// LCD ekranı güncelleyin
updateLCD(encoderPosition);
// Burada encoder pozisyonunu kullanarak CNC hareketini gerçekleştirin
// Son pozisyonu güncelleyin
lastEncoderPosition = encoderPosition;
}
// Düğmelerin durumunu kontrol edin
if (digitalRead(encoderButtonPin) == LOW) {
// Encoder düğmesi basıldıysa, işlemleri gerçekleştirin
Serial.println("Encoder Button Pressed");
// Burada encoder düğmesine basıldığında yapılacak işlemleri gerçekleştirin
}
if (digitalRead(buttonPin1) == LOW) {
// İlk buton basıldıysa, işlemleri gerçekleştirin
Serial.println("Button 1 Pressed");
// Burada ilk düğmeye basıldığında yapılacak işlemleri gerçekleştirin
}
if (digitalRead(buttonPin2) == LOW) {
// İkinci buton basıldıysa, işlemleri gerçekleştirin
Serial.println("Button 2 Pressed");
// Burada ikinci düğmeye basıldığında yapılacak işlemleri gerçekleştirin
}
// Potansiyometre değerlerini okuyun
int potValue1 = analogRead(potPin1);
int potValue2 = analogRead(potPin2);
// Potansiyometre değerlerini seri monitöre yazdırın
Serial.print("Potentiometer 1 Value: ");
Serial.println(potValue1);
Serial.print("Potentiometer 2 Value: ");
Serial.println(potValue2);
// Burada potansiyometre değerlerini kullanarak istediğiniz işlemleri gerçekleştirin
}
// LCD ekranını güncelleyen fonksiyon
void updateLCD(int position) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Position: ");
lcd.print(position);
}
```
6. Arduino kodunu yükleyin:
- Arduino IDE'de, Arduino'nuzu bilgisayara bağlayın ve doğru portu seçin.
- Hazırladığınız kodu Arduino IDE'ye yapıştırın.
- "Upload" düğmesine tıklayarak kodu Arduino'ya yükleyin.
Bu şekilde, daha gelişmiş bir CNC handle'ı kontrol edebilirsiniz. Rotary encoder ile el tekerleği hareketini okuyabilir, düğmeleri kullanarak özel işlevler atayabilir, potansiyometreleri kullanarak ilave kont
roller yapabilir ve LCD ekranı kullanarak gerçek zamanlı bilgileri görüntüleyebilirsiniz. Arduino'nun seri monitörüne bağlanarak verileri izleyebilir ve CNC hareketini uygun şekilde gerçekleştirebilirsiniz.
andle örnegi