Merhaba,
Arduino ile basit bir makina üretimi düşünüyorum. Lakin piyasada bir çok parça seçeneği ve Arduino sürümü var.
Yapacağım makina için Uygun sürüm, parça ve kodlama konusunda yardımcı olacak Arduino sever arkadaşlarin yardımı rica olunur.
Arduino projesi için yardım istiyorum
7
●214
- 25-08-2023, 15:07:53Yapacağın üründe neler gerekli ona göre bir ardunio seçmelisin ona göre kompanentler seçmelisin. Bi oturup liste yapman mantıklı olaiblir
- 19-10-2023, 21:11:20Uzun zamandır internet bağlantım olmadığı için yazılan cevapları yeni gördüm.
Yapmak istediğim şey şudur.
Enerji verdiğin de LCD ekranda Merhaba yazsın.
5 Sn sonra LCD ekranda Tur sayısı girin yazısı çıksın.
Keypad ile üç haneli bir sayı girdikten sonra enter (A) tuşa basıldığında bu sayıyı "Tur" isimli değişkene atasin.
A tuşuna bastıktan sonra ekran da "Adet" yazısı çıksın ve yine 3 haneli bir sayı girilsin. A tuşuna basınca "Adet" isimli değişkene 2. Yazdığım sayıları atasın bu rakamı. Keypad da bulunan (B) Start tuşuna basınca işlem başlasın.
Peki işlem ne yapacak?
Merhaba yazısından sonra 8 rakamı girince Tur değişkene, 5 rakamı girince de adet değişkenine atama yapsın.
Tur: 8
Adet: 5
1. Olan Step motor 8 defa dönsün. Döndükten sonra 2. Step motor 1 tur dönsün.
Ve bu işlem 5 defa yapılsın.
Not: 2. Step motor 1 tur tek döneceği için ona keypad ile işlem yapmaya gerek yok.
Yapmak istediğim şey,1. Motorun kaç tur dönmesi ve kaç defa bu işlemi tekrar etmesini ayarlamak.
Elimde olan malzemeler,
1 adet Arduino Uno clon
1adet 4x4 Keypad
1 adet 16x2 LCD ekran
2 adet nema 17 step motor
2 adet TB6600 motor sürücüsü
Bunun dışında LED, Diyot kablo gibi bir çok malzeme var. - 28-10-2023, 02:15:57istediğin şey böyle birşey mi ?
Arduino ile bu işlemi gerçekleştirmek için aşağıdaki kodu kullanabilirsiniz. Bu kod, LCD ekranı kullanarak talimatları ve girdileri gösterir ve ardından belirlediğiniz şartlara göre adım motorlarını kontrol eder.
#include <LiquidCrystal.h> #include <Keypad.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // LCD pin bağlantıları Keypad keypad = Keypad(makeKeymap("123A456B7890*#"), A0, A1, A2, A3); // Keypad pin bağlantıları int tur = 0; // Tur sayısı int adet = 0; // Adet sayısı int turCounter = 0; // Tur sayacı int adetCounter = 0; // Adet sayacı int motorPin1 = 10; // 1. motorun sürücü pinleri int motorPin2 = 11; int motorPin3 = 12; // 2. motorun sürücü pinleri int motorPin4 = 13; void setup() { lcd.begin(16, 2); lcd.print("Merhaba"); delay(5000); lcd.clear(); lcd.print("Tur sayisi girin"); } void loop() { char key = keypad.getKey(); if (key) { if (key >= '0' && key <= '9') { if (tur == 0) { lcd.print(key); tur = tur * 10 + (key - '0'); } else if (adet == 0) { lcd.print(key); adet = adet * 10 + (key - '0'); } } else if (key == 'A') { if (tur > 0 && adet > 0) { lcd.clear(); lcd.print("Adet girin"); adetCounter = adet; turCounter = tur; tur = 0; adet = 0; } } else if (key == 'B') { if (adetCounter > 0) { lcd.clear(); lcd.print("Islem basliyor"); for (int i = 0; i < turCounter; i++) { // 1. motoru 8 defa döndür for (int j = 0; j < 8; j++) { stepMotor(motorPin1, motorPin2); } // 2. motoru 1 tur döndür for (int j = 0; j < 200); j++) { stepMotor(motorPin3, motorPin4); } } adetCounter--; if (adetCounter == 0) { lcd.clear(); lcd.print("Islem tamamlandi"); } else { lcd.clear(); lcd.print("Adet girin"); } } } } } void stepMotor(int pin1, int pin2) { int sequence[8] = {B1000, B1100, B0100, B0110, B0010, B0011, B0001, B1001}; for (int i = 0; i < 8; i++) { int val = sequence[i]; digitalWrite(pin1, (val & 0x01) > 0 ? HIGH : LOW); digitalWrite(pin2, (val & 0x02) > 0 ? HIGH : LOW); delay(10); } }Bu kod, LCD ekranı ve Keypad'i kullanarak kullanıcının girdilerini alır ve ardından 1. motoru belirtilen koşullara göre kontrol eder. 2. motor her zaman bir tur döneceği için onun için ayrı bir işlem yapmanıza gerek yoktur.
Ayrıca, 1. motorun sürücü pinlerini motorPin1 ve motorPin2 olarak tanımladım. Bu pinleri bağlantılarınıza göre ayarlayabilirsiniz. 2. motorun sürücü pinlerini motorPin3 ve motorPin4 olarak tanımladım. Bu pinleri de bağlantılarınıza göre ayarlayabilirsiniz.
Bu kod, kullanıcının belirlediği tur ve adet sayısına göre 1. motoru kontrol eder ve istenen işlemi gerçekleştirir. Bağlantılarınızı kontrol edin ve gerekirse düzeltilmelidir. Bu kod, temel bir başlangıçtır ve ihtiyaçlarınıza göre özelleştirebilirsiniz. - 30-10-2023, 12:00:35Merhaba hocam, mesajınızı yeni gördüm. Açıkçası kaç konudur açıyorum ama yardımcı olan çıkmayınca artık r10'a karşı bir kırgınlık oluştu bende. Bu nedenle siteye eskisi gibi uğramıyorum.
Mesajınızı görünce çok ama çok sevindim. Teşekkür ederim elinize sağlık. Açıkçası ben chatgpt ile kodları be elektronik devreleri yaptım harika da çalışıyor.
Bu mesajınız çok kıymetlidir. Teşekkür ettim mutlu ettiniz. - 30-10-2023, 16:27:44Merhabalar tekrardan rica ederim bende kaç aydır ilk defa girip bakındım biraz o an gözüme ilişti cevap vermek istedim. Sorunuzu çözmüş olduğunuza sevindim.Evreka63 adlı üyeden alıntı: mesajı görüntüle