Isi kandungan:

Dandelion Interaktif: 11 Langkah (dengan Gambar)
Dandelion Interaktif: 11 Langkah (dengan Gambar)

Video: Dandelion Interaktif: 11 Langkah (dengan Gambar)

Video: Dandelion Interaktif: 11 Langkah (dengan Gambar)
Video: BUNGA DANDELION | JEJAK SI GUNDUL (26/11/21) 2024, November
Anonim
Image
Image
Sediakan Cincin NeoPixel
Sediakan Cincin NeoPixel

Projek ini menunjukkan cara membuat gambar interaktif dandelion. Ia bermula sebagai bunga kuning dengan lampu LED untuk kelopak kemudian berubah menjadi jam dandelion putih, yang dapat ditiup untuk membuat benih tersebar.

Ini berdasarkan karya seni yang indah oleh Qi Jie, yang gambarnya diilhamkan oleh reka bentuk bunga tunggal oleh Jessie Thompson dan Zachory Berta. Saya membuat kain pada kain dan membingkainya di gelang permadani untuk masuk ke dinding ruang pembuat Teknikal dan Tekstil di Devon, England, sebagai contoh projek pemula yang menggabungkan jahitan dengan Arduino.

Video lukisan cahaya oleh Qi Jie

Video reka bentuk bunga tunggal oleh Jessie Thompson dan Zachory Berta

Kod untuk kedua-dua projek yang ada ada dan saya rasa senang dibuat, tetapi arahannya minimum dan memerlukan beberapa percubaan sebelum saya menemui kaedah yang berjaya. Jadi berikut adalah petunjuk penuh dan petua penjimatan masa untuk remix yang menggabungkan elemen reka bentuk dan tweak saya sendiri.

Perincian mengenai perkara yang tidak sesuai untuk saya ada di akhir untuk sesiapa sahaja yang berminat mengapa saya memilih cara ini.

Kod untuk lukisan cahaya oleh Qi Jie

Kod untuk gambar bunga kecil oleh Jessie Thompson dan Zachory Berta

Bahan

  • Arduino UNO
  • Cincin Adafruit 12 Neopixel
  • Jalur 5V daripada 11 LED RGB
  • Sensor Mikrofon Bunyi
  • Wayar Pelompat
  • Bateri boleh dicas semula 5V dengan sambungan USB A.
  • Kabel Pencetak (kabel USB A hingga B)
  • Titik Lem atau Lem Panas
  • Kad A4
  • Fabrik Cotton Cotton 30cm x 30cm, seperti sarung bantal lama
  • Cat Fabrik Hijau
  • Benang Kapas Coklat
  • Karton beralun 70cm x 50cm, seperti kotak pizza
  • Pita pelekat
  • Gelung Sulaman 9 inci untuk membingkai gambar
  • 9 Tab Velcro Pelekat Diri

Alat

  • Komputer dengan Arduino IDE dimuat turun
  • Soldering Iron dan Bebas plumbum
  • Papan roti untuk litar ujian
  • Stripper / Pemotong Kawat
  • Jarum Jahit
  • Pen
  • Gunting

Langkah 1: Sediakan Cincin NeoPixel

Memateri wayar warna yang berbeza untuk setiap pad kuasa, tanah dan data di bahagian belakang gelang NeoPixel.

Sekiranya anda mempunyai gelang versi yang berbeza, kabel anda mungkin tidak berada dalam kedudukan yang sama dengan foto saya.

Perhatikan wayar mana yang sesuai untuk input dan output serta positif, data dan arde kerana tanda untuk ini berada di bahagian bawah gelang dan tidak akan dapat dilihat ketika cincin berada di kedudukannya.

Langkah 2: Potong Jalur LED

Potong Jalur LED
Potong Jalur LED
Potong Jalur LED
Potong Jalur LED

Potong 11 LED individu dari jalur LED RGB, berhati-hati memotong sepanjang garis tengah untuk meninggalkan pad solder di kedua sisi potongan. Ketatkan gumpalan pateri di bahagian atas setiap pad.

Langkah 3: Pateri LED

Memateri LED
Memateri LED
Memateri LED
Memateri LED
Memateri LED
Memateri LED

Buat lubang di tengah kad agar sesuai dengan mikrofon. Dengan menggunakan titik gam, pasangkan cincin piksel neo dan LED individu pada kedudukan seperti yang ditunjukkan, pastikan semua anak panah pada LED akan berbaris dengan cara yang sama ketika daisy dirantai bersama.

Memateri kabel output dari cincin ke LED individu pertama, sepadan dengan kabel positif, tanah dan data ke pad yang sama pada kedua LED.

Cara terpantas dan termudah yang saya dapati untuk menyatukan LED adalah dengan melepaskan wayar pelompat ke helai tembaga yang berasingan. Pasang satu helai untuk menghubungkan setiap pad yang disolder pada LED ke yang berikutnya, sepadan dengan positif, data dan tanah. Ia hanya memerlukan sentuhan cepat dari solder panas kerana bantalan telah disolder sebelumnya pada langkah sebelumnya. Daripada memotong wayar pada tahap ini, bawa mereka melintasi bahagian atas LED untuk mencapai pad yang disolder di sisi lain. Pastikan tidak ada wayar yang bersilang atau bersentuhan antara satu sama lain, pateri pada pad tersebut dan teruskan pusingan ke sisi input LED terakhir.

Jangan pasangkan wayar ke bahagian output LED terakhir. Tidak seperti beberapa LED yang mungkin anda kenal, anda tidak perlu melengkapkan litar bulat yang mengembalikan kuasa ke tanah kerana anda telah memasang kabel tanah dan garis positif yang terpisah sepanjang jalan. Potong semua wayar yang melintasi bahagian atas LED sehingga anda hanya mempunyai wayar yang menghubungkan di antara mereka.

Petua: Untuk mengelakkan wayar menyentuh semasa membelok, benang masing-masing kembali ke jalur penebat plastik kecil yang sebelumnya dikeluarkan.

Langkah 4: Menyiapkan Bahagian Belakang

Menyiapkan Bahagian Belakang
Menyiapkan Bahagian Belakang
Menyiapkan Bahagian Belakang
Menyiapkan Bahagian Belakang

Buat lubang lain pada kad putih untuk wayar input dan tolaknya.

Pisahkan dua gelang gelung permadani. Lukis bulatan luar cincin terkecil pada 5 keping kad bergelombang dan potong. Potong lubang di tengah-tengah 3 bulatan kira-kira 2cm dari tepi untuk membuat cincin dan potong celah 5mm di setiap satu. Melekatkan cincin di atas satu sama lain, melapisi celah, dan lekatkan pada salah satu bulatan kad yang tinggal.

Langkah 5: Pendawaian Mikrofon dan Arduino

Pendawaian Mikrofon dan Arduino
Pendawaian Mikrofon dan Arduino
Pendawaian Mikrofon dan Arduino
Pendawaian Mikrofon dan Arduino

Kabel Arduino anda ke sensor mikrofon dan cincin LED seperti yang ditunjukkan. Saya menggunakan TinkerCad untuk membuat gambarajah litar, yang tidak mempunyai gambar mikrofon, jadi saya telah menggantikan sensor lain yang menggunakan pin yang sama dan berfungsi dengan cara yang sama dalam simulasi.

Untuk melihat simulasi, pergi ke https://www.tinkercad.com/things/5cgI2wluA0c. Seret lingkaran yang melekat pada sensor ke kawasan aktif untuk mensimulasikan meniup mikrofon. LED berada dalam jalur pada 6, jadi LED terakhir dalam simulasi bukan sebahagian daripada reka bentuk dan tidak menyala.

Langkah 6: Memprogram Arduino

Memprogram Arduino
Memprogram Arduino

Buka Arduino IDE di komputer anda dan mulakan Sketsa baru Hapus semua yang ada di dalam lakaran dan salin dan tampal kod ini ke dalamnya

// Diadaptasi menggunakan lakaran mudah NeoPixel Ring (c) Shae Erisson 2013 dan kod sensor dari https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Pin mana di Arduino disambungkan ke NeoPixels? #define PIN 6 // Berapa banyak NeoPixels yang dilampirkan ke Arduino? #define NUMPIXELS 23 // Ketika kami menyiapkan perpustakaan NeoPixel, kami memberitahu berapa piksel, dan pin mana yang akan digunakan untuk mengirim isyarat. // Perhatikan bahawa untuk jalur NeoPixel yang lebih tua, anda mungkin perlu mengubah parameter ketiga - lihat contoh strandtest // untuk maklumat lebih lanjut mengenai kemungkinan nilai. Piksel Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // kelewatan selama setengah detik int sensorPin = A0; // pilih pin input untuk sensor int sensorValue = 0; // pemboleh ubah untuk menyimpan nilai yang datang dari ambang sensor int int = 200; // tahap ambang sewenang-wenang yang berada dalam julat penyediaan batal input analog () {pixels.begin (); // Ini memulakan perpustakaan NeoPixel. piksel.setBrightness (20); // Tetapkan kecerahan Serial.begin (9600); } gelung void () {// Untuk satu set NeoPixels, NeoPixel pertama adalah 0, yang kedua adalah 1, hingga jumlah piksel tolak satu. // Dandelion LED // piksel. Warna mengambil nilai RGB, dari 0, 0, 0 hingga 255, 255, 255 piksel. SetPixelColor (0, piksel. Warna (0, 0, 0)); // Mati. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (5, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (6, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (7, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (8, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (9, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (10, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (11, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Mati. piksel.show (); // Ini menghantar warna piksel yang dikemas kini ke perkakasan. delay (delayval * 6); // Perubahan secara beransur-ansur dari bunga ke kepala benih // piksel. Warna mengambil nilai RGB, dari 0, 0, 0 hingga 255, 255, 255 piksel. setPixelColor (0, piksel. Warna (0, 0, 0)); // Mati. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (5, pixel. Color (226, 246, 255)); // bluishwhite pixels.setPixelColor (6, piksel. Warna (255, 165, 0)); // Jingga. pixels.setPixelColor (7, pixel. Color (226, 246, 255)); // bluishwhite pixels.setPixelColor (8, piksel. Warna (255, 165, 0)); // Jingga. pixels.setPixelColor (9, pixel. Color (226, 246, 255)); // bluishwhite pixels.setPixelColor (10, piksel. Warna (255, 165, 0)); // Jingga. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // kebiruan. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Mati. piksel.show (); // Ini menghantar warna piksel yang dikemas kini ke perkakasan. kelewatan (delayval * 6); // LED kepala benih piksel.setPixelColor (0, piksel. Warna (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (4, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (5, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (6, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (7, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (8, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (9, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (10, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // off pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Mati. piksel.show (); // Ini menghantar warna piksel yang dikemas kini ke perkakasan. kelewatan (delayval * 3); // Kelewatan untuk jangka masa (dalam milisaat). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (3, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (4, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (5, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (6, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (7, pixel. Color (255, 165, 0)); // Jingga. pixels.setPixelColor (8, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (9, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (10, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Mati. piksel.show (); // Ini menghantar warna piksel yang dikemas kini ke perkakasan. kelewatan (delayval * 3); // Kelewatan untuk jangka masa (dalam milisaat). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (1, pixels. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (3, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (4, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (5, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (6, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (7, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (8, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (9, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (10, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Mati. piksel.show (); // Ini menghantar warna piksel yang dikemas kini ke perkakasan. kelewatan (delayval); // Kelewatan untuk jangka masa (dalam milisaat). // Baca nilai sensor dan paparkan di monitor serial sensorValue = analogRead (sensorPin); Serial.println (sensorValue); kelewatan (250); // Walaupun nilai sensor kurang dari ambang, periksa nilai sensor dan cetak di monitor bersiri. Apabila nilainya melebihi ambang, lakaran dapat diteruskan sementara (sensorValue <threshold) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); kelewatan (250); } // LED angin pertama piksel.setPixelColor (0, piksel. Warna (0, 0, 0)); // Mati. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (7, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (8, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (9, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (10, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (11, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (12, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (13, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (14, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (15, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (16, piksel. Warna (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Mati. piksel.show (); // Ini menghantar warna piksel yang dikemas kini ke perkakasan. kelewatan (delayval); // Kelewatan untuk jangka masa (dalam milisaat). // Piksel LED angin kedua.setPixelColor (0, piksel. Warna (0, 0, 0)); // Mati. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Mati. pixels.setPixelColor (8, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (9, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (10, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (11, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (15, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Mati. pixels.setPixelColor (17, piksel. Warna (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (18, piksel. Warna (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (19, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (20, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (21, pixel. Color (226, 246, 255)); // Putih kebiruan. pixels.setPixelColor (22, pixel. Color (226, 246, 255)); // Putih kebiruan.piksel.show (); // Ini menghantar warna piksel yang dikemas kini ke perkakasan. kelewatan (2000); // Kelewatan untuk jangka masa (dalam milisaat). }

Pasang Arduino anda ke komputer dengan kabel pencetak USB

Pergi ke Tools> Board dan pilih papan Arduino / Genuino UNO

Pergi ke Port dan pastikan papan anda disambungkan ke port USB yang betul. Sekiranya anda tidak pasti, anda boleh mencabut plag Arduino dan melihat port mana yang hilang dari senarai. Pasang kembali dan port akan disenaraikan semula.

Muat naik lakaran dengan mengklik ikon Muat Naik, yang ditunjukkan dalam foto yang dijelaskan. Lampu harus menyala di Arduino semasa ia dimuat. Apabila selesai memuat naik separuh LED pada cincin piksel neo akan menyala kuning dan kemudian bertukar menjadi cincin penuh cahaya putih. Tiup mikrofon untuk menguji litar. LED di lapisan luar harus menyala secara bergantian. Periksa solder pada LED yang tidak berfungsi.

Langkah 7: Menukar Warna, Kecerahan dan Ambang Sensor

Menukar Warna, Kecerahan dan Ambang Sensor
Menukar Warna, Kecerahan dan Ambang Sensor
Menukar Warna, Kecerahan dan Ambang Sensor
Menukar Warna, Kecerahan dan Ambang Sensor

Warna

Warna LED ditetapkan menggunakan nilai warna RGB (Merah Hijau Biru). Sekiranya anda lebih suka menggunakan warna yang berbeza daripada yang pernah saya gunakan, anda boleh mendapatkan nilai untuk warna yang anda mahukan dengan menggunakan kalkulator warna RGB dalam talian seperti www.w3schools.com/colors/colors_rgb.asp

Untuk mematikan LED, gunakan nilai 0, 0, 0.

Untuk menetapkan LED menjadi putih, gunakan nilai 255, 255, 255. Kod pada langkah sebelumnya menggunakan warna putih kebiruan dengan nilai 226, 246, 255 dan oren dengan nilai 255, 165, 0.

Kecerahan

Untuk mengubah kecerahan LED, pergi ke bahagian penyediaan kekosongan kod dan cari baris kod berikut:

piksel.setBrightness (20); // Tetapkan kecerahan

Edit nombor dalam tanda kurung untuk mengubah kecerahan LED.

Ambang Sensor

Semasa anda menjalankan program, separuh cincin NeoPixel bermula kuning untuk mewakili bunga dan secara beransur-ansur berubah menjadi bulatan penuh LED putih untuk mewakili kepala benih. Pada ketika ini program harus berhenti sehingga anda meniup sensor mikrofon. Sekiranya program diteruskan dan menyalakan lapisan luar LED tanpa pengaktifan dari sensor, pergi ke bahagian penyediaan kekosongan kod dan turunkan nilai yang ditunjukkan di bawah. Naikkan nilai jika program berhenti tetapi tidak bertindak balas ketika anda meniup sensor.

ambang const int = 200;

Langkah 8: Menjadikan Litar Lebih Kekal

Menjadikan Litar Lebih Kekal
Menjadikan Litar Lebih Kekal

