Taula de continguts:
- Pas 1: recolliu materials
- Pas 2: Creació de circuits
- Pas 3: Dissenyar el guant
- Pas 4: soldar
- Pas 5: Codificació
- Pas 6: Canvis
Vídeo: Mà del ritme: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Aquest ciberglant tracta de fer el moviment adequat en el moment adequat.
Els llums van des del braç (colze) fins a la mà i, quan arribin a la mà, haureu de prémer els dits sobre la mini fotocèl·lula.
Si premeu la mà sobre la mini fotocèl·lula en el moment adequat, els leds es tornen verds. Si no, els leds es tornen vermells.
Pas 1: recolliu materials
- Un guant
- Teixit per allargar el guant
- Tira LED WS2812B
- Filferros
- Arduino
- Mini fotosell
Pas 2: Creació de circuits
En primer lloc, connecteu la tira LED a l’arduino. Podeu fer-ho connectant el + 5v al 5v de l’arduino. El Din ha d’estar connectat a A0 a l’arduino i el GND ha de connectar-se al GND a l’arduino.
També heu de connectar la mini fotocèl·lula a l’arduino mitjançant la connexió al cable de 5v des de la tira de leds i des de la mateixa font connectant-se amb un cable al PIN 6 de l’arduino. L'altra cara de la mini fotocèl·lula s'ha de connectar al cable GND des de la tira LED
Pas 3: Dissenyar el guant
El guant ha de tenir la mida adequada per adaptar-se a les tires led. Els leds han d’estar alineats perquè siguin més agradables de mirar.
Per a aquest joc has d’utilitzar el braç i vols poder moure’t lliurement. Això es pot aconseguir posant l'arduino al guant. Vaig fer servir velcro com a fixador per enganxar l’arduino al guant. A continuació, per establir més estabilitat, podeu posar una corda al voltant del guant i al voltant de l’arduino.
La mini fotocèl·lula s’ha cosit a l’interior del guant perquè es mantingui al seu lloc.
Per últim, heu d’amagar els cables perquè quedi millor. Això es pot fer amb tela que es cosirà a sobre dels cables.
Pas 4: soldar
Ara podeu assegurar els cables de connexió del circuit mitjançant la soldadura.
Pas 5: Codificació
// Un programa bàsic de proves de tires NeoPixel diàries.
// MILLORS PRÀCTIQUES DE NEOPIXEL per a una operació més fiable: // - Afegiu 1000 uF CAPACITOR entre les connexions + i - de la tira NeoPixel. // - MINIMITZAR LA LONGITUD DE CABLEATGE entre la placa del microcontrolador i el primer píxel. // - La DATA-IN de la tira NeoPixel hauria de passar per un RESISTOR de 300-500 OHM. // - EVITEU la connexió de NeoPixels en un CIRCUIT EN DIRECTE. Si ho heu de fer, SEMPRE // connecteu GROUND (-) primer, després + i després dades. // - Quan s’utilitza un microcontrolador de 3,3 V amb una tira NeoPixel alimentada amb 5 V, // es recomana ENCÀRRIC un convertidor de nivell lògic a la línia de dades. // (Ometre'ls pot funcionar bé al vostre banc de treball, però pot fallar al camp)
#include #ifdef _AVR_ #include // Obligatori per a Adafruit Trinket de 16 MHz #endif
// Quin pin de l'Arduino està connectat als NeoPixels? // En un Trinket o Gemma, us suggerim canviar-lo per 1: #define LED_PIN 6
// Quants NeoPixels estan connectats a l'Arduino? #define LED_COUNT 60
// Declareu el nostre objecte de tira NeoPixel: tira Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t color = strip. Color (127, 127, 127); // Color blanc, per defecte bool clicedCorrectly = false; // Argument 1 = Nombre de píxels a la tira de NeoPixel // Argument 2 = Número de pin Arduino (la majoria són vàlids) // Argument 3 = Indicadors de tipus de píxel, afegiu-los segons sigui necessari: // NEO_KHZ800 800 KHz bitstream (la majoria de productes NeoPixel amb / LEDs WS2812) // NEO_KHZ400 400 KHz (clàssics 'v1' (no v2) píxels FLORA, controladors WS2811) // Els píxels NEO_GRB estan connectats per a flux de bits GRB (la majoria de productes NeoPixel) // Els píxels NEO_RGB estan connectats per a flux de bits RGB (v1 píxels FLORA, no v2) // NEO_RGBW Els píxels estan connectats per a flux de bits RGBW (productes NeoPixel RGBW)
// funció setup (): s'executa una vegada a l'inici --------------------------------
void setup () {// Aquestes línies són específiques per admetre l'Adafruit Trinket 5V 16 MHz. // Qualsevol altre tauler, podeu eliminar aquesta part (però no en deixeu cap dany): #if definit (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // FIN del codi específic de Trinket.
pinMode (A0, INPUT); strip.begin (); // INICIALITZAR NeoPixel strip object (OBLIGATORI) strip.show (); // Desactiveu tots els píxels ASAP strip.setBrightness (10); // Estableix BRIGHTNESS a 1/5 aproximadament (màxim = 255)}
// funció loop (): s'executa repetidament sempre que el tauler estigui activat ---------------
bucle buit () {clickedCorrectly = theaterChaseOne (color); if (clicatCorrecte) {color = strip. Color (0, 255, 0); } else {color = strip. Color (255, 0, 0); }}
// Algunes funcions pròpies per crear efectes animats -----------------
// Llums de persecució a l’estil de teatre. Passa un color (valor de 32 bits, // a la strip. Color (r, g, b) tal com s’ha esmentat anteriorment) i un temps de retard (en ms) // entre fotogrames. bool theatreChaseOne (uint32_t color) {bool correcte = fals; bool clicedWrong = false; for (int index = 0; index 800) {// valor del sensor de llum si (índex <16) {// 2 leds abans de finalitzar, podeu fer clic a color = strip. Color (255, 0, 0); // leds de color vermell clicat Malament = cert; // ha fet clic malament, els leds es tornen vermells} else if (! clickedWrong) {// if not wrong color = strip. Color (0, 255, 0); // leds de color verd correctes = cert; // ha fet clic correcte i els leds es tornen verds}} strip.clear (); strip.setPixelColor (17 - índex, color); // llums led de primera fila strip.setPixelColor (18 + índex, color); // llums led de segona fila strip.setPixelColor (53 - índex, color); // llums led de tercera fila strip.show (); retard (300); } tornar correcte; }
Pas 6: Canvis
Vaig fer alguns canvis. En primer lloc, vaig amagar l'arduino, de manera que seria més còmode utilitzar la "mà Rythm" i, en segon lloc, vaig canviar una mica el codi. He canviat el codi perquè, quan premeu en el moment adequat, el color es converteixi en verd i els LEDS es moguin més ràpidament. En fer-ho, el LED Swill serà un 10% més ràpid que abans. Això fa que el joc sigui més interessant
Així és ara el codi:
// Un programa bàsic de proves de tires NeoPixel diàries. // MILLORS PRÀCTIQUES DE NEOPIXEL per a una operació més fiable: // - Afegiu 1000 uF CAPACITOR entre les connexions + i - de la tira NeoPixel. // - MINIMITZAR LA LONGITUD DE CABLEATGE entre la placa del microcontrolador i el primer píxel. // - La DATA-IN de la tira NeoPixel hauria de passar per un RESISTOR de 300-500 OHM. // - EVITEU la connexió de NeoPixels en un CIRCUIT EN DIRECTE. Si ho heu de fer, SEMPRE // connecteu GROUND (-) primer, després + i després dades. // - Quan s’utilitza un microcontrolador de 3,3 V amb una tira de NeoPixel alimentada amb 5 V, // es recomana fortament un CONVERTIDOR DE NIVELL LOGGIC a la línia de dades. // (Saltar-los pot funcionar bé al vostre banc de treball, però pot fallar al camp) #include #ifdef _AVR_ #include // Required for 16 MHz Adafruit Trinket #endif // Quin pin de l'Arduino està connectat als NeoPixels? // En un Trinket o Gemma us suggerim canviar-lo per 1: #define LED_PIN 6 // Quants NeoPixels estan connectats a l'Arduino? #define LED_COUNT 60 // Declareu el nostre objecte de tira NeoPixel: tira Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t color = strip. Color (127, 127, 127); // Color blanc, per defecte bool clicedCorrectly = false; int índex = 0; int interval = 300; int result = 0; unsigned long previousMs = millis (); // Argument 1 = Nombre de píxels a la tira de NeoPixel // Argument 2 = Número de pin Arduino (la majoria són vàlids) // Argument 3 = Indicadors de tipus de píxel, afegiu-los segons sigui necessari: // NEO_KHZ800 800 KHz bitstream (la majoria de productes NeoPixel amb / LEDs WS2812) // NEO_KHZ400 400 KHz (clàssics 'v1' (no v2) píxels FLORA, controladors WS2811) // Els píxels NEO_GRB estan connectats per a flux de bits GRB (la majoria de productes NeoPixel) // Els píxels NEO_RGB estan connectats per a flux de bits RGB (v1 píxels FLORA, no v2) // NEO_RGBW Els píxels estan connectats per a flux de bits RGBW (productes NeoPixel RGBW) // funció setup (): s'executa una vegada a l'inici -------------------- ------------ void setup () {// Aquestes línies són específiques per admetre l'Adafruit Trinket 5V 16 MHz. // Qualsevol altre tauler, podeu eliminar aquesta part (però no en deixeu cap dany): #if definit (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // FIN del codi específic de Trinket. Serial.begin (9600); while (! Serial) {; // espera que es connecti el port sèrie. Necessari només per al port USB natiu} pinMode (A0, INPUT); strip.begin (); // INICIALITZAR NeoPixel strip object (OBLIGATORI) strip.show (); // Desactiveu tots els píxels ASAP strip.setBrightness (10); // Estableix BRIGHTNESS a 1/5 aproximadament (màxim = 255)} // funció loop (): s'executa repetidament sempre que el tauler estigui en --------------- bucle buit () {unsms long currentMs = millis (); // Obtenció del valor int de l'hora actual = analogRead (A0); // Lectura del sensor de llum actual si (valor> 900 && resultat == 0) {// Si es prem el sensor i encara no s'ha registrat cap resultat, activi la captura del resultat si (índex = interval) {// Comproveu si bucle supera l'interval anteriorMs = actualMs; // Estableix el nou interval al temps actual + índex d’interval + = 1; // Estableix els leds un pas més al bucle si (índex> 17) {// Activador de l'índex de gestió del bucle = 0; if (result == 2) {// En un interval de resultats correcte = (int) max ((interval * 0,95), 50); // Accelera un 10%, fins a 50 ms d’interval / color = strip. Color (0, 255, 0); // Estableix els leds en verd} else if (result == 1) {// En un interval de resultats incorrecte = 300; // Restableix l'interval color = strip. Color (255, 0, 0); // Estableix els leds en vermell} else {// No hi ha cap resultat capturat color = strip. Color (255, 0, 0); // Estableix els leds en vermell} result = 0; // Restableix el resultat per al següent bucle} theaterChaseOne (color, índex); // Enceneu els leds per mostrar-los. }} // Algunes funcions pròpies per crear efectes animats ----------------- // Llums de persecució a l'estil de teatre-marquesina. Passa un color (valor de 32 bits, // a la strip. Color (r, g, b) com s’ha esmentat anteriorment) i un temps de retard (en ms) // entre fotogrames. void theatreChaseOne (uint32_t color, int index) {strip.clear (); strip.setPixelColor (17 - índex, color); // llums led de primera fila strip.setPixelColor (18 + índex, color); // llums led de segona fila strip.setPixelColor (53 - índex, color); // llums led de tercera fila strip.show (); }
Recomanat:
Seqüenciador de seccions de ritme MIDI Arduino: 8 passos (amb imatges)
Seqüenciador de seccions de ritme MIDI Arduino: tenir una bona bateria de programari és fàcil i econòmic avui en dia, però utilitzar un ratolí em mola la diversió. És per això que em vaig adonar del que inicialment es pretenia com un seqüenciador MIDI de bateria de 64 passos de maquinari pur, capaç de provocar fins a 12 diferents elem de bateria
Monitor de ritme cardíac (registrador) de bricolatge: 4 passos
Monitor de freqüència cardíaca de bricolatge (registrador): en aquest projecte us mostraré com un rellotge intel·ligent comercial mesura i controla la vostra freqüència cardíaca i després us mostraré com crear un circuit de bricolatge que bàsicament pot fer el mateix amb l'afegitó que també pot emmagatzema les dades de freqüència cardíaca
Respireu el dispositiu d’ansietat lleugera amb monitor de ritme cardíac: 18 passos (amb imatges)
Respireu el dispositiu d’ansietat lleugera amb un monitor de ritme cardíac: amb el món cada vegada més ocupat, tothom es troba en un entorn cada vegada més alt d’estrès. Els estudiants universitaris tenen un risc encara més gran d’estrès i ansietat. Els exàmens són especialment períodes d’alta tensió per als estudiants i els rellotges intel·ligents amb exercici de respiració
Leds parpellejants al ritme !: 4 passos
Parpadeig de leds al ritme !: ATENCIÓ! Els LEDs que parpellegen amb la música et poden fer insensat. Aquest instructiu tracta de parpellejar alguns LED segons el ritme de qualsevol música. La idea darrere d’aquest procés és molt senzilla i el circuit és molt petit. El concepte principal és: 1-Low pa
Rellotge de monitorització de la zona del ritme cardíac d’entrenament: 19 passos (amb imatges)
Vigilància de la monitorització de la zona del ritme cardíac d’entrenament: la universitat és una època agitada i caòtica a la vida, per això és molt important mantenir el nivell d’estrès baix. Una de les maneres que ens agrada fer-ho és fer exercici, ajudant a mantenir la ment clara i el cos sentint-se sa. Per això vam crear un portàtil