Taula de continguts:
- Pas 1: prepareu l'anell NeoPixel
- Pas 2: tallar les tires de LED
- Pas 3: soldeu els LED
- Pas 4: Preparació de la part posterior
- Pas 5: Connexió del micròfon i Arduino
- Pas 6: Programació de l'Arduino
- Pas 7: canviar els colors, la brillantor i el llindar del sensor
- Pas 8: fer el circuit més permanent
- Pas 9: creeu una imatge
- Pas 10: ajuntar-lo
- Pas 11: Aprendre dels errors
Vídeo: Dent de lleó interactiu: 11 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Aquest projecte mostra com fer una imatge interactiva d’un dent de lleó. Comença com una flor groga amb LED per a pètals i després es converteix en un rellotge blanc de dent de lleó, que es pot fer volar perquè les llavors es dispersin.
Es basa en una bella obra d'art de Qi Jie, la imatge del qual es va inspirar en un disseny d'una sola flor de Jessie Thompson i Zachory Berta. Vaig fer la meva sobre tela i la vaig emmarcar en un cèrcol de tapisseria per anar a la paret de l’espai de producció de tecnologia i tèxtils de Devon, Anglaterra, com a exemple d’un projecte per a principiants que combina la costura amb Arduino.
Vídeo de la pintura de llum de Qi Jie
Vídeo del disseny d'una sola flor de Jessie Thompson i Zachory Berta
El codi per als dos projectes existents està disponible i he pensat que seria fàcil de fer, però les instruccions eren mínimes i va caldre diversos intents abans de trobar un mètode que funcionés. Així doncs, aquí teniu les instruccions completes i els consells per estalviar temps per a una remescla que combina elements tant de dissenys com de modificacions pròpies.
Els detalls del que no funcionava per a mi són al final per a tothom que estigui interessat en saber per què he escollit aquesta manera.
Codi per a la llum de Qi Jie
Codi per a quadres de flors petites de Jessie Thompson i Zachory Berta
Materials
- Arduino UNO
- Anell Adafruit de 12 Neopíxels
- Franja de 5V d'11 LED RGB
- Sensor de micròfon de so
- Filferros de pont
- Bateria recarregable de 5V amb connexió USB A.
- Cable de la impressora (cable USB A a B)
- Glue Dots o Hot Glue
- Targeta A4
- Teixit de cotó crema de 30 cm x 30 cm, com ara una funda de coixí vella
- Pintura de tela verda
- Fil de cotó marró
- Cartró ondulat de 70cm x 50cm, com ara caixes de pizza
- Cinta adhesiva
- Cèrcol de brodat de 9 polzades per emmarcar la imatge
- 9 pestanyes autoadhesives de velcro
Eines
- S'ha descarregat un equip amb Arduino IDE
- Soldador sense soldadura de plom
- Taula de pa per circuit de proves
- Decapadors / talladors de filferro
- Agulla de cosir
- Bolígraf
- Tisores
Pas 1: prepareu l'anell NeoPixel
Soldeu cables de diferents colors a cadascun dels blocs d’alimentació, terra i dades de la part posterior de l’anell NeoPixel.
Si teniu una versió diferent de l'anell, és possible que els vostres cables no estiguin a la mateixa posició que la meva foto.
Anoteu quins cables són d’entrada i sortida, així com de positius, de dades i de terra, perquè les marques d’aquestes es troben a la part inferior de l’anell i no seran visibles quan l’anell estigui en posició.
Pas 2: tallar les tires de LED
Retalleu 11 LED individuals d'una tira de LED RGB, tenint cura de tallar al llarg de la línia central per deixar coixinets de soldadura als dos costats del tall. Feu una mica de soldadura a la part superior de cada coixinet.
Pas 3: soldeu els LED
Feu un forat al mig de la targeta per adaptar-lo al micròfon. Amb els punts de cola, col·loqueu l’anell de neo píxels i els LEDs individuals a la posició tal com es mostra, assegurant-vos que totes les fletxes dels LED s’alinearan de la mateixa manera quan les margarides s’encadenin.
Soldeu els cables de sortida de l’anell al primer LED individual, fent coincidir els cables positius, de terra i de dades amb els mateixos coixinets d’ambdós LED.
La forma més ràpida i senzilla que he trobat per unir els LED és unir un cable de pont en fils de coure separats. Connecteu una cadena per enllaçar cadascun dels coixinets soldats dels LED al següent, coincidint amb el positiu, les dades i el sòl. Només es necessita un toc ràpid d’un soldador en calent perquè les pastilles s’han soldat prèviament al pas anterior. En lloc de tallar els cables en aquesta etapa, passeu-los per la part superior del LED per arribar a les pastilles soldades de l’altre costat. Assegureu-vos que no es creuen ni es toquen cables, soldeu-los amb els coixinets i continueu rodant fins a la part d’entrada de l’últim LED.
No connecteu un cable al costat de sortida de l'últim LED. A diferència d’alguns LEDs que potser coneixeu, no cal que completeu un circuit rodó que porti l’alimentació a terra, ja que heu estat connectant línies positives i de terra separades durant tot el trajecte. Talleu tots els cables que passen per la part superior dels LED de manera que només tingueu cables que s’enllacen entre ells.
Consell: per evitar que es toquin els cables quan es giren les cantonades, torneu a enfilar-los en una petita tira d’aïllament de plàstic que prèviament s’havia tret.
Pas 4: Preparació de la part posterior
Feu un altre forat a la targeta blanca per als cables d’entrada i feu-los passar.
Separeu els dos anells del cèrcol de tapís. Dibuixa la part exterior de l’anell més petit en 5 trossos de cartolina ondulada i retalla-la. Tallar forats al mig de 3 dels cercles aproximadament a 2 cm de la vora per fer anells i tallar una escletxa de 5 mm en cadascun. Enganxeu els anells uns sobre els altres, alineant les escletxes i enganxeu-lo a un dels cercles restants de la targeta.
Pas 5: Connexió del micròfon i Arduino
Connecteu el vostre Arduino al sensor del micròfon i a l'anell LED tal com es mostra. He utilitzat TinkerCad per crear el diagrama del circuit, que no té una imatge de micròfon, de manera que he substituït un altre sensor que utilitza els mateixos pins i funciona de la mateixa manera en la simulació.
Per veure la simulació, aneu a https://www.tinkercad.com/things/5cgI2wluA0c. Arrossegueu el cercle unit al sensor a la zona activa per simular que bufa al micròfon. Els LED estan en tires a 6, de manera que l’últim LED de la simulació no forma part del disseny i no s’encén.
Pas 6: Programació de l'Arduino
Obriu Arduino IDE a l'ordinador i inicieu un nou esbós. Esborreu tot el contingut de l'esbós i copieu i enganxeu-hi aquest codi.
// Adaptat mitjançant l’esbós senzill de NeoPixel Ring (c) 2013 Shae Erisson // i el codi del sensor de https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Quin pin del Arduino està connectat als NeoPixels? #define PIN 6 // Quants NeoPixels estan connectats a l'Arduino? #define NUMPIXELS 23 // Quan configurem la biblioteca NeoPixel, li indiquem quants píxels i quin pin utilitzar per enviar senyals. // Tingueu en compte que per a les tires de NeoPixel més antigues és possible que hàgiu de canviar el tercer paràmetre; consulteu l'exemple de prova de cadena // per obtenir més informació sobre possibles valors. Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // retard per mitjà segon int sensorPin = A0; // seleccioneu el pin d'entrada per al sensor int sensorValue = 0; // variable per emmagatzemar el valor que prové del llindar int const del sensor = 200; // un nivell de llindar arbitrari que està dins del rang de la configuració del buit d'entrada analògica () {pixels.begin (); // Això inicialitza la biblioteca NeoPixel. pixels.setBrightness (20); // Estableix la brillantor Serial.begin (9600); } void loop () {// Per a un conjunt de NeoPixels, el primer NeoPixel és 0, el segon és 1, fins al recompte de píxels menys un. // LED de dent de lleó // pixels. Color pren valors RGB, des de 0, 0, 0 fins a 255, 255, 255 pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (6, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (8, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (10, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (11, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Desactivat. pixels.show (); // Això envia el color de píxels actualitzat al maquinari. delay (delayval * 6); // Canvi gradual de flor a cap de llavor // pixels. Color pren valors RGB, des de 0, 0, 0 fins a 255, 255, 255 pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // pixels blavosos.setPixelColor (6, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (7, pixels. Color (226, 246, 255)); // pixels blau blavós.setPixelColor (8, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // pixels blavosos.setPixelColor (10, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // blanc blavós. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Desactivat. pixels.show (); // Això envia el color de píxels actualitzat al maquinari. delay (delayval * 6); // LED de capçal de llavors pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // desactiva pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Desactivat. pixels.show (); // Això envia el color de píxels actualitzat al maquinari. delay (delayval * 3); // Retard per un període de temps (en mil·lisegons). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // desactiva pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Taronja. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Desactivat. pixels.show (); // Això envia el color de píxels actualitzat al maquinari. delay (delayval * 3); // Retard per un període de temps (en mil·lisegons). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (1, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (7, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Desactivat. pixels.show (); // Això envia el color de píxels actualitzat al maquinari. delay (delayval); // Retard per un període de temps (en mil·lisegons). // Llegiu el valor del sensor i mostreu-lo al monitor sèrie sensorValue = analogRead (sensorPin); Serial.println (sensorValue); retard (250); // Tot i que el valor del sensor és inferior al llindar, comproveu el valor del sensor i imprimiu-lo al monitor sèrie. Quan el valor és superior al llindar, l'esbós pot continuar mentre que (sensorValue <llindar) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); retard (250); } // Primers LED de vent pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (12, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (13, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (14, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (15, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (16, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Desactivat. pixels.show (); // Això envia el color de píxels actualitzat al maquinari. delay (delayval); // Retard per un període de temps (en mil·lisegons). // LED de segon vent pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (15, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Desactivat. pixels.setPixelColor (17, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (18, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (19, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (20, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (21, pixels. Color (226, 246, 255)); // Blanc blavós. pixels.setPixelColor (22, pixels. Color (226, 246, 255)); // Blanc blavós.pixels.show (); // Això envia el color de píxels actualitzat al maquinari. endarreriment (2000); // Retard per un període de temps (en mil·lisegons). }
Connecteu el vostre Arduino a l'ordinador amb el cable de la impressora USB
Aneu a Eines> Tauler i seleccioneu la placa UNO Arduino / Genuino
Aneu a Port i assegureu-vos que teniu la placa connectada al port USB adequat. Si no esteu segur, podeu desconnectar l’Arduino i veure quin port desapareix de la llista. Torneu-lo a connectar i el port es mostrarà de nou.
Pengeu l’esbós fent clic a la icona Puja, que es mostra a la foto comentada. Els llums haurien de parpellejar a l’Arduino mentre es penja. Quan s'acabi de carregar la meitat dels LEDs de l'anell de neo píxels, s'il·luminaran de color groc i passaran a un anell complet de llums blanques. Bufeu el micròfon per provar el circuit. Els LED de les capes exteriors s’han d’il·luminar al seu torn. Comproveu la soldadura de qualsevol LED que no funcioni.
Pas 7: canviar els colors, la brillantor i el llindar del sensor
Colors
Els colors dels LED s’estableixen mitjançant valors de color RGB (vermell verd blau). Si preferiu utilitzar colors diferents als que he utilitzat, podeu trobar els valors dels colors que vulgueu mitjançant una calculadora de colors RGB en línia com www.w3schools.com/colors/colors_rgb.asp
Per apagar un LED, utilitzeu els valors 0, 0, 0.
Per establir el LED a blanc, utilitzeu els valors 255, 255, 255. El codi del pas anterior utilitza un blanc blavós amb els valors 226, 246, 255 i un taronja amb els valors de 255, 165, 0.
Brillantor
Per canviar la brillantor dels LED, aneu a la secció de configuració del codi buit i cerqueu la línia de codi següent:
pixels.setBrightness (20); // Estableix la brillantor
Editeu el número entre claudàtors per canviar la brillantor dels LED.
Llindar del sensor
Quan executeu el programa, la meitat de l’anell NeoPixel comença a ser groc per representar una flor i canvia gradualment a un cercle complet de LEDs blancs per representar el cap de llavor. En aquest punt, el programa hauria de fer una pausa fins que bufeu el sensor del micròfon. Si el programa continua i il·lumina les capes externes dels LED sense activar-se des del sensor, aneu a la secció de configuració de buits del codi i baixeu el valor que es mostra a continuació. Augmenteu el valor si el programa es posa en pausa però no respon quan feu saltar el sensor.
llindar const int = 200;
Pas 8: fer el circuit més permanent
Quan el circuit funcioni, desconnecteu l'Arduino de l'ordinador i traieu el sensor del micròfon de la placa de control. Els cables de soldadura de l’Arduino al sensor del micròfon fan que el mateix circuit sigui més permanent. Premeu el micròfon pel forat de la targeta per darrere. Si cal, doblegueu acuradament el micròfon 90 graus perquè el tauler quedi pla darrere de la targeta. Connecteu la bateria a l'Arduino mitjançant el cable de la impressora i tota la seqüència hauria de funcionar.
Pas 9: creeu una imatge
Feu un forat a la tela on vulgueu el micròfon. Vaig utilitzar un soldador calent per cremar un petit forat i el vaig retallar amb unes tisores fins que el micròfon quedés ben ajustat. Pinteu i cosiu la vostra flor sobre la tela. Quan la pintura s’assequi, fixeu-la al cèrcol de brodat i retalleu l’excés de tela, deixant una petita vora.
Per veure si algun dels components del circuit es mostra a través de la tela, col·loqueu temporalment la tela i el cèrcol a la part superior de la targeta amb el micròfon que apareix a través del forat. Si cal, tapeu el circuit amb capes de cinta adhesiva, comprovant-ho de tant en tant, fins que els components ja no es mostrin. Els LED són prou brillants com per veure’ls a través d’una capa de cinta adhesiva. Si heu d’afegir encara més capes, podeu fer que els LED siguin més brillants ajustant el codi tal com es mostra al pas 7.
Col·loqueu la tela i el cèrcol de nou a la part superior de la targeta com abans i assegureu-la al seu lloc enganxant la tela addicional a la part posterior de la targeta.
Pas 10: ajuntar-lo
Enganxeu la targeta blanca al cercle de cartró ondulat que tanca el micròfon, però no el paquet Arduino i la bateria, que han de girar la vora del cartró amb els cables que passen per les escletxes.
Connecteu l'últim cercle de cartró amb velcro perquè pugueu accedir a la bateria. Feu un forat al cartró on vulgueu penjar-lo en un ganxo a la paret.
Pas 11: Aprendre dels errors
El meu primer intent va ser amb adhesius de circuit i cinta de coure. Els adhesius de circuit són petits LED muntats superficialment en adhesius amb coixinets de coure. Venen de la companyia de Qi Jie, Chibitroniks, i vaig pensar que serien perfectes.
No podia obtenir una connexió fiable mitjançant cinta de coure o cinta platejada i, quan vaig soldar filferro als adhesius, només podia aconseguir que s’encenguessin una sèrie de 3 adhesius LED mitjançant una bateria de 9V. Va quedar clar que no estan pensats per a projectes de llum múltiple com jo esperava. Quan vaig mirar més de prop una pàgina web sobre adhesius de circuits, un projecte amb 4 llums va resultar ser un tipus diferent de LED. Podria alimentar adhesius de circuits amb una bateria de 12V, però seria massa voluminós per cabre dins de la imatge.
Després vaig provar LEDs cosibles. Vaig pensar que tenir només alimentació i terra seria més fàcil de connectar que els LED programables que tinguin línies d’alimentació, terra i dades. Però va resultar ser un circuit més complicat que necessitava una font d’alimentació addicional i un MOSFET, que no tenia. Podria haver utilitzat NeoPixels cosibles, però són més cars.
Així, després d’uns quants inicis falsos, vaig acabar amb una sèrie de LED programables que són barats i fàcils d’utilitzar.
Recomanat:
BBC Micro: bit and Scratch: volant interactiu i joc de conducció: 5 passos (amb imatges)
BBC Micro: bit i Scratch: volant interactiu i joc de conducció: una de les tasques de la meva classe aquesta setmana és utilitzar el BBC Micro: bit per relacionar-me amb un programa Scratch que hem escrit. Vaig pensar que aquesta era l'oportunitat perfecta per utilitzar el meu ThreadBoard per crear un sistema incrustat. La meva inspiració per a la ratllada p
Mur interactiu de rajoles LED (més fàcil del que sembla): 7 passos (amb imatges)
Paret de rajoles LED interactiu (més fàcil del que sembla): en aquest projecte vaig construir una pantalla de paret LED interactiva amb peces impreses Arduino i 3D. La inspiració d’aquest projecte va venir parcialment de rajoles Nanoleaf. Volia arribar a la meva pròpia versió que no només fos més assequible, sinó també mo
Minecraft interactiu No introduïu espasa / signe (ESP32-CAM): 15 passos (amb imatges)
Minecraft interactiu No introduïu espasa / signe (ESP32-CAM): hi ha realment diversos motius pels quals aquest projecte va sorgir: 1. Com a autor de la biblioteca multitarea cooperativa TaskScheduler, sempre vaig tenir curiositat per combinar els avantatges de la multitarea cooperativa amb els avantatges de la preferència
Generador de fulls làser interactiu amb Arduino: 11 passos (amb imatges)
Generador de fulls làser interactiu amb Arduino: es poden utilitzar làsers per crear efectes visuals increïbles. En aquest projecte, he construït un nou tipus de pantalla làser que és interactiva i reprodueix música. El dispositiu fa girar dos làsers per formar dos fulls de llum semblants a vòrtex. He inclòs un sensor de distància
El Glowtrooper: un casc interactiu de Stormtrooper: 5 passos (amb imatges)
El Glowtrooper: un casc interactiu de Stormtrooper: Ei, nois! Avui us ofereixo una instrucció ràpida sobre com construir una làmpada interactiva de Star Wars Stormtrooper, amb llums multicolors i una caixa de ressonància funcional de 8 disparadors. Espero que totes les instruccions siguin fàcils de llegir i utilitzar, i espero que