Semasa litar berfungsi, cabut plag Arduino dari komputer dan lepaskan sensor mikrofon dari papan roti. Kabel solder dari Arduino ke sensor mikrofon untuk menjadikan litar yang sama lebih kekal. Tolak mikrofon melalui lubang kad dari belakang. Sekiranya perlu, bengkokkan mikrofon dengan berhati-hati hingga 90 darjah sehingga papan boleh terletak rata di belakang kad. Pasang bateri ke Arduino menggunakan kabel pencetak dan keseluruhan urutan harus berfungsi.

Langkah 9: Buat Gambar

Buat Gambar
Buat Gambar

Buat lubang di kain anda di mana anda mahukan mikrofon. Saya menggunakan besi pematerian panas untuk membakar lubang kecil dan memotongnya dengan gunting sehingga mikrofon terpasang. Warnakan dan jahit bunga anda pada kain. Apabila cat kering, pasangkan lukisan itu ke gelung sulaman dan potong kain yang berlebihan, meninggalkan sempadan kecil.

Untuk mengetahui apakah ada komponen litar yang ditunjukkan melalui kain, letakkan sementara kain dan gelung di atas kad dengan mikrofon menunjukkan melalui lubang. Sekiranya perlu, tutup litar dengan lapisan selotip, periksa sesekali, sehingga komponennya tidak kelihatan lagi. LED cukup terang untuk dilihat melalui lapisan pita pelindung. Sekiranya anda perlu menambahkan lebih banyak lapisan, anda boleh menjadikan LED lebih terang dengan menyesuaikan kod anda seperti yang ditunjukkan dalam Langkah 7.

Letakkan kain dan gelung di atas kad seperti sebelumnya dan selamatkan di tempatnya dengan menempelkan kain tambahan di bahagian belakang kad.

Langkah 10: Menyatukannya

Menggabungkannya
Menggabungkannya

Lekatkan kad putih ke lingkaran kadbod bergelombang, sertakan mikrofon, tetapi bukan Arduino dan pek bateri, yang perlu mengelilingi tepi kadbod dengan wayar melewati celah.

Pasang bulatan kadbod terakhir dengan Velcro sehingga anda dapat mengakses bateri. Buat lubang di kadbod di mana anda mahu menggantungnya di cangkuk di dinding.

Langkah 11: Belajar Daripada Kesalahan

Belajar Dari Kesalahan
Belajar Dari Kesalahan
Belajar Dari Kesalahan
Belajar Dari Kesalahan
Belajar Dari Kesalahan
Belajar Dari Kesalahan

Percubaan pertama saya adalah dengan pelekat litar dan pita tembaga. Pelekat litar adalah permukaan LED kecil yang dipasang pada pelekat dengan tembaga. Mereka berasal dari syarikat Qi Jie, Chibitroniks, dan saya fikir mereka sempurna.

Saya tidak dapat memperoleh sambungan yang boleh dipercayai menggunakan pita tembaga atau pita perak dan ketika saya menyolder wayar ke pelekat, saya masih boleh menyalakan rangkaian 3 pelekat LED dengan menggunakan bateri 9V. Menjadi jelas bahawa mereka tidak dimaksudkan untuk proyek multi ringan seperti yang saya harapkan. Ketika saya melihat lebih dekat laman web mengenai pelekat litar, projek dengan 4 lampu ternyata menjadi jenis LED yang berbeza. Saya boleh menggunakan pelekat litar dengan bateri 12V tetapi terlalu besar untuk dipasang di dalam gambar.

Kemudian saya mencuba LED yang boleh dijahit. Saya fikir hanya mempunyai kuasa dan tanah akan lebih mudah dikawat daripada LED yang dapat diprogramkan yang mempunyai talian kuasa, tanah dan data. Tetapi ternyata litar yang lebih rumit memerlukan bekalan kuasa tambahan dan MOSFET, yang tidak saya miliki. Saya mungkin menggunakan NeoPixels yang boleh dijahit, tetapi harganya lebih mahal.

Oleh itu, selepas beberapa permulaan yang salah, saya berakhir dengan rentetan LED yang dapat diprogram yang murah dan mudah digunakan.

Disyorkan: