» อิเล็กทรอนิกส์ » Arduino »จานสีพร้อมฟังก์ชั่นการสุ่ม Arduino

Arduino จานสีแบบสุ่ม


ใช้สิ่งนี้ ทำที่บ้าน คุณสามารถสร้างสีใด ๆ ในระบบ RGB ด้วยปุ่มห้าปุ่ม

1 - เพิ่มสีแดง
2 - เพิ่มสีเขียว
3 - เพิ่มสีน้ำเงิน
4 - สุ่ม (สีแบบสุ่ม)
5 - รีเซ็ต

สิ่งที่เราต้องการ:
1. Arduino (ในกรณีของฉัน arduino mega)
2. คณะกรรมการพัฒนา
3. ประเภทจัมเปอร์: พ่อแม่และพ่อ
4. LCD 1602 (2 บรรทัด 16 ตัวอักษร)
5. ปุ่ม 5 ชิ้น
6. SMD RGB LED
7. ตัวต้านทานสำหรับ 10 Kom 5 ชิ้น


ในการเริ่มต้นเราเชื่อมต่อไฟ LED RGB (หากไม่มีตัวต้านทานให้ใส่ตัวต้านทานที่ 220 โอห์ม)
ต่อไปเราใส่ปุ่ม 5 ปุ่ม: ขาหนึ่งปุ่มกับขา 5V และอีกตัวหนึ่งผ่านตัวต้านทาน 10K ไปที่พื้นและขาเดียวกับ Arduino
เราเชื่อมต่อจอ LCD 1602 กับ SDA และ SCL (I2C)
ทั้งหมดนี้เชื่อมต่อกับรายชื่อ arduino (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) ดังภาพ
ข้างหน้า
หลัง


จริง ๆ แล้วร่างเอง



#include "LiquidCrustal_I2C.h" // เชื่อมต่อไลบรารีเพื่อทำงานกับจอแสดงผลผ่าน I2C
#include "Wire.h" // เชื่อมต่อไลบรารีเพื่อทำงานกับ I2C
int R = 9;
int G = 10;
int B = 11;
// สี RGB
int BR = 0;
int BG = 0;
int BB = 0;
// ตัวแปรเพื่อบันทึกค่า
int KR = 2; // ปุ่มสีแดง
int KG = 3; // ปุ่มเป็นสีเขียว
int KB = 4; // ปุ่มสีน้ำเงิน
int C = 13; ปุ่ม // รีเซ็ต
int RS = 12; // ปุ่มสุ่ม
LiquidCrystal_I2C lcd (0x27.16.2); // เชื่อมต่อจอแสดงผล (ที่อยู่, คอลัมน์, บรรทัด)
การตั้งค่าเป็นโมฆะ () {// ทำงานครั้งเดียว
    pinMode (R, OUTPUT);
    pinMode (G, OUTPUT);
    pinMode (B, OUTPUT);
// เชื่อมต่อ RGB LED
    }
