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

Tulip Mekanik yang Selalu Mekar

Komponen dan persediaan

Arduino Nano R3
× 1
Motor servo mikro SG90
× 1
Sensor sentuh TTP223
× 1
kawat kuningan 1 mm
× 1
tabung kuningan 2mm
× 1
Kabel tembaga berinsulasi 0,3 mm
× 1
WS2812 5050 NeoPixel LED
× 7
LED SMD 1206 Putih
× 30

Tentang proyek ini

Bunga abadi untuk cinta abadi Anda. Hadiah hari Valentine yang sempurna tidak hanya untuk orang yang Anda cintai. Tulip mekanis ini akan mekar menjadi warna apa pun yang memungkinkan hanya dengan sentuhan lembut tangan Anda. Keenam kelopaknya perlahan akan terbuka dan menyala. Saat kelopak ditutup, mereka menciptakan cahaya sekitar yang luar biasa dengan pola daun.

Bagaimana cara kerjanya?

Namun sebelum saya akan memberi tahu Anda cara membuat keindahan ini, mari kita bicara secara singkat tentang cara kerjanya. Tulip terdiri dari 6 kelopak masing-masing dengan 5 LED putih SMD. Setiap kelopak terhubung dengan salah satu pin output Arduino. Blossom menyembunyikan 7 LED NeoPixel RGB. Dari sudut pandang listrik, seluruh bunga digiling dan urat di kelopak bunga adalah tegangan positif. Kelopak dibuka oleh pushrod yang turun sepanjang batang ke pangkal. Pushrod dikendalikan oleh gerakan servo hobi kecil. Daun kecil di sisi batang terhubung ke sensor sentuh TTP223 di dalam alas dan membuat touchpad kapasitif. Basis kayu berisi motor servo, IC sentuh dan Arduino Nano. Mari kita buat sendiri!

Apa yang Anda butuhkan?

  • Batang kuningan 1mm
  • Tabung kuningan 2mm dengan lubang 1,2mm
  • Kawat tembaga 0,3mm dengan insulasi
  • Beberapa kayu untuk alas
  • Arduino Nano
  • Sensor sentuh TTP223
  • Servo kecil

Apa yang perlu Anda ketahui sebelum memulai

  • Cara menyolder kuningan (artikel bagus)
  • Cara membangun dengan Arduino
  • Cara menggunakan servo
  • Cara menggunakan LED dan NeoPixels

Saya tidak memberi tahu Anda dimensi apa pun dari komponen dan bentuk bunga yang tepat. Saya pikir setiap bunga harus unik.

Kelopak bunga (4 jam)

Mari kita mulai dengan bagian yang paling memuaskan terlebih dahulu - kelopak bunga. Perhatikan bahwa angka dalam kurung adalah waktu yang diperlukan untuk melakukan langkah tersebut.

Hal pertama yang Anda butuhkan adalah template untuk bunga. Saya membuat milik saya dari plester yang dituangkan ke dalam cetakan tabung. Setelah kering, saya membentuknya menjadi bunga tulip. Anda dapat mencetak 3D juga tetapi saya tidak memiliki printer 3D. Plesternya bagus karena mudah dikerjakan dan digambar dengan pensil. Kelopak tunggal adalah 1/4 dari permukaan template sehingga pada akhirnya ketika akan ada 6 kelopak, mereka akan sedikit tumpang tindih satu sama lain menciptakan tampilan yang tepat dari bunga tulip. Saya menggambar bentuk kelopak di permukaan plester dengan pensil. Ketika saya puas dengan bentuk kelopaknya, saya mengukirnya ke dalam plester dengan pisau untuk membantu saya menahan batang di tempatnya saat menyolder.

Kelopak terdiri dari batang kuningan 1mm yang melingkari bentuknya. Di dalam kelopak ada 5 LED putih SMD 1206 dan struktur "urat" dari kabel yang sama. Pertama, buat kawat melingkar, luangkan waktu Anda untuk menekuknya. Potong sepotong kecil tabung dan letakkan di bagian bawah kawat yang rata - ini akan menjadi kelopak engsel yang akan bergerak. Solder ujung kawat bersama-sama, pastikan Anda tidak mengisi tabung dengan solder. Ia perlu bergerak bebas. Selesaikan kelopak dengan LED dan struktur vena. Perhatikan saya membuat kelopak tunggal. Sayang sekali, ini adalah satu-satunya rekaman yang saya miliki dari membuat bunga.

Sekarang buat 5 lagi. Semua kelopak harus sama persis. Ini sangat penting. Jika tidak, mereka tidak akan menyerupai bentuk tulip yang bagus di ujungnya saat ditutup dan bahkan mungkin macet.

Mekar (1 jam)

Sejauh ini bagus? Saatnya untuk menyolder semua kelopak bersama-sama. Dasar bunga berbentuk heksagonal - 6 kelopak. Kelopak dipasang pada segi enam melalui engsel. Segi enam, bagaimanapun, sedikit tidak teratur. Saya gagal dengan yang biasa. Kelopak harus tumpang tindih satu sama lain dan jika segi enam teratur mereka tidak diperbolehkan. Tiga kelopak lebih dekat ke tengah (kelopak bagian dalam) dan 3 lainnya sedikit diimbangi (kelopak luar). Untuk itu, saya membuat template dan mencetaknya di atas kertas. Bentuk merah adalah segi enam tidak beraturan terakhir yang terbuat dari dua segi enam teratur bersarang. Solder semua engsel (tabung) ke segi enam. Sinar yang keluar dari tengah templat akan membantu Anda menyolder kelopak bunga di posisi yang benar. Bagian tengah kelopak harus mengikuti garis sinar yang keluar dari pusat segi enam. Pada akhirnya ketika Anda menutup kelopak, Anda akan memiliki bentuk akhir bunga. Bagus bukan?

Membuat batang dan pushrod (1 jam)

Ini bukan bagaimana saya melanjutkan pembuatan bunga saya. Saya pertama kali menyelesaikan mekanisme di dalam bunga dan kemudian menambahkan batang dan batang dorong ke dalamnya. Itu menambahkan banyak kesengsaraan dalam pembuatannya. Suatu kali saya hampir ingin membuangnya dan tidak pernah melihat ke belakang. Lain kali saya akan mulai dengan batangnya. Jadi, Anda juga harus melakukannya.

Gerakan kelopak dibuat oleh pushrod kuningan 1mm yang bergerak bebas di dalam tabung kuningan. Kelopak terhubung ke pushrod melalui segi enam yang sangat kecil dengan engsel kecil sepanjang 2mm di setiap sisi - kepala pushrod. Hexagon duduk tegak lurus pada pushrod dengan bantuan bar kecil berjalan melalui pusat segi enam. Ini adalah pekerjaan pembuat jam.

Untuk membuat kepala pushrod saya membuat template kedua. Pertama, tekuk kawat untuk membentuk segi enam kecil. Kemudian potong pipa kecil sepanjang 2 mm dan tempelkan pada kawat. Solder kawat untuk menyelesaikan bentuk heksagonal. Sekali lagi pastikan Anda tidak menyolder tabung ke kawat. Lanjutkan dengan menyolder kawat ke tengah segi enam. Dan selesaikan batang dengan menyolder kawat 1mm tegak lurus ke tengah kepala pushrod. Hore! Anda memiliki pushrod Anda.

Bangun batangnya. Potong pipa kuningan dengan panjang yang diinginkan. Dan sekarang bagian penting kedua. Batang harus benar-benar tegak lurus dengan dasar heksagonal bunga, harus tepat di tengahnya dan perlu ada cukup ruang untuk kepala pushrod bergerak ke bawah untuk menutup kelopak. Pertama, saya menyolder dua kabel ke salah satu ujung batang untuk membuat ekspansi berbentuk V. Ini akan menjadi 2 dari 6 kabel yang menghubungkan batang ke simpul dasar heksagonal.

Jadi balikkan bunganya dan solder ekspansi berbentuk V ke 2 simpul berlawanan dari dasar heksagonal. Periksa bentuknya. Jika Anda meletakkan batang di dalam batang, ia harus keluar di tengah bunga. Luangkan waktu Anda untuk membuatnya sempurna. Ini benar-benar bagian penting. Bila Anda setuju dengan itu, solder 4 kabel lagi di antara sisa simpul segi enam dan bagian atas batang. Pastikan untuk tidak menyolder lubang di dalam pipa!

Mekanisme kelopak (6 jam)

Ini adalah bagian yang akan Anda sesali karena Anda pernah mulai membuat bunga di tempat pertama. Aku hampir membuangnya ke tempat sampah sekali. Tapi hei, aku bukan pria paling sabar yang pernah ada. Anda akan berhasil! Untuk bagian ini, saya terinspirasi oleh mesin uap dan batang, piston, dan roda gilanya.

Jadikan diri Anda sebagai tempat ujian. Perbaiki bunga dengan batang dalam posisi ke atas. Masukkan pushrod melalui batang dengan kepala ke atas. Solder tabung pendek tegak lurus ke ujung bawah pushrod dan buat sendiri batang penghubung kecil dari kawat kuningan 1mm untuk menghubungkan servo dan pushrod (lihat gambar di atas). Anda harus bisa bergerak dengan pushrod ke atas dan ke bawah menggunakan servo. Cobalah dengan menghubungkan Arduino Anda. Sebelum Anda dapat mulai menyolder batang penghubung antara kelopak dan kepala pushrod, Anda perlu menyetel gerakan servo dengan Arduino. Tulis kode Anda untuk menggerakkan pushrod ke atas dan ke bawah dengan cara ketika di posisi paling atas ujung kepala pushrod rata dengan dasar heksagonal mekar. Dan di posisi terendah, ia berada di bagian bawah pangkal berbentuk V yang mekar.

Saat pushrod bergerak ke atas, ia mendorong batang penghubung dan kelopak ke bawah. Saat bergerak ke bawah, ia menyeret batang penghubung dan kelopak sedang ditutup.

Kelopak saat ini kehilangan satu bagian penting - pin kelopak. Engsel ini membuat kelopak bunga bergerak. Engsel duduk di sebuah bar (lihat gambar di bawah) yang disolder ke setiap kelopak sejajar dengan alasnya. Pin kelopak harus berada di atas permukaan kelopak agar dapat terbuka penuh seperti yang Anda lihat di animasi. Buat sendiri satu batang seperti itu dengan engsel dari tabung dan solder ke kelopak pertama. Ini akan membutuhkan banyak percobaan dengan ukuran batang dan jaraknya dari dasar kelopak untuk memungkinkan pushrod membuka dan menutup kelopak sepenuhnya. Gunakan metode trial and error. Solder batang ke posisi yang sesuai dan tambahkan batang penghubung antara pin pushrod dan pin kelopak. Jika Anda memiliki pushrod di posisi atas dan petal dalam posisi terbuka penuh, jarak antara pin pushrod dan pin petal adalah panjang connecting rod.

Sekarang coba gerakkan dengan pushrod ke atas dan ke bawah untuk melihat apa yang terjadi. Jika berfungsi dengan baik tanpa menggosok dan kelopak dapat ditutup dan dibuka, Anda selesai (dengan kelopak pertama)! Jika tidak, coba panjang batang penghubung yang berbeda atau posisi batang yang berbeda. Untuk menyelesaikan bunga, duplikat batang dan batang penghubung yang sama pada masing-masing dari 5 kelopak yang tersisa. 3 kelopak luar harus sedikit lebih rendah saat bunga dibuka agar kelopak bagian dalam tumpang tindih dengan benar saat menutup. Pada akhirnya, Anda harus bisa menutup dan membuka bunga itu. Jangan panik jika Anda gagal melakukan bentuk yang sempurna untuk percobaan pertama. Itu hanya berarti semua kelopak tidak sama sempurna. Mungkin perlu banyak penyesuaian untuk membuat bentuk yang sempurna - panjang batang penghubung dan posisi batang yang sedikit berbeda. Luangkan waktu Anda di sini! Hadiah sudah dekat.

Putik pelangi (1 jam)

Jika Anda berhasil mencapai langkah ini, Anda adalah raja dan bagian tersulit ada di belakang Anda. Di dalam bunga, saya menempatkan 7 LED NeoPixels untuk bersinar dari dalam. LED ini hanya memerlukan satu kabel DATA untuk dikontrol dan dapat dirantai daisy. Saya menyolder 6 di antaranya di antara dua segi enam kecil (tentu saja templat lain). Segi enam bawah adalah kabel ground dan yang atas adalah tegangan positif. Solder kabel NeoPixels yang sesuai ke cincin segi enam ini. LED ini ditempatkan di bawah sudut 45 derajat untuk bersinar ke samping. Untuk membuatnya lebih baik, tempatkan LED ketujuh di tengah segi enam atas. Terakhir namun tidak kalah pentingnya, sambungkan DATA IN dan OUT lead untuk membuat rantai daisy.

Struktur ini akan membutuhkan dua kabel turun ke alas - VCC dan DATA. Tanah diambil dari bingkai bunga. Solder satu kawat tembaga berinsulasi 0,3 tipis ke cincin atas untuk VCC dan yang kedua ke LED pertama dalam rantai daisy untuk DATA. Kabel-kabel ini pada akhirnya akan turun ke alas. Buatlah setidaknya 3 kali panjang batang. Ujung kabel ini harus dilepaskan dari isolasi transparannya sebelum disolder. Panas tidak akan menghancurkannya. Gunakan pisau untuk melepaskan insulasi. Anda dapat menguji LED sekarang untuk memastikannya berfungsi. Bersikaplah lembut dengan kabel tembaga ini. Jika Anda secara tidak sengaja melepaskan insulasi di tempat lain selain ujungnya, Anda mungkin mengalami korsleting!

Pekerjaan penyolderan kuningan terakhir sekarang akan terjadi! Tempatkan struktur putik ke tengah bunga. Sedikit mengimbanginya dari dasar heksagonal mekar untuk meninggalkan cukup ruang untuk batang penghubung kelopak. Bagi saya, itu 1cm di atas segi enam mekar. Hubungkan semua simpul dengan batang kuningan untuk membuat struktur yang kokoh. Bunga selesai! Uji sekarang untuk melihat apakah kelopak bunga masih bisa bergerak bebas.

Membuat akar (2j)

Baik kelopak dan LED NeoPixel membutuhkan kabel daya untuk bersinar. Seluruh patung bunga akan menjadi tanah tetapi ada 6 kelopak bunga dan 2 kabel untuk NeoPixels yang perlu dihubungkan ke Arduino di alasnya. Untuk itu, kabel tembaga tipis 0,3 mm dengan insulasi transparan akan dililitkan di sekitar tabung batang. Dua kabel untuk Neopiksel sudah selesai. Solder 6 lagi ke kawat vena longgar di setiap kelopak dekat engsel dan lewati kawat melalui struktur bunga ke bawah batang. Pastikan Anda tidak menekuk kabel ini pada sudut yang tajam, karena akan segera putus.

Sekarang kumpulkan semua kabel di dekat ujung atas tabung batang dan kencangkan menggunakan pita pengikat. Jangan terlalu kencang, biarkan kabel ditarik melewatinya. Sekarang atur dengan baik semua kabel di dalam bunga. Pastikan kelopak bunga bebas bergerak dan pushrod tidak bertabrakan dengan kabel juga. Selesai? Sekarang kencangkan pita pengikat.

Kabel sekarang terbang di sekitar batang tak terkendali. Anda harus dengan sabar dan perlahan membungkusnya di batang. Dengan rapat dan merata. Butuh setidaknya satu jam untuk menyelesaikan langkah ini. Saat Anda berada di ujung batang, letakkan pita pengikat lain untuk mengamankan kabel di sana dan gunakan lem super bening untuk memperbaikinya di tempatnya. Pastikan untuk tidak menutup pipa dengan pushrod!

Kabel terakhir yang hilang adalah arde. Solder kawat tembaga lain ke ujung bawah batang. Anda harus berakhir dengan 9 kabel yang keluar dari bunga. Sebaiknya sekarang sambungkan semua kabel ke Arduino dan uji apakah tidak ada korsleting dan semua LED menyala.

Pot bunga (2 jam)

Saya ingin bunga itu tumbuh dari pot bunga buatan yang juga akan menyembunyikan semua barang elektronik. Saya menggunakan sepotong kayu dan mengolahnya menjadi silinder dengan tinggi 4cm dan diameter 9cm. Saya tidak memiliki mesin bubut, jadi saya menggunakan gergaji bundar untuk memotong bentuk mentah dan kemudian bor tekan untuk bertindak sebagai mesin bubut improvisasi. Kemudian saya mengukir lubang sedalam 2,5 cm dan diameter 7 cm menggunakan pemotong frais tangan agar sesuai dengan servo, Arduino Nano, dan IC sensor sentuh. Di sisi bawah silinder, juga terdapat lubang kecil untuk pas dengan port USB Arduino Nano agar dapat menghubungkan kabel USB dari samping.

Jika Anda memiliki pot bunga, bor lubang berdiameter batang bunga Anda dengan kabel di tempat bunga akan tumbuh - mungkin di tengahnya. Cobalah untuk menyesuaikan bunga Anda. Hati-hati dengan kabelnya. Jika Anda menekuknya di bawah sudut yang tajam, mereka akan patah. Pada akhirnya, saya juga menambahkan lubang besar dari bagian dalam alas untuk memberi lebih banyak ruang untuk lengan servo dan batang penghubung.

Anda dapat membuat pot bunga apa pun yang Anda suka, hanya perlu diingat bahwa Anda harus memasukkan semua barang elektronik di dalamnya.

Sentuh daun-pad (1j)

Tulip mekanis membutuhkan semacam elemen interaktif yang memungkinkan orang untuk membuatnya mekar. Saya telah memilih IC sensor sentuh TTP223 dari proyek Arduinoflake saya. Tapi di mana harus meletakkan touchpad? Saya telah memutuskan untuk menambahkan sedikit daun di sisi batang yang akan membuat bunga lebih alami dan juga akan bertindak sebagai touchpad kapasitif. Ketika disentuh akan memicu sensor TTP223 dan memberitahu Arduino untuk membuka bunga. Ini akan menjadi sepotong kue untuk Anda sekarang ketika Anda telah menyelesaikan patung yang begitu rumit. Gunakan teknik yang sama seperti untuk kelopak, hilangkan saja LEDnya. Saya juga telah membuat template untuk diri saya sendiri. Bor lubang kecil lainnya ke alas di sebelah lubang batang untuk menahan daun di tempatnya.

Jika Anda tidak ingin atau tidak dapat menggunakan sensor sentuh kapasitif, Anda dapat menambahkan tombol tekan normal ke alas. Ini akan melakukan pekerjaan yang sama.

Menyatukannya (2 jam)

Ini adalah langkah terakhir dari perakitan! Kamu gugup? Masukkan batang bunga Anda ke dalam lubangnya di alas lagi. Sekarang, ini adalah langkah penting. Ukur dua kali sebelum Anda memotong! Buka bunga itu ke pembukaan penuhnya. Dan potong ujung pushrod yang keluar dari batang rata dengan batangnya. Sekarang ketika Anda menutup bunga lagi, pushrod harus menarik keluar dari batang. Solder pipa pendek tegak lurus dengan pushrod. Ini akan menjadi engsel untuk batang penghubung dengan lengan servo. Saat Anda melepaskan bunga dan batangnya, itu akan berhenti terbuka penuh karena pipa juga akan berfungsi sebagai stop.

Anda sekarang dapat merekatkan batang ke alas. Pastikan ujung tabung batang rata dengan bagian dalam alas untuk menyisakan ruang sebanyak mungkin untuk lengan servo. Saya telah menggunakan superglue lagi. Pastikan Anda tidak merekatkan pushrod dengan pipa batang. Itu akan merusak pekerjaan Anda!

Selanjutnya, rekatkan di bantalan daun. Sebelum Anda menyolder kabel tembaga agar dapat menghubungkan bantalan daun ke sensor sentuh TTP223.

Letakkan bunga terbalik. Hati-hati di sekitar patung, jangan rusak sekarang! Itu akan sangat sia-sia! Pertama, menempatkan servo ke posisi akhir. Lengannya harus sudah disiapkan dari tempat uji. Temukan saja sweet spot di mana lengan servo akan bergerak bebas di dalam alas dan hubungkan batang penghubung ke pushrod. Untuk mengamankan servo di tempat saya menggunakan sepotong lembaran logam dan dua sekrup. Saya ingin fleksibel di sini jika terjadi kerusakan servo atau penempatan yang salah. Tapi jika Anda yakin Anda bisa merekatkannya.

Jika Anda memiliki modul TTP223, solder kabel ke leaf-pad pada touchpad modul TTP223 asli (di seberang tempat komponen berada). Anda perlu menggores topeng sutra pelindung untuk mengekspos lapisan tembaga. Rekatkan modul sentuh.

Kabel daun kelopak (ada 6 di antaranya) harus dihubungkan ke Arduino melalui resistor pembatas arus. Kelopak pada dasarnya adalah LED. Saya telah menggunakan enam resistor 200ohm yang disolder pada sepotong kecil papan perf. Rekatkan.

Dan komponen terakhir yang menjadi tumpuan adalah Arduino Nano sendiri sebagai otak dari mekanik tulip. Tempatkan pada lubang di alas sehingga dapat dihubungkan ke komputer Anda dan sambungkan dengan semua komponen lainnya:

  • kabel data servo D9 (diperlukan untuk perpustakaan Adafruit_TiCoServo)
  • Data sensor sentuh TTP223 D2 (untuk memanfaatkan interupsi)
  • Data Neopiksel A0 (pin keluaran apa pun dapat digunakan)
  • Kelopak D3, D4, D5, D6, D10, D11 (pin output apa pun bisa digunakan)
  • Kabel ground bunga GND
  • Kabel VCC Neopiksel 5V
  • Sensor sentuh TTP223 GND GND
  • VCC sensor sentuh TTP223 5V
  • GND Servo GND
  • VCC Servo 5V

Pengkodean (1 jam)

Pemrograman adalah bagian termudah dari semuanya. Anda sudah memiliki kode untuk servo. Sekarang Anda hanya perlu dapat mengontrol NeoPixels, LED pada kelopak dan sensor sentuh. Lihatlah kode saya terlampir. Ini akan memberi Anda semua yang Anda butuhkan untuk membuat bunga Anda berfungsi. Jika Anda menggunakan skema pengkabelan saya, Anda dapat langsung menggunakannya. Tapi jangan lupa untuk mengubah nilai servo OPEN dan CLOSED. Mereka pasti akan berbeda.

Selesai!

Jangan lupa untuk membagikan kreasi Anda! Seperti artikel ini. Pertimbangkan juga untuk mendukung saya dengan membeli beberapa produk saya di toko Tindie saya.

Anda dapat menemukan saya dan proyek terbaru saya di akun Twitter saya.

Kode

  • bunga.ino
flower.inoArduino
Tulip source code
#include #include #include "SoftPWM.h"#define NEOPIXEL_PIN A0#define TOUCH_SENSOR_PIN 2#define SERVO_PIN 9//#define SERVO_define 1750#define SERVO_PIN definisikan SERVO_SAFE_MIDDLE 1000#definisikan SERVO_CLOSED 775#define RED 0#define GREEN 1#define BLUE 2float currentRGB[] ={0, 0, 0};float changeRGB[] ={0, 0, 0};byte newRGB[] ={ 0, 0, 0};#define MODE_SLEEPING 0#define MODE_BLOOM 3#define MODE_BLOOMING 4#define MODE_BLOOMED 5#define MODE_FADE 6#define MODE_FADING 7#define MODE_FADED 8#define MODE_FALLINGASLE; ] ={3, 4, 5, 6, 10, 11};Adafruit_NeoPixel piksel =Adafruit_NeoPixel(7, NEOPIXEL_PIN, NEO_GRB + NEO_KHZ400);Adafruit_TiCoServo servo;int servoChange =1; // buka posisi servo =SERVO_SAFE_MIDDLE;pengaturan batal() { Serial.begin(115200); piksel.mulai(); servo.attach(SERVO_PIN, SERVO_CLOSED, SERVO_OPEN); pinMode(TOUCH_SENSOR_PIN, INPUT); attachInterrupt(digitalPinToInterrupt(TOUCH_SENSOR_PIN), _touchISR, RISING); randomSeed(analogRead(A7)); SoftPWMMulai(); pixelsUnifiedColor(pixels.Color(0, 0, 0)); //pixelsUnifiedColor(pixels.Color(255, 70, 0)); persiapanCrossFade(140, 70, 0, 140); servo.write(servoPosition);}int counter =0;byte speed =15;void loop() { boolean done =true; switch (mode) { kasus MODE_BLOOM:prepareCrossFadeBloom(500); ubahMode(MODE_BLOOMING); merusak; kasus MODE_BLOOMING:selesai =crossFade() &&selesai; selesai =openPetals() &&selesai; done =petalsBloom(counter) &&done; if (selesai) { changeMode(MODE_BLOOMED); } merusak; kasus MODE_FADE://prepareCrossFade(0, 0, 0, 800); ubahMode(MODE_FADING); merusak; kasus MODE_FADING:selesai =crossFade() &&selesai; selesai =closePetals() &&selesai; done =petalsFade(counter) &&done; if (selesai) { changeMode(MODE_FADED); } merusak; kasus MODE_FADED://prepareCrossFade(140, 70, 0, 140); changeMode(MODE_FALLINGASLEEP); merusak; case MODE_FALLINGASLEEP:done =crossFade() &&done; selesai =closePetals() &&selesai; if (selesai) { changeMode(MODE_SLEEPING); } merusak; kasus MODE_RAINBOW:pelangi(penghitung); merusak; } penghitung++; delay(speed);}void changeMode(byte newMode) { if (mode !=newMode) { mode =newMode; penghitung =0; }}void _touchISR() { if (mode ==MODE_SLEEPING) { changeMode(MODE_BLOOM); } else if (mode ==MODE_BLOOMED) { changeMode(MODE_FADE); }}// petals animationsboolean petalsBloom(int j) { if (j <250) { return false; // delay } if (j> 750) { mengembalikan true; } int val =(j - 250) / 2; for (int i =0; i <6; i++) { SoftPWMSet(petalPins[i], val); } return false;}boolean petalsFade(int j) { if (j> 510) { return true; } for (int i =0; i <6; i++) { SoftPWMSet(petalPins[i], (510 - j) / 2); } return false;}// animationsvoid prepareCrossFadeBloom(durasi int tidak ditandatangani) { byte color =random(0, 5); switch (warna) { case 0:// putih prepareCrossFade(140, 140, 140, durasi); merusak; kasus 1:// merah prepareCrossFade(140, 5, 0, durasi); merusak; kasus 2:// biru prepareCrossFade(30, 70, 170, durasi); merusak; case 3:// pink prepareCrossFade(140, 0, 70, durasi); merusak; kasus 4:// orange persiapanCrossFade(255, 70, 0, durasi); merusak; }}pelangi kosong(int j) { uint16_t i; byte num =pixels.numPixels() - 1; pixels.setPixelColor(pixels.numPixels() - 1, 100, 100, 100); for (i =0; i =SERVO_OPEN) { mengembalikan nilai true; } posisi servo ++; servo.menulis (servoPosition); return false;}boolean closePetals() { if (servoPosition <=SERVO_CLOSED) { mengembalikan true; } posisi servo --; servo.menulis (servoPosition); return false;}// utilitas functionvoid pixelsUnifiedColor(uint32_t color) { for (unsigned int i =0; i  0 &¤tRGB[i]  newRGB[i]) { currentRGB[i] =currentRGB[i] + changeRGB[i]; } else { currentRGB[i] =newRGB[i]; } } pixelsUnifiedColor(pixels.Color(currentRGB[RED], currentRGB[GREEN], currentRGB[BLUE])); /* Serial.print(currentRGB[RED]); Serial.print(""); Serial.print(RGB saat ini[HIJAU]); Serial.print(""); Serial.print(RGB saat ini[BIRU]); Serial.println(); */ return false;}uint32_t colorWheel(byte wheelPos) { // Masukkan nilai 0 hingga 255 untuk mendapatkan nilai warna. // Warna adalah transisi r - g - b - kembali ke r. wheelPos =255 - wheelPos; if (wheelPos <85) { mengembalikan piksel.Warna(255 - wheelPos * 3, 0, wheelPos * 3); } if (wheelPos <170) { wheelPos -=85; return pixels.Color(0, wheelPos * 3, 255 - wheelPos * 3); } wheelPos -=170; return pixels.Color(wheelPos * 3, 255 - wheelPos * 3, 0);}

Proses manufaktur

  1. Kuningan
  2. Piano Sentuh Kapasitif Portabel
  3. Apa itu Tautan Mekanis?
  4. Cara Memproduksi Komponen Mekanik Presisi
  5. Mengapa Anda Membutuhkan Tukang Besi Mekanik?
  6. Pengantar Pers Mekanik
  7. Apa itu Pers Mekanis?
  8. Pengantar Bantalan Mekanik
  9. Panduan Cepat untuk Mekanik Punch Press
  10. Memahami Bantalan Mekanik