Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Proyek Penyortir Warna Arduino

Dalam artikel ini saya akan menunjukkan kepada Anda bagaimana Anda dapat membuat Penyortir Warna Arduino. Anda dapat menonton video berikut atau membaca artikel tertulis di bawah ini.

Desain

Yang kita butuhkan untuk proyek Arduino ini adalah satu sensor warna (TCS3200) dan dua motor servo penghobi, yang membuat proyek ini cukup sederhana namun sangat menyenangkan untuk membuatnya. Pertama-tama, menggunakan software pemodelan 3D Solidworks saya membuat desain penyortir warna dan ini prinsip kerjanya:

  • Awalnya, skittles berwarna yang disimpan di pengisi daya jatuh ke platform yang terpasang di motor servo atas.
  • Kemudian motor servo berputar dan membawa skittle ke sensor warna yang mendeteksi warnanya.
  • Setelah itu motor servo bawah berputar ke posisi tertentu dan kemudian motor servo atas berputar lagi hingga skittle jatuh ke rel pemandu.

Di sini Anda dapat mendownload model 3D, serta gambar dengan semua dimensi yang diperlukan untuk membangun proyek Arduino ini.

Anda dapat menemukan dan mengunduh model 3D ini, serta menjelajahinya di browser Anda di Thangs.

Unduh model perakitan 3D di Thans.

Gambar berikut dapat digunakan untuk laser cutting semua bagian casing:

Membangun Penyortir Warna Arduino

Bahan yang saya gunakan untuk proyek ini adalah papan serat tick 3 mm. Saya menggambar ulang bagian-bagian di papan serat sesuai dengan gambar dan menggunakan gergaji tangan kecil untuk memotong semua bagian sesuai ukuran.

Setelah semua bagian siap, saya mulai merakitnya. Pertama saya merakit bagian luarnya menggunakan lem.

Kemudian menggunakan lem serbaguna, saya merekatkan kedua motor servo pada platformnya dan menempelkannya ke rakitan.

Setelah itu lagi dengan menggunakan lem saya pasang guide rail pada motor servo bawah serta penyangga dan platform yang dibutuhkan untuk motor servo atas.

Selanjutnya, saya memasukkan sakelar dan colokan listrik untuk menyalakan Arduino dengan adaptor 5V dan pada platform ketiga saya memasukkan sensor warna.

Saya menghubungkan komponen bersama sesuai dengan skema rangkaian berikut.

Anda bisa mendapatkan komponen yang diperlukan untuk Proyek Arduino ini dari link di bawah:

  • Sensor Warna TCS230 TCS3200…….
  • Arduino Nano …………………………….
  • Breadboard dan Kabel Lompat ……… 
  • Motor Servo ……………………………….
  • Beralih………………………………………………..
  • Jaket Listrik…………………………….……

Kode Sumber Penyortir Warna Arduino

Pada titik ini, pertama-tama kita perlu memprogram Arduino dan kemudian menyelesaikan perakitan. Berikut Kode Arduino:

/*     Arduino Project - Color Sorting Machine
 *
 *  by Dejan Nedelkovski, www.HowToMechatronics.com
 *
 */
#include <Servo.h>

#define S0 2
#define S1 3
#define S2 4
#define S3 5
#define sensorOut 6

Servo topServo;
Servo bottomServo;

int frequency = 0;
int color=0;

void setup() {
  pinMode(S0, OUTPUT);
  pinMode(S1, OUTPUT);
  pinMode(S2, OUTPUT);
  pinMode(S3, OUTPUT);
  pinMode(sensorOut, INPUT);

  // Setting frequency-scaling to 20%
  digitalWrite(S0, HIGH);
  digitalWrite(S1, LOW);

  topServo.attach(7);
  bottomServo.attach(8);

  Serial.begin(9600);
}

void loop() {

  topServo.write(115);
  delay(500);
  
  for(int i = 115; i > 65; i--) {
    topServo.write(i);
    delay(2);
  }
  delay(500);
  
  color = readColor();
  delay(10);  

  switch (color) {
    case 1:
    bottomServo.write(50);
    break;

    case 2:
    bottomServo.write(75);
    break;

    case 3:
    bottomServo.write(100);
    break;

    case 4:
    bottomServo.write(125);
    break;

    case 5:
    bottomServo.write(150);
    break;

    case 6:
    bottomServo.write(175);
    break;
    
    case 0:
    break;
  }
  delay(300);
  
  for(int i = 65; i > 29; i--) {
    topServo.write(i);
    delay(2);
  } 
  delay(200);
  
  for(int i = 29; i < 115; i++) {
    topServo.write(i);
    delay(2);
  }
  color=0;
}

// Custom Function - readColor()
int readColor() {
  // Setting red filtered photodiodes to be read
  digitalWrite(S2, LOW);
  digitalWrite(S3, LOW);
  // Reading the output frequency
  frequency = pulseIn(sensorOut, LOW);
  int R = frequency;
  // Printing the value on the serial monitor
  Serial.print("R= ");//printing name
  Serial.print(frequency);//printing RED color frequency
  Serial.print("  ");
  delay(50);

  // Setting Green filtered photodiodes to be read
  digitalWrite(S2, HIGH);
  digitalWrite(S3, HIGH);
  // Reading the output frequency
  frequency = pulseIn(sensorOut, LOW);
  int G = frequency;
  // Printing the value on the serial monitor
  Serial.print("G= ");//printing name
  Serial.print(frequency);//printing RED color frequency
  Serial.print("  ");
  delay(50);

  // Setting Blue filtered photodiodes to be read
  digitalWrite(S2, LOW);
  digitalWrite(S3, HIGH);
  // Reading the output frequency
  frequency = pulseIn(sensorOut, LOW);
  int B = frequency;
  // Printing the value on the serial monitor
  Serial.print("B= ");//printing name
  Serial.print(frequency);//printing RED color frequency
  Serial.println("  ");
  delay(50);

  if(R<45 & R>32 & G<65 & G>55){
    color = 1; // Red
  }
  if(G<55 & G>43 & B<47 &B>35){
    color = 2; // Orange
  }
  if(R<53 & R>40 & G<53 & G>40){
    color = 3; // Green
  }
  if(R<38 & R>24 & G<44 & G>30){
    color = 4; // Yellow
  }
  if(R<56 & R>46 & G<65 & G>55){
    color = 5; // Brown
  }
  if (G<58 & G>45 & B<40 &B>26){
    color = 6; // Blue
  }
  return color;  
}Code language: Arduino (arduino)

Deskripsi kode:

Jadi, kita perlu menyertakan perpustakaan "Servo.h", menentukan pin yang akan dihubungkan dengan sensor warna, membuat objek servo dan mendeklarasikan beberapa variabel yang diperlukan untuk program. Di bagian penyiapan, kita perlu mendefinisikan pin sebagai Output dan Input, mengatur penskalaan frekuensi untuk sensor warna, menentukan pin servo, dan memulai komunikasi serial untuk mencetak hasil pembacaan warna pada monitor serial.

Di bagian loop, program kami dimulai dengan menggerakkan motor servo atas ke posisi pengisi daya skittle. Perhatikan bahwa nilai 115 ini sesuai dengan suku cadang saya dan motor servo saya, jadi Anda harus menyesuaikan nilai ini serta nilai berikut untuk motor servo sesuai dengan bangunan Anda.

Selanjutnya dengan menggunakan loop “for” kita akan memutar dan membawa skittle ke posisi sensor warna. Kami menggunakan loop "untuk" sehingga kami dapat mengontrol kecepatan rotasi dengan mengubah waktu tunda dalam loop.

Selanjutnya, setelah penundaan setengah detik, menggunakan fungsi yang dibuat khusus, readColor() kita akan membaca warna skittle. Berikut kode fungsi kustom. Menggunakan empat pin kontrol dan pin keluaran frekuensi dari sensor warna, kami membaca warna skittle. Sensor membaca 3 nilai berbeda untuk setiap skittle, Merah, Hijau dan Biru dan menurut nilai-nilai ini kami memberi tahu apa warna sebenarnya. Untuk detail lebih lanjut tentang cara kerja sensor warna TCS3200, Anda dapat memeriksa tutorial terperinci saya sebelumnya tentang hal itu.

Berikut adalah nilai RGB yang saya dapatkan dari sensor untuk setiap skittle. Perhatikan bahwa nilai ini dapat bervariasi karena sensor tidak selalu akurat. Oleh karena itu, dengan menggunakan pernyataan "jika" ini, kami mengizinkan sensor kesalahan sekitar +-5 dari nilai yang diuji untuk warna tertentu. Jadi misalnya jika kita memiliki skittle Merah, pernyataan "jika" pertama akan benar dan variabel "warna" akan mendapatkan nilai 1. Jadi itulah yang dilakukan fungsi kustom readColor() dan setelah itu menggunakan "switch-case Pernyataan kami memutar servo bawah ke posisi tertentu. Pada akhirnya kami lebih lanjut memutar motor servo atas sampai skittle turun ke rel pemandu dan mengirimkannya kembali ke posisi awal sehingga proses dapat diulang.

Menyelesaikan Desain


Setelah mengupload kode, saya mengamankan Arduino Board menggunakan lem.

Kemudian menggunakan botol plastik transparan saya membuat pengisi daya dan bersama dengan bagian atas merekatkannya ke perakitan dan menyelesaikan proyek.

Jangan ragu untuk mengajukan pertanyaan apa pun di bagian komentar di bawah.


Proses manufaktur

  1. Membuat Monitor Ambilight Menggunakan Arduino
  2. Game Arduino Pong - Tampilan OLED
  3. Detektor Frekuensi Audio
  4. Klon Arduino Tamagotchi - Hewan Peliharaan Digital
  5. Manipulator Saklar Lampu Nirkabel
  6. Tech-TicTacToe
  7. Sensor Gerakan Pistol Air
  8. Penghitung Waktu Mundur Arduino
  9. Pencampur Warna RGB Arduino
  10. Bunga Matahari Arduino:Penari Matahari Elektronik