Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino-Farbsortierer-Projekt

In diesem Artikel zeige ich Ihnen, wie Sie einen Arduino-Farbsortierer erstellen können. Sie können sich das folgende Video ansehen oder den geschriebenen Artikel unten lesen.

Gestaltung

Alles, was wir für dieses Arduino-Projekt brauchen, ist ein Farbsensor (TCS3200) und zwei Bastler-Servomotoren, was dieses Projekt ziemlich einfach macht, aber dennoch sehr viel Spaß macht, es zu bauen. Zunächst habe ich mit der Solidworks 3D-Modellierungssoftware das Design des Farbsortierers erstellt und hier ist sein Funktionsprinzip:

  • Zunächst fallen die farbigen Kegel, die im Ladegerät gehalten werden, in die Plattform, die am oberen Servomotor befestigt ist.
  • Dann dreht sich der Servomotor und bringt den Kegel zum Farbsensor, der seine Farbe erkennt.
  • Danach dreht sich der untere Servomotor in die entsprechende Position und dann dreht sich der obere Servomotor erneut, bis der Kegel in die Führungsschiene fällt.

Hier können Sie das 3D-Modell sowie die Zeichnungen mit allen Abmessungen herunterladen, die zum Erstellen dieses Arduino-Projekts benötigt werden.

Sie können dieses 3D-Modell finden und herunterladen sowie es in Ihrem Browser auf Thangs erkunden.

Laden Sie das 3D-Montagemodell unter Thangs herunter.

Die folgenden Zeichnungen können zum Laserschneiden aller Teile für das Gehäuse verwendet werden:

Bauen des Arduino-Farbsortierers

Das Material, das ich für dieses Projekt verwendet habe, ist eine 3 mm Zeckenfaserplatte. Ich zeichne die Teile gemäß den Zeichnungen auf der Faserplatte nach und schneide alle Teile mit einer kleinen Handsäge auf Maß.

Nachdem ich alle Teile fertig hatte, begann ich mit dem Zusammenbau. Zuerst habe ich die äußeren Teile mit einer Klebepistole zusammengebaut.

Dann klebte ich mit Allzweckkleber die beiden Servomotoren auf ihre Plattformen und befestigte sie an der Baugruppe.

Danach befestigte ich wieder mit Klebstoff die Führungsschiene am unteren Servomotor sowie die Stütze und die Plattform, die für den oberen Servomotor benötigt werden.

Als nächstes habe ich einen Schalter und eine Strombuchse für die Stromversorgung des Arduino mit einem 5-V-Adapter eingefügt und auf der dritten Plattform habe ich den Farbsensor eingefügt.

Ich habe die Komponenten gemäß den folgenden Schaltplänen miteinander verbunden.

Die für dieses Arduino-Projekt benötigten Komponenten erhalten Sie über die folgenden Links:

  • TCS230 TCS3200 Farbsensor…….
  • Arduino-Nano …………………………….
  • Steckbrett und Schaltdrähte ……… 
  • Servomotor ……………………………….
  • Wechseln………………………………….……..
  • Netzbuchse …………………………….……

Arduino-Farbsortierer-Quellcode

An dieser Stelle müssen wir zuerst den Arduino programmieren und dann die Montage beenden. Hier ist der Arduino-Code:

/* 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; } Codesprache:Arduino (arduino)

Beschreibung des Codes:

Wir müssen also die Bibliothek „Servo.h“ einbinden, die Pins definieren, an die der Farbsensor angeschlossen wird, die Servoobjekte erstellen und einige für das Programm benötigte Variablen deklarieren. Im Setup-Bereich müssen wir die Pins als Ausgänge und Eingänge definieren, die Frequenzskalierung für den Farbsensor einstellen, die Servo-Pins definieren und die serielle Kommunikation starten, um die Ergebnisse der auf dem seriellen Monitor gelesenen Farbe zu drucken.

Im Schleifenabschnitt beginnt unser Programm damit, den oberen Servomotor an die Position des Kegelladers zu bewegen. Beachten Sie, dass dieser Wert von 115 zu meinen Teilen und meinem Servomotor passt, also sollten Sie diesen Wert sowie die folgenden Werte für die Servomotoren entsprechend Ihrer Bauweise anpassen.

Als nächstes drehen wir mit der „for“-Schleife und bringen den Kegel an die Position des Farbsensors. Wir verwenden eine „for“-Schleife, damit wir die Rotationsgeschwindigkeit steuern können, indem wir die Verzögerungszeit in der Schleife ändern.

Als nächstes lesen wir nach einer halben Sekunde Verzögerung mit der benutzerdefinierten Funktion readColor() die Farbe des Kegels. Hier ist der Code der benutzerdefinierten Funktion. Mit den vier Steuerstiften und dem Frequenzausgangsstift des Farbsensors lesen wir die Farbe des Kegels. Der Sensor liest 3 verschiedene Werte für jeden Kegel, Rot, Grün und Blau, und anhand dieser Werte sagen wir, was die tatsächliche Farbe ist. Weitere Einzelheiten zur Funktionsweise des TCS3200-Farbsensors finden Sie in meinem vorherigen ausführlichen Tutorial dazu.

Hier sind die RGB-Werte, die ich vom Sensor für jeden Kegel erhalten habe. Beachten Sie, dass diese Werte variieren können, da die Sensoren nicht immer genau sind. Daher gestatten wir dem Sensor mit diesen „Wenn“-Anweisungen einen Fehler von etwa +-5 des getesteten Werts für die jeweilige Farbe. Wenn wir also zum Beispiel einen roten Kegel haben, ist die erste „if“-Anweisung wahr und die Variable „color“ erhält den Wert 1. Das macht also die benutzerdefinierte readColor()-Funktion und danach wird ein „switch-case ”-Anweisung drehen wir das untere Servo in die jeweilige Position. Am Ende drehen wir den oberen Servomotor weiter, bis der Kegel in die Führungsschiene fällt und schicken ihn wieder zurück in die Ausgangsposition, damit der Vorgang wiederholt werden kann.

Fertigstellung des Designs


Nach dem Hochladen des Codes habe ich das Arduino Board mit einer Klebepistole befestigt.

Dann habe ich mit einer durchsichtigen Plastikflasche das Ladegerät gemacht und zusammen mit dem oberen Teil zum Zusammenbau geklebt und das Projekt beendet.

Fühlen Sie sich frei, Fragen im Kommentarbereich unten zu stellen.


Herstellungsprozess

  1. Erstellen von Monitor-Ambilight mit Arduino
  2. Arduino Pong-Spiel - OLED-Display
  3. Audiofrequenzdetektor
  4. Arduino Tamagotchi Klon - Digitales Haustier
  5. Wireless Lichtschalter-Manipulator
  6. Tech-TicTacToe
  7. Bewegungssensor-Wasserpistole
  8. Arduino-Countdown-Timer
  9. Arduino RGB-Farbmischer
  10. Arduino Sunflower:Eine elektronische Sonnentänzerin