Taula de continguts:

Dent de lleó interactiu: 11 passos (amb imatges)
Dent de lleó interactiu: 11 passos (amb imatges)

Vídeo: Dent de lleó interactiu: 11 passos (amb imatges)

Vídeo: Dent de lleó interactiu: 11 passos (amb imatges)
Vídeo: Основные ошибки при возведении перегородок из газобетона #5 2024, De novembre
Anonim
Image
Image
Prepareu l’anell NeoPixel
Prepareu l’anell NeoPixel

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

Tallar les tires de LEDs
Tallar les tires de LEDs
Tallar les tires de LEDs
Tallar les tires de LEDs

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

Soldeu els LED
Soldeu els LED
Soldeu els LED
Soldeu els LED
Soldeu els LED
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

Preparant l’esquena
Preparant l’esquena
Preparant l’esquena
Preparant l’esquena

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

Cablatge del micròfon i Arduino
Cablatge del micròfon i Arduino
Cablatge del micròfon i Arduino
Cablatge 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

Programació de l'Arduino
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

Canvi de colors, lluminositat i llindar del sensor
Canvi de colors, lluminositat i llindar del sensor
Canvi de colors, lluminositat i llindar del sensor
Canvi de colors, lluminositat i 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

Fent el circuit més permanent
Fent 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

Crea una imatge
Crea 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

Posant-ho en comú
Posant-ho en comú

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

Aprendre dels errors
Aprendre dels errors
Aprendre dels errors
Aprendre dels errors
Aprendre dels errors
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: