Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
/********* Pleasedontcode.com ********** Pleasedontcode thanks you for automatic code generation! Enjoy your code! - Terms and Conditions: You have a non-exclusive, revocable, worldwide, royalty-free license for personal and commercial use. Attribution is optional; modifications are allowed, but you're responsible for code maintenance. We're not liable for any loss or damage. For full terms, please visit pleasedontcode.com/termsandconditions. - Project: **Color Sensor** - Source Code NOT compiled for: Arduino Uno - Source Code created on: 2025-02-25 15:32:04 ********* Pleasedontcode.com **********/ /****** SYSTEM REQUIREMENTS *****/ /****** SYSTEM REQUIREMENT 1 *****/ /* It should write the name of the red, yellow or */ /* black colors detected by my color sensor on the */ /* screen, but in Turkish. */ /****** END SYSTEM REQUIREMENTS *****/ /* START CODE */ /****** DEFINITION OF LIBRARIES *****/ #include
// Core graphics library #include
// Hardware-specific library for ST7735 #include
#include
// INT_MAX için gerekli kütüphane /****** FUNCTION PROTOTYPES *****/ void setup(void); void loop(void); int readColor(int color); void learnColors(); void waitForEnter(); const char* recognizeColor(int red, int green, int blue); /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/ #define TFT_CS 10 #define TFT_DC 9 #define TFT_RST 8 #define S0 2 #define S1 3 #define S2 4 #define S3 5 #define OUT 6 Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); // Renk yapısı struct Color { int red; int green; int blue; const char* name; }; // Ezberlenen renkler Color learnedColors[3]; // Kırmızı, Sarı, Siyah için 3 renk int learnedColorCount = 0; void setup(void) { // put your setup code here, to run once: Serial.begin(9600); // Seri iletişimi başlat tft.initR(INITR_BLACKTAB); // ST7735S chip, black tab tft.fillScreen(ST7735_BLACK); tft.setTextColor(ST7735_WHITE); tft.setTextSize(1); // TCS3200 pinlerini ayarla pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT); pinMode(OUT, INPUT); // TCS3200 frekans ölçekleme ayarı (20% frekans ölçekleme) digitalWrite(S0, HIGH); digitalWrite(S1, LOW); // Renkleri öğren learnColors(); } void loop(void) { // Renkleri oku int red = readColor(2); // Kırmızı renk int green = readColor(1); // Yeşil renk int blue = readColor(0); // Mavi renk // Renk ismini belirle const char* colorName = recognizeColor(red, green, blue); // Renk değerlerini ve ismini Serial Monitor'e yazdır Serial.print("Red: "); Serial.print(red); Serial.print(" | Green: "); Serial.print(green); Serial.print(" | Blue: "); Serial.print(blue); Serial.print(" | Renk: "); Serial.println(colorName); // Renk ismini TFT ekranda göster tft.fillScreen(ST7735_BLACK); tft.setCursor(10, 10); tft.print("Renk: "); tft.println(colorName); delay(1000); // 1 saniye bekle } int readColor(int color) { // Renk filtrelerini ayarla digitalWrite(S2, (color >> 1) & 0x01); // Bit manipülasyonu digitalWrite(S3, color & 0x01); // Frekans ölçümü delay(50); // Kararlılık için bekle return pulseIn(OUT, LOW); // LOW pals süresi } void learnColors() { Serial.println("Renk ogrenme modu..."); // Kırmızı rengi öğren Serial.println("Kirmizi renge tutun ve ENTER tusuna basin..."); waitForEnter(); learnedColors[0] = {readColor(2), readColor(1), readColor(0), "Kırmızı"}; // Struct initialization fixed learnedColorCount++; Serial.println("Kirmizi renk ogrenildi!"); // Sarı rengi öğren Serial.println("Sari renge tutun ve ENTER tusuna basin..."); waitForEnter(); learnedColors[1] = {readColor(2), readColor(1), readColor(0), "Sarı"}; // Struct initialization fixed learnedColorCount++; Serial.println("Sari renk ogrenildi!"); // Siyah rengi öğren Serial.println("Siyah renge tutun ve ENTER tusuna basin..."); waitForEnter(); learnedColors[2] = {readColor(2), readColor(1), readColor(0), "Siyah"}; // Struct initialization fixed learnedColorCount++; Serial.println("Siyah renk ogrenildi!"); Serial.println("Renk ogrenme tamamlandi!"); } void waitForEnter() { while (true) { if (Serial.available() > 0) { char input = Serial.read(); if (input == '\n' || input == '\r') { // Enter tuşu algılandı break; } } } } const char* recognizeColor(int red, int green, int blue) { // Öğrenilen renkler arasında en yakın olanı bul int minDistance = INT_MAX; // INT_MAX artık tanımlı const char* closestColor = "Bilinmeyen"; for (int i = 0; i < learnedColorCount; i++) { int distance = abs(red - learnedColors[i].red) + abs(green - learnedColors[i].green) + abs(blue - learnedColors[i].blue); if (distance < minDistance) { minDistance = distance; closestColor = learnedColors[i].name; } } return closestColor; } /* END CODE */
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)