![Warna Mengubah Cahaya Malam Menggunakan Ardruino 101: 4 Langkah (dengan Gambar) Warna Mengubah Cahaya Malam Menggunakan Ardruino 101: 4 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/003/image-7421-33-j.webp)
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01
![Image Image](https://i.howwhatproduce.com/images/003/image-7421-35-j.webp)
![](https://i.ytimg.com/vi/aRjyFI7pgF8/hqdefault.jpg)
![Warna Mengubah Cahaya Malam Menggunakan Ardruino 101 Warna Mengubah Cahaya Malam Menggunakan Ardruino 101](https://i.howwhatproduce.com/images/003/image-7421-36-j.webp)
Dalam projek ini, anda akan membuat lampu malam menggunakan ardruino, Adafruit neo rgb Strips dan pencetak 3D.
Perhatikan bahawa ini boleh dilakukan semata-mata untuk projek sekolah saya. Kod untuk projek ini berdasarkan dari projek lain. Dengan mengatakan bahawa saya bukan pakar ketika datang ke Ardruino.
Langkah 1: Keperluan
![Keperluan Keperluan](https://i.howwhatproduce.com/images/003/image-7421-37-j.webp)
![Keperluan Keperluan](https://i.howwhatproduce.com/images/003/image-7421-38-j.webp)
![Keperluan Keperluan](https://i.howwhatproduce.com/images/003/image-7421-39-j.webp)
Untuk projek ini, anda memerlukan perkakasan dan alat berikut
Perkakasan:
1 - Ardruino101 (di AS) atau Genuino101 (untuk luar AS).
2 - Jalur LED NeoPixel rgb dari adafruit (5 volt).
3 - Penyambung usb ardruino (penyambung jenis B hingga A).
4 - Perisian dari Ardruino, Ardruino IDE Dalam tutorial ini kita akan menggunakan versi 1.8.5. Keperluan perpustakaan perisian adalah: 101, Adafruit NeoPixel dan Madgwick.
5 -Dan objek untuk menempatkan perkakasan anda. Dalam kes ini saya akan menggunakan pencetak 3D. Fail untuk cetakan 3D ini terdapat dalam keterangan yang disebut "Kepala Lampu". Perhatikan bahawa format fail ini belum siap dicetak 3D. Bergantung pada pencetak 3D anda, anda mesti terlebih dahulu menjalankan perisian cetak 3d yang ditentukan pada objek 3D terlebih dahulu. Kadang-kadang skala cetakan 3D akan ditetapkan semula. jadi pastikan diameternya ditetapkan 11 cm x 11 cm.
6 - Kit pematerian asas.
Langkah 2: Memahami Perkakasan dan Perisian
Ardruin / Genuino101
Hanya untuk menjelaskan Ardruino101 dan genuino101 sama persis dengan nama. Kedua-duanya mempunyai spesifikasi yang sama dan menggunakan perisian yang sama.
Ardruino101 mempunyai spesifikasi asas seperti ardruino UNO dan banyak lagi. Ciri utama ardruino101 adalah pecutan dan giroskop yang akan kami gunakan dalam projek kami. Juga jenis ardruino ini mempunyai perpustakaan kod uniknya yang disebut CurrieIMU (Unit pengukuran dalaman) yang termasuk dalam peluasan perpustakaan 101.
Dengan itu mari kita bercakap mengenai perisian.
Software dan perpustakaan
Ardruino IDE menggunakan python kerana ia adalah kod sumber utama. ia juga merupakan platvorm kod utama di mana kebanyakan ardruino berjalan. Terdapat banyak tutorial dalam talian mengenai cara menggunakan perisian ini, jadi saya mengesyorkan anda meneliti terlebih dahulu jika anda baru menggunakan program ini.
Dengan mengatakan bahawa perpustakaan yang kami gunakan adalah berikut:
Dari menu Sketsa,> Sertakan Perpustakaan> Urus Perpustakaan … Pada kotak input teks ketik
- 101 Pada mulanya ardruino 101 tidak dimasukkan secara automatik ke ardruino IDE. Kami memerlukan peluasan perpustakaan ini untuk membuat kod jenis ardruino kami.
-Adafruit NeoPixel untuk membuat kod jalur piksel Neo kami.
-Madgwick Untuk membaca data mentah dan untuk mengira data ini menjadi raw, pitch and roll.
Jalur Neo RGB
Jenis yang akan saya gunakan ialah jenis 5 voltan atau 5v. Dengan 5v ini saya tidak memerlukan sumber kuasa yang diperluaskan untuk mengawal jalur saya. Sebagai gantinya saya akan menggunakan ardruino saya sebagai sumber kuasa untuk mengawal dan menyalakan jalur.
Berikut adalah beberapa petua yang perlu anda ketahui sebelum anda memulakan cara ini.
Mula-mula anda memerlukan jalur LED RGB Neodigital dari adafruit. Jalur jenis ini dapat dikawal dengan menggunakan kod. Anda perlu tahu bahawa terdapat bahagian belakang dan bahagian depan pada jalur ini. Bahagian belakang dan depan ini penting untuk pematerian. Pastikan anda memateri bahagian depan di mana kekunci anak panah menghala ke hujung.
Berikut adalah panduan bagaimana menggunakannya.
Terdapat 3 titik solder yang perlu anda perhatikan Sambungan tanah (GND), Sambungan voltan (V) dan Sambungan Pin (DIN).
Langkah 3: Menyiapkan Komponen
![Menyiapkan Komponen Menyiapkan Komponen](https://i.howwhatproduce.com/images/003/image-7421-40-j.webp)
![Menyiapkan Komponen Menyiapkan Komponen](https://i.howwhatproduce.com/images/003/image-7421-41-j.webp)
![Menyiapkan Komponen Menyiapkan Komponen](https://i.howwhatproduce.com/images/003/image-7421-42-j.webp)
Mula-mula anda perlu mencetak 3d komponen yang anda dapati dalam keperluan. Dalam kes ini, saya akan menggunakan PLA. Pastikan garis pusat objek berukuran 11cm hingga 11cm. Ini akan memastikan bahawa ardruino dan jalurnya sesuai di dalam ruang. Perhatikan bahawa setiap pencetak 3D menggunakan perisian difrent untuk mengira proses pencetakannya. Dengan mengatakan fail yang anda gunakan mungkin diskalakan sedikit demi sedikit, jadi ingatlah.
Kedua selepas cetakan pastikan komponen dapat ditutup. Cetakan 3D bersama-sama membentuk sfera. Mereka mesti sesuai dengan baik. Sekiranya komponen hilang, masukkan pita ke bahagian dalam sehingga penutupnya diisi. Dan jika hendak menggunakan kertas pasir tebal.
Ketiga skema untuk ardruino dan jalur agak mudah. Anda akan menggunakan 3 wayar untuk menghubungkan jalur ke ardruino. Perhatikan bahawa satu-satunya tempat saya solder adalah pada jalur. bukan pada Ardruino itu sendiri.
GND pergi ke GND
DIN pergi ke Pin (dalam kes kami pin6 di ardruino)
5V menuju ke 5V
Pastikan jumlah jalur dipimpin yang anda gunakan adalah had 30. Selanjutnya dan itu akan gagal melaksanakan kod dengan betul. Anda hanya boleh memotong mana-mana jalur yang tidak disalurkan dengan tanda gunting.
Evrything Keempat harus sesuai dengan bidangnya. Anda mahu saya membuat persimpangan antara 1 cetakan 3d untuk melihat palung dan meletakkan plastik palung di bahagian atas.
Langkah 4: Pengekodan
![](https://i.ytimg.com/vi/aRjyFI7pgF8/hqdefault.jpg)
Jadi sekarang anda mesti mempunyai semua komponen yang diperlukan di perpustakaan anda.
Inilah kod yang anda perlukan untuk menjalankan projek. Hasilnya kelihatan seperti pautan video yang saya hantar di halaman ini.
Sumber kod ini boleh didapati di sini. Projek ini juga merangkumi langkah-langkah yang perlu untuk lebih memahami kod dan algaritme di sebalik penggunaannya.
#sertakan #sertakan #sertakan #sertakan
#tentukan PIN 6 // 11 piksel Jalur NeoPixel
#define PIN1 7 // 1 pixel NeoPixel Strip #define NUMPIXELS 30 // Bilangan piksel #define SAMPLE_RATE 25 // Kadar pensampelan untuk pecutan dan giroskop
// Konfigurasi Madgwick
Penapis Madgwick; mikroskop panjang yang tidak ditandatanganiPerReading, mikroSebelumnya; float accelScale, gyroScale;
// Konfigurasi NeoPixel
Piksel Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); Piksel Adafruit_NeoPixelStatus = Adafruit_NeoPixel (1, 7, NEO_GRB + NEO_KHZ800);
// Ruang warna
RGBConverter rgbConverter; berganda h = 1; berganda s = 1; berganda v = 1; bait rgb [3];
// Lampu Gerak Status
// State 0 -> Select Hue - Pitch // State 1 -> Select Saturation - Roll // State 2 -> Select Value - Yaw // State 3 -> Perbaiki status int volatile warnaLamp = 0;
batal persediaan () {
Serial.begin (9600);
// mulakan IMU dan tapis
CurieIMU.begin (); CurieIMU.setGyroRate (SAMPLE_RATE); CurieIMU.setAccelerometerRate (SAMPLE_RATE); filter.begin (SAMPLE_RATE);
// Tetapkan julat pecutan ke 2G
CurieIMU.setAccelerometerRange (2); // Tetapkan julat giroskop hingga 250 darjah / kedua CurieIMU.setGyroRange (250);
CurieIMU.autoCalibrateAccelerometerOffset (X_AXIS, 0);
CurieIMU.autoCalibrateAccelerometerOffset (Y_AXIS, 0); CurieIMU.autoCalibrateAccelerometerOffset (Z_AXIS, 1); CurieIMU.autoCalibrateGyroOffset ();
CurieIMU.attachInterrupt (eventCallback);
CurieIMU.setDetectionThreshold (CURIE_IMU_TAP, 950); CurieIMU. gangguan (CURIE_IMU_TAP);
// memulakan pemboleh ubah untuk mempercepat kemas kini untuk memperbetulkan kadar
microsPerReading = 1000000 / SAMPLE_RATE; microsPre sebelumnya = mikro ();
// Init NeoPixel 11
piksel.begin (); piksel.show ();
// Init NeoPixel 1
pixelsStatus.begin (); piksel.show ();
// Tunjukkan status dalam px
setStatusPixel (statusLamp); }
gelung kosong () {
int aix, aiy, aiz; // accelerometer int gix, giy, giz; kapak apungan, ay, az; terapung gx, gy, gz; float roll, pitch, yaw; mikro panjang yang tidak ditandatangani statikSekarang;
// periksa sama ada sudah tiba masanya untuk membaca data dan mengemas kini penapis
microsNow = mikros (); if (microsNow - microsPre sebelumnya> = microsPerReading) {
// baca data mentah dari CurieIMU
CurieIMU.readMotionSensor (aix, aiy, aiz, gix, giy, giz);
// tukar dari data mentah menjadi graviti dan darjah / unit kedua
ax = convertRawAcceleration (aix); ay = convertRawAcceleration (aiy); az = convertRawAcceleration (aiz); gx = convertRawGyro (gix); gy = convertRawGyro (giy); gz = convertRawGyro (giz);
// kemas kini penapis, yang mengira orientasi
filter.updateIMU (gx, gy, gz, ax, ay, az);
// cetak tajuk, nada dan gulung
roll = filter.getRoll (); pitch = filter.getPitch (); yaw = filter.getYaw ();
// kenaikan masa sebelumnya, jadi kami mengikuti langkah yang tepat
microsPre sebelumnya = microsPre sebelumnya + microsPerReading;
// Hanya jika menukar Warna, Ketepuan atau Nilai
if (statusLamp pilih Hue if (pitch> = -90 && pitch <= 90 && statusLamp == 0) {// Transform angle pitch = pitch + 90; // Mendapatkan kordinat warna dari sudut h = pitch / 180.0;}
// Sekatan sudut
// roll sahaja -90º hingga 90º = 180º // Nyatakan 1 -> pilih Ketepuan jika (roll> = -90 && roll <= 90 && statusLamp == 1) {// Transform angle roll = roll + 90; // Mendapatkan kordinat warna dari sudut s = roll / 180.0; }
// Nyatakan 2 -> pilih Nilai
jika (statusLamp == 2) {// yaw 0º hingga 360º v = yaw / 360.0; }
// Tukar ke rgb
rgbConverter.hsvToRgb (h, s, v, rgb); / * Serial.print ("Warna:"); Cetakan bersiri (h); Cetakan bersiri ("-"); Cetakan bersiri; Cetakan bersiri ("-"); Cetakan bersiri (v); Serial.println ("");
Serial.print ("Orientasi:");
Serial.print (menguap); Cetakan bersiri (""); Cetakan bersiri (nada); Cetakan bersiri (""); Serial.println (roll); * /
// Tukar warna piksel
untuk (int px = 0; px <NUMPIXELS; px ++) {pixels.setPixelColor (px, pixels. Color (rgb [0], rgb [1], rgb [2])); piksel.show (); }}
// Tunjukkan status dalam px
setStatusPixel (statusLamp); }}
float convertRawAcceleration (int aRaw) {
// kerana kami menggunakan julat 2G // -2g peta hingga nilai mentah -32768 // + peta 2g hingga nilai mentah 32767
terapung a = (aRaw * 2.0) / 32768.0;
mengembalikan a; }
float convertRawGyro (int gRaw) {
// kerana kita menggunakan jarak 250 darjah / saat // -250 peta hingga nilai mentah -32768 // +250 peta hingga nilai mentah 32767
apungan g = (gRaw * 250.0) / 32768.0;
pulangan g; }
peristiwa kekosongan statik Panggilan ()
{// Kesan ketukan di semua paksi jika (CurieIMU.getInterruptStatus (CURIE_IMU_TAP)) {Serial.print ("Ketuk statusLamp yang dikesan:"); Serial.println (statusLamp);
// Tukar keadaan
statusLamp ++;
// Keadaan Init
jika (statusLamp> 3) {statusLamp = 0; }}}
batal setStatusPixel (int statusPx)
{switch (statusPx) {case 0: pixelsStatus.setPixelColor (0, pixelsStatus. Color (150, 0, 0)); pixelsStatus.show (); rehat; kes 1: pixelsStatus.setPixelColor (0, pixelsStatus. Color (0, 150, 0)); pixelsStatus.show (); rehat; kes 2: pixelsStatus.setPixelColor (0, pixelsStatus. Color (0, 0, 150)); pixelsStatus.show (); rehat; kes 3: pixelsStatus.setPixelColor (0, pixelsStatus. Color (0, 0, 0)); pixelsStatus.show (); rehat;
}
}
Disyorkan:
Mudah Mudah Mengubah Warna Mengubah Lampu Kiub Rubik Tanpa Wayar: 10 Langkah (dengan Gambar)
![Mudah Mudah Mengubah Warna Mengubah Lampu Kiub Rubik Tanpa Wayar: 10 Langkah (dengan Gambar) Mudah Mudah Mengubah Warna Mengubah Lampu Kiub Rubik Tanpa Wayar: 10 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/002/image-3620-j.webp)
Mudah Mudah Mengubah Warna Mengubah Lampu Kubus Rubik Tanpa Wayar: Hari ini kita akan membina lampu Rubik Cube-esque yang hebat ini yang berubah warna berdasarkan sisi mana yang naik. Kubus ini menggunakan bateri LiPo kecil, yang dicas oleh kabel mikro-usb standard, dan, dalam ujian saya, jangka hayat bateri selama beberapa hari. Ini
Gitar Mengubah Warna Bersinar: 49 Langkah (dengan Gambar)
![Gitar Mengubah Warna Bersinar: 49 Langkah (dengan Gambar) Gitar Mengubah Warna Bersinar: 49 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/003/image-7389-j.webp)
Gitar Mengubah Warna Berkilau: Dalam kerajaan rock and roll adalah penting untuk membezakan diri. Dengan berjuta-juta orang di dunia ini yang boleh bermain gitar, hanya bermain dengan baik tidak akan memotongnya. Anda memerlukan sesuatu yang ekstra untuk bangkit sebagai dewa batu. Pertimbangkan gu ini
Cahaya Mood Animasi & Cahaya Malam: 6 Langkah (dengan Gambar)
![Cahaya Mood Animasi & Cahaya Malam: 6 Langkah (dengan Gambar) Cahaya Mood Animasi & Cahaya Malam: 6 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/009/image-27000-j.webp)
Cahaya Mood Animasi & Cahaya Malam: Mempunyai daya tarikan yang tidak terbatas pada obsesi dengan cahaya, saya memutuskan untuk membuat pilihan PCB modular kecil yang dapat digunakan untuk membuat paparan cahaya RGB dengan ukuran apa pun. Setelah membuat PCB modular, saya menemui idea untuk mengaturnya menjadi
Rak LED Kayu Mentah Mengubah Warna DIY: 10 Langkah (dengan Gambar)
![Rak LED Kayu Mentah Mengubah Warna DIY: 10 Langkah (dengan Gambar) Rak LED Kayu Mentah Mengubah Warna DIY: 10 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/001/image-1544-73-j.webp)
Rak LED Kayu Mentah Mengubah Warna DIY: Dalam Instruksional ini, saya akan menunjukkan kepada anda langkah demi langkah bagaimana membuat yang indah ini dari rak LED kayu mentah yang berubah warna. Projek ini sangat menyeronokkan dan saya sangat gembira dengan produk siap. Secara keseluruhan projek ini tidak akan menelan belanja
Lampu RGB LED Mengubah Warna Murah dan Mudah Lampu Malam: 3 Langkah
![Lampu RGB LED Mengubah Warna Murah dan Mudah Lampu Malam: 3 Langkah Lampu RGB LED Mengubah Warna Murah dan Mudah Lampu Malam: 3 Langkah](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11125480-rgb-led-cheap-and-easy-color-changing-night-light-3-steps-j.webp)
RGB LED Lampu Malam yang Mengubah Warna yang Murah dan Mudah: Projek ini agak mudah setelah saya bermain-main dan mengetahuinya, yang memerlukan sedikit masa. Ideanya ialah dapat menukar warna dengan suis, dan mempunyai pilihan led peredupan juga. Ini adalah item yang anda perlu