void loop () {// ทำซ้ำอย่างไม่มีที่สิ้นสุด
    ล่าช้า (10); // ล่าช้า 10 ms
        lcd.init (); // กำหนดจอแสดงผล
lcd.backlight (); // เปิดไฟหน้าจอแสดงผล
    lcd.clear (); // ล้างการแสดงผล
lcd.setCursor (5, 0); // วางเคอร์เซอร์ที่คอลัมน์ที่ 6 และแถวที่ 0
lcd.print ("Color"); // เขียนสี
lcd.setCursor (0, 1);
lcd.print ("R"); // เขียน R
lcd.setCursor (6, 1);
lcd.print ("G"); / เขียน G
lcd.setCursor (12, 1);
lcd.print ("B"); เขียน B
lcd.print (BB); // พิมพ์ค่าสีฟ้า
    lcd.setCursor (2, 1);
lcd.print (BR); // พิมพ์ค่าของสีแดง
    lcd.setCursor (8, 1);
lcd.print (BG); // พิมพ์ค่าสีเขียว
    lcd.setCursor (13, 1);
    if (digitalRead (KR) == HIGH) {BR + = 15; } // ถ้ากดปุ่ม R ดังนั้นค่าของ R +15
    ถ้า (digitalRead (KG) == สูง) {BG + = 15; } // ถ้ากดปุ่ม G ดังนั้นค่าของ G +15
    if (digitalRead (KB) == HIGH) {BB + = 15; } // ถ้ากดปุ่ม B ดังนั้นค่า B +15
     if (digitalRead (C) == HIGH) {BR - = 254; } // ถ้ากดปุ่ม C ดังนั้นค่าของ R -254
    if (digitalRead (C) == HIGH) {BG - = 254; } // ถ้ากดปุ่ม C ดังนั้นค่าของ G -254
    if (digitalRead (C) == HIGH) {BB - = 254; } // ถ้ากดปุ่ม C ดังนั้นค่า B -254
    ถ้า (digitalRead (RS) == สูง) {BR = สุ่ม (0, 254); } // ถ้ากดปุ่ม RS แล้วค่าของ R คือจาก 0 ถึง 254
     ถ้า (digitalRead (RS) == สูง) {BG = สุ่ม (0, 254); } // ถ้ากดปุ่ม RS แล้วค่าของ G คือจาก 0 ถึง 254
     ถ้า (digitalRead (RS) == สูง) {BB = สุ่ม (0, 254); } // ถ้ากดปุ่ม RS แล้วค่าของ B คือตั้งแต่ 0 ถึง 254
    
  BR = ข้อ จำกัด (BR, 0, 254); // BR = (ค่าจาก, ถึง)
    analogWrite (R, BR); // โดยใช้การปรับ PWM เราปรับความสว่างจาก 0 ถึง 254
      

  BG = ข้อ จำกัด (BG, 0, 254); // BG = (ค่าจาก, ถึง)
    analogWrite (G, BG); // โดยใช้การปรับ PWM เราปรับความสว่างจาก 0 ถึง 254
     
    
  BB = ข้อ จำกัด (BB, 0, 254); // BB = (ค่า, จาก, ถึง)
    analogWrite (B, BB); // โดยใช้การปรับ PWM เราปรับความสว่างจาก 0 ถึง 254
     
    }


ดาวน์โหลดภาพร่าง: sketch_feb07a2_ino.zip [587 b] (ดาวน์โหลด: 71)

นั่นคือสิ่งที่ควรจะเป็น!




เขียนความคิดเห็นที่ไม่ชัดเจนว่าฉันจะตอบคำถามทุกข้อ
สัมภาษณ์
ผู้ลงคะแนนทั้งหมด: 15
10
5
5

เพิ่มความคิดเห็น

    • รอยยิ้มรอยยิ้มxaxaตกลงdontknowyahooNea
      นายรอยขีดข่วนคนโง่ใช่ใช่ใช่ก้าวร้าวลับ
      ขอโทษเต้นdance2dance3ให้อภัยช่วยเหลือเครื่องดื่ม
      หยุดเพื่อนดีgoodgoodนกหวีดหน้ามืดตามัวลิ้น
      ควันการตบมือเครย์ประกาศเป็นขี้ปากดอน t_mentionดาวน์โหลด
      ความร้อนโมโหlaugh1ภาคตะวันออกเฉียงเหนือประชุมmoskingเชิงลบ
      not_iข้าวโพดคั่วลงโทษอ่านทำให้ตกใจกลัวค้นหา
      ยั่วยุthank_youนี้to_clueumnikรุนแรงเห็นด้วย
      ไม่ดีbeeeblack_eyeblum3หน้าแดงโม้ความเบื่อ
      เซ็นเซอร์การหยอกล้อsecret2ขู่ชัยชนะYusun_bespectacled
      shokrespektฮ่า ๆprevedยินดีต้อนรับkrutoyya_za
      ya_dobryiผู้ช่วยne_huliganne_othodiFLUDห้ามใกล้
3 แสดงความคิดเห็น
โอเคโอเค
ผู้เขียน
จานสีนี้จำเป็นสำหรับการเลือกเฉดสีเฉพาะสำหรับโครงการที่มีแสงสว่าง
มันคืออะไรและเพื่ออะไร

เราแนะนำให้คุณอ่าน:

มอบให้กับสมาร์ทโฟน ...