Isi kandungan:
Gunakan potensiometer untuk menunjukkan tatal melalui spektrum yang kelihatan
Bekalan:
Langkah 1: Bahagian
Arduino uno
Kabel panjang jumper biru 1x
Kabel panjang jumper merah 1x
Kabel jumper hitam 2x pendek
1x setiap kabel jumper RGB
Warna Tri yang dipimpin
Potentiometer
Semua boleh didapati dalam kit sidekick
Langkah 2: Skema
Kawat seperti ditunjukkan dalam gambar. jika diketuai mempunyai katod biasa dan bukan anod bersambung ke tanah, bukan 5v.
Langkah 3: Kod
Salin dan tampal. Jika katod biasa sebagai nilai RGB kepada 0 dan bukannya tolak.
int rPin = 11;
int gPin = 10; int bPin = 9; float rPinBrightness; float gPinBrightness; float bPinBrightness; nilai terapung; float mval; terapung Merah; terapung Hijau; terapung biru; faktor terapung; void setup () {// put your setup code here, to run once:
}
kekosongan warna () {mval = analogRead (A1); nilai = peta (mval, 0, 1023, 380, 650);
jika ((nilai> = 380) && (nilai <440)) {Merah = - (nilai - 440) / (440 - 380); Hijau = 0,0; Biru = 1.0; } else if ((value> = 440) && (value <490)) {Red = 0.0; Hijau = (nilai - 440) / (490 - 440); Biru = 1.0; } else if ((value> = 490) && (value <510)) {Red = 0.0; Hijau = 1.0; Biru = - (nilai - 510) / (510 - 490); } else if ((value> = 510) && (value <580)) {Red = (value - 510) / (580 - 510); Hijau = 1.0; Biru = 0.0; } else if ((value> = 580) && (value <645)) {Red = 1.0; Hijau = - (nilai - 645) / (645 - 580); Biru = 0.0; } else if ((value> = 645) && (value <781)) {Red = 1.0; Hijau = 0,0; Biru = 0.0; } else {Red = 0.0; Hijau = 0,0; Biru = 0.0; }; jika ((nilai> = 380) && (nilai <420)) {factor = 0.3 + 0.7 * (nilai - 380) / (420-380); } else if ((value> = 420) && (value <701)) {factor = 1.0; } else if ((value> = 701) && (value <781)) {factor = 0.3 + 0.7 * (780 - value) / (780 - 700); } else {factor = 0.0; };
}
kekosongan gelung () {// masukkan kod utama anda di sini, untuk berjalan berulang: warna (); analogWrite (rPin, 255 - Red * 100 * factor); analogWrite (gPin, 255 - Hijau * 100 * faktor); analogWrite (bPin, 255 - Blue * 100 * factor); kelewatan (10); }