Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Motion Controlled Color Changer!

Komponen dan persediaan

Sparkfun APDS-9960
× 1
Kabel jumper (generik)
× 1
Arduino UNO
× 1
Resistor 4.75k ohm
× 1
Katoda Umum Difusi RGB
× 1

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Proyek ini akan memungkinkan Anda memanfaatkan kekuatan gerakan Anda untuk mengontrol LED RGB. Anda akan membutuhkan Sparkfun APDS-9960 dan CATHODE umum, bukan anoda, LED RGB. Pastikan untuk menggunakan papan Arduino 5v dengan resistor 4.7k Ohm, karena sensor ini menggunakan protokol I2C. Kemudian hubungkan seperti dalam skema. Dari sana Anda dapat menambahkan warna khusus dalam kode. Saya telah menempatkan 6 sudah. Kontrol default adalah:geser ke atas untuk menyalakannya, geser ke bawah untuk mematikannya, geser ke kanan untuk maju ke warna berikutnya, dan kiri untuk mundur. Kode ini juga dapat disesuaikan agar sesuai dengan banyak jenis proyek lainnya! Jangan ragu untuk bereksperimen dan membuat proyek yang lebih mengagumkan. Selamat membuat!

Gambar produk di papan tempat memotong roti:

Kode

  • Kode Arduino
Kode ArduinoC/C++
Salin dan Tempel
#include #include // Pin#define APDS9960_INT 2 // Perlu pin interupsi// Constantsint red_pin =A0;int green_pin =A1;int blue_pin =A2;int onOff_flag =0;//Buat array untuk mengulang melaluiint colorNumber =0;// Variabel GlobalSparkFun_APDS9960 apds =SparkFun_APDS9960();int isr_flag =0;void setup() { // Atur pin interupsi sebagai input pinMode(APDS9960_INT, MEMASUKKAN); // Inisialisasi port Serial Serial.begin(9600); Serial.println(); Serial.println(F("--------------------------------")); Serial.println(F("SparkFun APDS-9960 - Tes Gestur")); Serial.println(F("--------------------------------")); // Inisialisasi rutin layanan interupsi attachInterrupt(0, interruptRoutine, FALLING); // Inisialisasi APDS-9960 (konfigurasi I2C dan nilai awal) if ( apds.init() ) { Serial.println(F("APDS-9960 inisialisasi selesai")); } else { Serial.println(F("Ada yang tidak beres selama APDS-9960 init!")); } // Mulai jalankan mesin sensor gerakan APDS-9960 if ( apds.enableGestureSensor(true) ) { Serial.println(F("Sensor gerakan sekarang berjalan")); } else { Serial.println(F("Ada yang salah saat sensor gerakan init!")); } pinMode(A0, OUTPUT); pinMode(A1, OUTPUT); pinMode(A2, OUTPUT); analogWrite(A0, 0); analogWrite(A1, 0); analogWrite(A2, 0);}void loop() { if( isr_flag ==1 ) { detachInterrupt(0); handleGesture(); isr_flag =0; attachInterrupt(0, interruptRoutine, FALLING); } if (onOff_flag ==1){ switch (colorNumber){ case 0:Serial.println("red"); analogWrite(pin_merah, 255); analogWrite(pin_hijau, 0); analogWrite(blue_pin, 0); merusak; kasus 1:Serial.println("biru muda"); analogWrite(pin_merah, 255); analogWrite(pin_hijau, 153); analogWrite(blue_pin, 204); merusak; kasus 2:Serial.println("biru tua"); analogWrite(pin_merah, 100); analogWrite(pin_hijau, 0); analogWrite(blue_pin, 170); merusak; kasus 3:Serial.println("hijau"); analogWrite(pin_merah, 0); analogWrite(pin_hijau, 255); analogWrite(blue_pin, 0); merusak; kasus 4:Serial.println("biru"); analogWrite(pin_merah, 0); analogWrite(pin_hijau, 0); analogWrite(blue_pin, 255); merusak; kasus 5:Serial.println("ungu"); analogWrite(pin_merah, 191); analogWrite(pin_hijau, 0); analogWrite(blue_pin, 255); merusak; }}else if(onOff_flag ==0){ analogWrite(red_pin, 0); analogWrite(pin_hijau, 0); analogWrite(blue_pin, 0);}delay(1000);}void interruptRoutine() { isr_flag =1;}void handleGesture() { if ( apds.isGestureAvailable() ) { switch ( apds.readGesture() ) { case DIR_UP:Serial.println("NAIK"); onOff_flag =1; merusak; kasus DIR_DOWN:Serial.println("BAWAH"); onOff_flag =0; merusak; kasus DIR_LEFT:Serial.println("LEFT"); if(onOff_flag ==1){ if(colorNumber>0){ colorNumber -=1; Serial.println(nomorwarna); } else if(colorNumber <1){ colorNumber =5; Serial.println(nomorwarna); } } merusak; kasus DIR_KANAN:Serial.println("KANAN"); if(onOff_flag ==1){ if(colorNumber <5){ colorNumber +=1; Serial.println(nomorwarna); } else if(colorNumber> 4){ colorNumber =0; Serial.println(nomorwarna); } } merusak; kasus DIR_NEAR:Serial.println("DEKAT"); merusak; kasus DIR_FAR:Serial.println("JAUH"); merusak; bawaan:Serial.println("TIDAK ADA"); } }}

Skema

Hubungkan apa adanya.

Proses manufaktur

  1. Tombol AWS IoT Terkendali Gerakan
  2. Robot Raspberry Pi dikendalikan melalui Bluetooth
  3. Lampu Meja Interaktif Terkendali Gerakan
  4. LED Terkendali Alexa Melalui Raspberry Pi
  5. Mobil RC Terkendali Joystick
  6. Lengan Robot Terkendali Nunchuk (dengan Arduino)
  7. Robot yang Dikendalikan Bicara
  8. Sensor Gerakan Pistol Air
  9. Robot Piano Terkendali Arduino:PiBot
  10. Pencampur Warna RGB Arduino