Ardunio İle Basit Geri Dönüşüm Nelere İhtiyacım Var

Mergen

Yeni Üye
Katılım
1 Ocak 2025
Mesajlar
3
Değerli arkadaşlar,

Herkese sağlıklı mutlu ve bol kazançlı bir yıl diliyorum. Umarım yardımcı olacak birisi çıkar. Resimde gösterildiği şekilde basit bir geridönüşümü ardunio ile yapmak/yaptırmak istiyorum. Alüminyum bir metal meşrubat kutusu hazneye atıldıktan sonra metal sensörü tarafından onaylanacak ve onay alındığında bir dc motoru bir tam tur döndürerek haznede bulunan malzemeden bir miktarı dışarıya dökecek. Dah önce hiç ardunio tecrübem yok. Bunu nasıl yapabilirim ya da hazır bir set varsa nereden satın alabilirim. Cevap veren arkadaşlarıma şimdiden çok teşekkür ederim. Çizimin basitliği için özür dilerim.

Saygılarımla,
 

Ekler

  • WhatsApp Image 2025-01-01 at 12.02.33.jpeg
    WhatsApp Image 2025-01-01 at 12.02.33.jpeg
    77.7 KB · Görüntüleme: 34
Metal algılama için endüktif sensör kullanılabilir..
Haznede ne tür bir malzeme olacak ve bunların haznede konumlanması önemli.. Mekanik düzenek en önemli kısım olarak görünüyor.
 
Metal algılama için endüktif sensör kullanılabilir..
Haznede ne tür bir malzeme olacak ve bunların haznede konumlanması önemli.. Mekanik düzenek en önemli kısım olarak görünüyor.
Hocam haznede un benzeri ince taneli bir malzeme olacak. Ve düzenek resimdeki gibi dikey şekilde konumlandırılacak. Ne tavsiye edersiniz ?
 
arduino:
const int metalSensorPin = 2;    // Metal sensörü pini
const int mechanicalSensorPin = 3; // Mekanik sensör pin Motorun 1 tur attığını belirlemek için kullanılır mekanik.

const int motorPin1 = 8;         // DC Motor 1 (L298N IN1)
const int motorPin2 = 9;         // DC Motor 1 (L298N IN2)
const int enablePin1 = 10;       // DC Motor 1 (L298N Enable1)

const int conveyorPin1 = 4;      // Konveyör motoru (L298N IN3)
const int conveyorPin2 = 5;      // Konveyör motoru (L298N IN4)
const int enablePin2 = 6;        // Konveyör motoru (L298N Enable2)

// değişkenlers
bool isMetalDetected = false;
bool isOneRotationComplete = false;

void setup() {
  // Pin mods
  pinMode(metalSensorPin, INPUT);
  pinMode(mechanicalSensorPin, INPUT);
 
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(enablePin1, OUTPUT);

  pinMode(conveyorPin1, OUTPUT);
  pinMode(conveyorPin2, OUTPUT);
  pinMode(enablePin2, OUTPUT);

  // konsol
  Serial.begin(96000);
}

void loop() {
  // Metal sensörünü kontrol et
  isMetalDetected = digitalRead(metalSensorPin);

  isMetalDetected ? (Serial.println("Metal algılandı, motor çalıştırılıyor..."), rotateMotorOneTurn(), activateConveyorBelt(), isMetalDetected = false) : void();
}

void rotateMotorOneTurn() {
  isOneRotationComplete = false;

  // Motoru ileri yönde çalıştır
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  analogWrite(enablePin1, 255); // maks hızda

  // bir tur kontrol sinyali gelene kadar bekle
  while (!(isOneRotationComplete = digitalRead(mechanicalSensorPin))) {
  }

  // Motoru durdur
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  analogWrite(enablePin1, 0);

  Serial.println("Bir tam tur tamamlandı.");
}

void activateConveyorBelt() {
  Serial.println("Konveyör motoru çalıştırılıyor...");

  // Konveyör motorunu çalıştır
  digitalWrite(conveyorPin1, HIGH);
  digitalWrite(conveyorPin2, LOW);
  analogWrite(enablePin2, 255); // max hızda

  delay(3000); // 3 saniye çaışır

  // Konveyör motorunu durdur
  digitalWrite(conveyorPin1, LOW);
  digitalWrite(conveyorPin2, LOW);
  analogWrite(enablePin2, 0);

  Serial.println("Konveyör motoru durduruldu.");
}



Metal sensörü metali algıladığı zaman dc motoru 1 tur çalıştırır ve metali sıkıştırır sonra dışarı taşıma motorunu çalıştırıcak 3 saniye sonra durdurucak ekstra kontrol ettirmek isterseniz dışarı atarken orayada bir sensör atıp ürünün dışarı çıkıp çıkmadığını hesaba katmış olursunuz olası sıkışma durumlar vb.

(programı net belirtirseniz düzenleme yapabilirim)
 
arduino:
const int metalSensorPin = 2;    // Metal sensörü pini
const int mechanicalSensorPin = 3; // Mekanik sensör pin Motorun 1 tur attığını belirlemek için kullanılır mekanik.

const int motorPin1 = 8;         // DC Motor 1 (L298N IN1)
const int motorPin2 = 9;         // DC Motor 1 (L298N IN2)
const int enablePin1 = 10;       // DC Motor 1 (L298N Enable1)

const int conveyorPin1 = 4;      // Konveyör motoru (L298N IN3)
const int conveyorPin2 = 5;      // Konveyör motoru (L298N IN4)
const int enablePin2 = 6;        // Konveyör motoru (L298N Enable2)

// değişkenlers
bool isMetalDetected = false;
bool isOneRotationComplete = false;

void setup() {
  // Pin mods
  pinMode(metalSensorPin, INPUT);
  pinMode(mechanicalSensorPin, INPUT);
 
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(enablePin1, OUTPUT);

  pinMode(conveyorPin1, OUTPUT);
  pinMode(conveyorPin2, OUTPUT);
  pinMode(enablePin2, OUTPUT);

  // konsol
  Serial.begin(96000);
}

void loop() {
  // Metal sensörünü kontrol et
  isMetalDetected = digitalRead(metalSensorPin);

  isMetalDetected ? (Serial.println("Metal algılandı, motor çalıştırılıyor..."), rotateMotorOneTurn(), activateConveyorBelt(), isMetalDetected = false) : void();
}

void rotateMotorOneTurn() {
  isOneRotationComplete = false;

  // Motoru ileri yönde çalıştır
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  analogWrite(enablePin1, 255); // maks hızda

  // bir tur kontrol sinyali gelene kadar bekle
  while (!(isOneRotationComplete = digitalRead(mechanicalSensorPin))) {
  }

  // Motoru durdur
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  analogWrite(enablePin1, 0);

  Serial.println("Bir tam tur tamamlandı.");
}

void activateConveyorBelt() {
  Serial.println("Konveyör motoru çalıştırılıyor...");

  // Konveyör motorunu çalıştır
  digitalWrite(conveyorPin1, HIGH);
  digitalWrite(conveyorPin2, LOW);
  analogWrite(enablePin2, 255); // max hızda

  delay(3000); // 3 saniye çaışır

  // Konveyör motorunu durdur
  digitalWrite(conveyorPin1, LOW);
  digitalWrite(conveyorPin2, LOW);
  analogWrite(enablePin2, 0);

  Serial.println("Konveyör motoru durduruldu.");
}



Metal sensörü metali algıladığı zaman dc motoru 1 tur çalıştırır ve metali sıkıştırır sonra dışarı taşıma motorunu çalıştırıcak 3 saniye sonra durdurucak ekstra kontrol ettirmek isterseniz dışarı atarken orayada bir sensör atıp ürünün dışarı çıkıp çıkmadığını hesaba katmış olursunuz olası sıkışma durumlar vb.

(programı net belirtirseniz düzenleme yapabilirim)
Hocam elinize kolunuza sağlık. Hakkınızı helal edin. Söylediğim gibi bu konuda çok yeni olduğum için tam olarak kestiremiyorum. Acaba hangi parçalara ihtiyacım olacak. Bu konuda da yardımcı olabilir misiniz ?
 
Hocam elinize kolunuza sağlık. Hakkınızı helal edin. Söylediğim gibi bu konuda çok yeni olduğum için tam olarak kestiremiyorum. Acaba hangi parçalara ihtiyacım olacak. Bu konuda da yardımcı olabilir misiniz ?
Hocam çok fazla bir bilgim yok elektronik konusunda. Fakat dediğim gibi siz daha ne yapabilirseniz burda yapabiliceğiniz bir sınırı bulunmamakta.
En az 3 sensör kullandım ben: 1: Metal sensörü 2: Mesafe veya lazer sensör ( 1 turu doğrulamak için ) 3: metal sensörü ( çıkış doğrulaması)
l298n.
Konveyör bant.
Sıkıştırma motoru ( ne kullanırsınız araştırın bilgim yok malesef ). yani benden bukadar
Arduino uno


kodlar bağlantıya göre değişebilir veya koda göre bağlantı yapabilirsiniz.
 
arduino:
const int metalSensorPin = 2;    // Metal sensörü pini
const int mechanicalSensorPin = 3; // Mekanik sensör pin Motorun 1 tur attığını belirlemek için kullanılır mekanik.

const int motorPin1 = 8;         // DC Motor 1 (L298N IN1)
const int motorPin2 = 9;         // DC Motor 1 (L298N IN2)
const int enablePin1 = 10;       // DC Motor 1 (L298N Enable1)

const int conveyorPin1 = 4;      // Konveyör motoru (L298N IN3)
const int conveyorPin2 = 5;      // Konveyör motoru (L298N IN4)
const int enablePin2 = 6;        // Konveyör motoru (L298N Enable2)

// değişkenlers
bool isMetalDetected = false;
bool isOneRotationComplete = false;

void setup() {
  // Pin mods
  pinMode(metalSensorPin, INPUT);
  pinMode(mechanicalSensorPin, INPUT);
 
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(enablePin1, OUTPUT);

  pinMode(conveyorPin1, OUTPUT);
  pinMode(conveyorPin2, OUTPUT);
  pinMode(enablePin2, OUTPUT);

  // konsol
  Serial.begin(96000);
}

void loop() {
  // Metal sensörünü kontrol et
  isMetalDetected = digitalRead(metalSensorPin);

  isMetalDetected ? (Serial.println("Metal algılandı, motor çalıştırılıyor..."), rotateMotorOneTurn(), activateConveyorBelt(), isMetalDetected = false) : void();
}

void rotateMotorOneTurn() {
  isOneRotationComplete = false;

  // Motoru ileri yönde çalıştır
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  analogWrite(enablePin1, 255); // maks hızda

  // bir tur kontrol sinyali gelene kadar bekle
  while (!(isOneRotationComplete = digitalRead(mechanicalSensorPin))) {
  }

  // Motoru durdur
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  analogWrite(enablePin1, 0);

  Serial.println("Bir tam tur tamamlandı.");
}

void activateConveyorBelt() {
  Serial.println("Konveyör motoru çalıştırılıyor...");

  // Konveyör motorunu çalıştır
  digitalWrite(conveyorPin1, HIGH);
  digitalWrite(conveyorPin2, LOW);
  analogWrite(enablePin2, 255); // max hızda

  delay(3000); // 3 saniye çaışır

  // Konveyör motorunu durdur
  digitalWrite(conveyorPin1, LOW);
  digitalWrite(conveyorPin2, LOW);
  analogWrite(enablePin2, 0);

  Serial.println("Konveyör motoru durduruldu.");
}



Metal sensörü metali algıladığı zaman dc motoru 1 tur çalıştırır ve metali sıkıştırır sonra dışarı taşıma motorunu çalıştırıcak 3 saniye sonra durdurucak ekstra kontrol ettirmek isterseniz dışarı atarken orayada bir sensör atıp ürünün dışarı çıkıp çıkmadığını hesaba katmış olursunuz olası sıkışma durumlar vb.

(programı net belirtirseniz düzenleme yapabilirim)
Merhabalar. Serial.begin(96000) yazılmış. 9600 olması gerekmiyor mu? Bir yanlışlık var galiba
 

Forum istatistikleri

Konular
7,148
Mesajlar
121,500
Üyeler
2,893
Son üye
_AlfaTan_

Son kaynaklar

Son profil mesajları

az bilgili çok meraklı
Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Back
Top