Enkla Arduino LED-färg Sensor för nybörjare
Det finns ett par olika typer av färg sensorer.
Den som används i detta instructable är en "reflekterande" färgsensor som har rött ljus källa grönt ljus källa en blå ljuskälla (en R, G, B LED skulle fungera) och en ljussensor. Hur den fungerar är först rött ljuskälla är påslagen och värdet av ljussensorn registreras. då rött ljus källan stängs av detta händer för de gröna och blå ljus källorna också.
R, G, B värde jämförs sedan fint för att komma ut med färgen på objektet men varför gör den det? eftersom när rött ljus skiner på en röd objekt det reflekterar mer ljus sedan när gröna är blå ljus skiner på den. så när ett gröna objekt hålls över sensorn det gröna värde som registrerats är högre är röda blå värden.
Den andra typen av färgsensor är en "brytningsfel" färgsensor som det fungerar på samma koncept som en ovan förutom att det är motsatsen. den har tre ljussensorer med färgfilter röd, grön, blå och en vit ljuskälla. hur den fungerar är det vänder på den vita ljuskällan och jämför värdet för ljussensorer om röda värdet är högre då de gröna och blå värdena då färgen är röd.
Koden jag använde i detta instructable ser tills det ser en grön objekt så visar sig på ett LED. Hur detta sker är jag ta röda, gröna, blå värden delar dem med tio (för att göra dem lättare att hantera). då jag lägger ett färgat objekt (i detta fall är det en grön objekt) och då använder jag den variabla värde1, värde2, val3 (det finns tre variabel för röd, grön, blå) att lägga till och dra ifrån från röd, grön, blå värden att göra dem alla på samma värde när det gäller detta instructable värdet är femton.
röd = (sensorValue / 10) + värde1;
då har jag en "om uttrycket" som jämför värden med en liten bit av "space" runt värdet i det här fallet två på varje sida. så om värdena är runt femton visar det på en LED, annars visar det led.
om (blå > 13 och blå < 17 och grön > 13 och grön < 17 och röda > 13 och röda < 17) < br > digitalWrite (led4, hög);
Delay(1000);
}
annat {
digitalWrite (led4, låg);
}
Så nu på att bygga!