Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Geschichte
- Schritt 2: Theorie und Methodik
- Schritt 3: Hardware-Setup
- Schritt 4: Software-Setup
- Schritt 5: Arduino-Code des Farbsensors
Video: Einfacher DIY-Farbsensor von Magicbit - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
In diesem Tutorial erfahren Sie, wie Sie mit Magicbit mit Arduino einen einfachen Farbsensor erstellen.
Lieferungen
- Magicbit
- USB-A-zu-Micro-USB-Kabel
Schritt 1: Geschichte
Hallo Leute, manchmal muss man für einige Zwecke Farbsensoren verwenden. Aber vielleicht wissen Sie nicht, wie sie funktionieren. In diesem Tutorial erfahren Sie, wie Sie mit Magicbit mit Arduino einen einfachen DIY-Farbsensor erstellen. Lass uns anfangen.
Schritt 2: Theorie und Methodik
In diesem Projekt erwarten wir, dass Sie einen Farbsensor bauen, der rote, grüne und blaue Farben erkennen kann. Dies ist ein sehr einfaches Beispiel. Also wie geht das. Zu diesem Zweck verwenden wir das RGB-Modul des Magicbit und den eingebauten LDR. Zuerst muss man sich etwas Theorie aneignen. Das ist ungefähr der Lichtreflexionsbetrag. Jetzt stelle ich Ihnen eine Frage. Welche farbigen Oberflächen reflektieren rotes Licht am meisten? Welche Oberflächen reflektieren hauptsächlich grünes und blaues Licht? Denk ein bisschen nach. Aber die Antwort ist einfach. Die rot gefärbte Oberfläche reflektiert hauptsächlich rotes Farblicht. Auch grüne und blaue Oberflächen reflektieren grünes und blaues Licht. In diesem Projekt verwenden wir diese Theorie. Um Farben zu erkennen, strahlen wir nacheinander rotes, grünes und blaues Licht aus. Zu jeder Zeit messen wir die Reflexionsmenge mithilfe des LDR-Werts. Wenn ein Licht die meiste Reflexion ergibt als die anderen beiden Lichter, sollte diese Oberfläche hauptsächlich eine reflektierte farbige Oberfläche sein.
Schritt 3: Hardware-Setup
Dies ganz einfach. Stecken Sie Ihr RGB-Modul in den oberen rechten Port von Magicbit. Dieses Modul verfügt über eine WS2812B Neopixel-LED. Diese LED hat 4 Pins. Zwei für Strom und zwei für Daten ein und aus. Da wir eine LED verwenden, benötigen wir nur Power-Pins und Daten-in-Pin. Wenn Sie dieses Modul nicht haben, können Sie ein Neopixel-Modul kaufen. Wenn Sie ein solches Modul gekauft haben, müssen Sie Power-Pins und Data-In-Pins mit Magicbit verbinden. Das ist ganz einfach. Verbinden Sie VCC und GND des Magicbit mit den Power-Pins des RGB-Moduls und den D33-Pin mit dem Daten-Pin.
Schritt 4: Software-Setup
Der größte Teil wird durch die Programmierung erledigt. Wir verwenden Arduino IDE, um unser Magicbit zu programmieren. Im Code verwenden wir einige Bibliotheken. Sie sind die Adafruit Neopixel-Bibliothek für die Steuerung von Neopixel-LED und die Adafruit OLED-Bibliothek für die Handhabung von OLED. Im Setup konfigurieren wir unsere Ein- und Ausgänge. Konfigurieren Sie auch das eingebaute OLED-Display von Magicbit. In der Schleife prüfen wir, ob der linke Druckknopf des Magicbit gedrückt ist oder nicht. Wenn es gedrückt wird, ist das Eingangssignal 0. Weil es bereits von der Platine hochgezogen wird. Wenn es gedrückt wurde, führen wir eine Farbprüfung durch. Wenn nicht, zeigt der Bildschirm die Aussage "keine Farbe" an. Wenn die Taste gedrückt wird, schalten Sie automatisch rotes, grünes und blaues Licht nacheinander ein und speichern Sie die Reflexionsmenge der Farben in drei Variablen. Als nächstes haben wir diese Werte verglichen und die Maximalwertfarbe ausgewählt, die als Ausgabefarbe angezeigt werden soll.
Schließen Sie also das Micro-USB-Kabel an Magicbit an und wählen Sie den Boardtyp und die COM-Ports richtig aus. Laden Sie nun den Code hoch. Dann ist es Zeit, unseren Sensor zu testen. Um dies zu testen, halten Sie das rot, grün oder blau beschichtete Papier oder die Blattoberseite auf dem LDR- und RGB-Modul und drücken Sie den linken Druckknopf. Dann zeigt das OLED-Display die Farbe der Oberfläche an. Wenn das falsch ist, ist der Grund dafür, dass einige Farben eine hohe Lichtintensität haben. Als Beispiel ist in jeder grünen Fläche die Ausgabe rot, dann müssen Sie die Helligkeit des Rotlichts um einen gewissen Betrag reduzieren. Denn das rote Licht hat in diesem Fall eine sehr hohe Helligkeit. Es hat also eine hohe Reflexion. Wenn Sie nicht wissen, wie Sie die Helligkeit steuern, lesen Sie das Tutorial im folgenden Link.
magicbit-arduino.readthedocs.io/en/latest/
In diesem Link erfahren Sie, wie Sie dieses RGB-Modul von Magicbit steuern. Außerdem erfahren Sie, wie Sie mit Magicbit mit LDR und Push-Button arbeiten. Lesen Sie dieses Dokument und lernen Sie, wie Sie den Farbsensor verbessern können. Denn dies ist ein sehr einfaches Beispiel für die Funktionsweise von Farbsensoren. Die meisten Arten von Farbsensoren arbeiten auf diese Weise. Versuchen Sie also, dies zu verbessern, indem Sie das Umgebungslichtrauschen und andere Geräusche entfernen.
Schritt 5: Arduino-Code des Farbsensors
#enthalten
#define LED_PIN 33
#define LED_COUNT 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #include #include #include #define OLED_RESET 4 Adafruit_SSD1306-Anzeige (128, 64); #define LDR 36 #define Button 35 int R_value, G_value, B_value; Void setup () { LED.begin (); LED.show(); pinMode (LDR, EINGANG); pinMode (Taste, EINGANG); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.display(); Verzögerung (1000); display.clearDisplay(); Serial.begin (9600); aufrechtzuerhalten. Void Schleife () { if (digitalRead (Button) = = 0) {// wenn die Taste gedrückt wird LED.setPixelColor (0, LED. Color (0, 50, 0)); // auf roter Farbe LED.show (); Verzögerung (100); R_value=analogRead (LDR); // rote Mount LED.setPixelColor (0, LED. Color (150, 0, 0)) abrufen); // auf grüne Farbe LED.show (); Verzögerung (100); G_value=analogRead (LDR); // Grüne Halterung abrufen LED.setPixelColor (0, LED. Color (0, 0, 255)); // auf blauer Farbe LED.show (); Verzögerung (100); B_value=analogRead(LDR); // blaues Mount erhalten, wenn (R_value>G_value && R_value>B_value){//rot wird am stärksten reflektiert Display("RED", 3); } else if (G_value>R_value && G_value>B_value){//grün wird am stärksten reflektiert Display("GREEN", 3); } else if (B_value>R_value && B_value>G_value){//blau wird am stärksten reflektiert Display("BLUE", 3); } Serial.print ("RED="); Serial.print (R_value); Serial.print (" GRÜN = "); Serial.print (G_value); Serial.print (" BLAU = "); Serial.println (B_Wert); aufrechtzuerhalten. Sonst { LED.setPixelColor (0, LED. Color (0, 0, 0)); // aus RGB LED.show (); Anzeige("KEINE FARBE", 2); } } void Display (String commond, int size) {// Daten anzeigen display.clearDisplay(); display.setTextSize(Größe); // Normale 1:1 Pixelskala display.setTextColor(WHITE); // Weißen Text zeichnen display.setCursor (0, 20); // Beginne in der oberen linken Ecke display.println(commond); display.display(); }
Empfohlen:
Einfacher LED-Farbwechsel "Kerze": 5 Schritte (mit Bildern)
Einfacher LED-Farbwechsel "Kerze": Dies ist ein einfaches Farbwechsellicht, das sich hervorragend für Kinder und Erwachsene eignet. Sieht in einem schwach beleuchteten Raum wunderschön aus, ideal für die Feiertage und macht ein ziemlich cooles Nachtlicht
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": 8 Schritte
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Eine für Menschen lesbare Zusammenfassung dieser Lizenz findet sich hier.Was ist Gandalf?Gandalf ist eine Stand-A
EINFACHER CARBOT -- ARDUINO -- BLUETOOTH-STEUERUNG -- TUTORIAL: 10 Schritte (mit Bildern)
EINFACHER CARBOT || ARDUINO || BLUETOOTH-STEUERUNG || TUTORIAL: IN DIESEM ANLEITUNG ZEIGE ICH, WIE MAN EINEN EINFACHEN BOT HERSTELLT, DER VON IHREM SMARTPHONE ÜBER BLUETOOTHPARTS GEBAUT WIRD:☻ARDUINO☻2X GETRIEBEMOTOREN☻HC-05 BLUETOOTH MODUL☻LAPTOP ODER PC ICH HABE EINE POWER BANK VERWENDET
Günstiger und einfacher Batteriehalter Version 1: 7 Schritte
Günstiger und einfacher Batteriehalter Version 1: Batteriehalter halten natürlich Batterien und sind SEHR nützlich in elektronischen Projekten, insbesondere bei solchen, die Batterien benötigen. Dies ist der einfachste Batteriehalter, den ich mir vorstellen kann. Das Beste ist, dass es billig ist und Haushaltsgegenstände verwendet werden, die
Günstiger und einfacher Batteriehalter Version 2: 6 Schritte
Günstiger und einfacher Batteriehalter Version 2: Dies ist die zweite Version meines Batteriehalters. Dieser Halter ist für diejenigen, die eine schöne enge Passform mögen. Tatsächlich ist es so eng, dass Sie etwas brauchen, um die leere Batterie herauszuhebeln. Das heißt, wenn Sie es zu klein messen und nicht genug Platz für den Schläger lassen