Cov txheej txheem:

DIY Smart Electronic Ukulele Nrog Arduino: 14 Kauj Ruam (nrog Duab)
DIY Smart Electronic Ukulele Nrog Arduino: 14 Kauj Ruam (nrog Duab)

Video: DIY Smart Electronic Ukulele Nrog Arduino: 14 Kauj Ruam (nrog Duab)

Video: DIY Smart Electronic Ukulele Nrog Arduino: 14 Kauj Ruam (nrog Duab)
Video: NOOBS PLAY CLASH ROYALE FROM START LIVE 2024, Lub Xya hli ntuj
Anonim
DIY Ntse Electronic Ukulele Nrog Arduino
DIY Ntse Electronic Ukulele Nrog Arduino

Peb tab tom yuav piav qhia ib qib zuj zus tias koj tuaj yeem tsim koj tus kheej ukulele li cas thiab ntxiv qee qhov cuam tshuam uas yuav ua rau nws txawv, zoo li kos ib yam dab tsi uas peb xav tau ntawm lub ntsej muag ntawm ukulele lossis ntxiv qee qhov teebmeem.

Txhawm rau ua qhov ntawd, nws yog qhov yuav tsum tau yuav cov khoom siv ukulele.

Peb yuav piav qhia yuav ua li cas sib dhos cov cuab yeej, thiab daws cov teeb meem sib txawv uas tuaj yeem tshwm sim.

Kauj ruam 1: Cov ntaub ntawv

Khoom siv
Khoom siv
Khoom siv
Khoom siv

Cov ntaub ntawv txheej txheem:

DIY ukelele mounting cov khoom siv (nws tuaj yeem yog lwm cov khoom sib txawv) tsim los ntawm:

1- Lub cev.

2-caj dab.

3-Xub

4-Kev Txhawb Nqa

5-Choj

6-Txoj hlua txiv ntoo.

7-Kho lub nplhaib rau lub taub hau tshuab (x4).

8-Lub taub hau tshuab (x4).

9-Mounting screws rau lub taub hau tshuab (x8).

10-Mounting screws rau tshuab tshuab (x2).

11-Npog lub kaus mom rau txuas cov ntsia hlau (x2).

12-Cov hlua (x4).

Cov ntaub ntawv hluav taws xob:

  • NANO Arduino.
  • Log ntawm Leds WS2812.
  • Accelerometer BMA220 (yeem).
  • Roj teeb txuas.
  • Roj teeb ntawm 9V.
  • Hloov.

Lwm tus

  • Ntoo cov kua roj vanish.
  • Velcro.
  • Soldering tin.
  • Yas tiv thaiv rau cov kua roj vanish.
  • Kub yaj silicone.

Cov Cuab Yeej:

  • Laser engraving.
  • Ntawv xeb
  • Lub hnub qub ntsia hlau.
  • Txhuam txhuam.
  • Kub yaj phom.
  • Tin soldering hlau.

Kauj ruam 2: Kho lub Ukulele

Customize Ukulele
Customize Ukulele
Customize Ukulele
Customize Ukulele
Customize Ukulele
Customize Ukulele

Txhawm rau hnav peb cov ukulele peb tuaj yeem ua cov duab kos nrog lub tshuab txiav laser ntawm lub cev. Yog tias tsis muaj cov cuab yeej ntawd, peb tuaj yeem pleev xim nws.

Daim duab uas peb tau xaiv yog thawj qhov uas tshwm tuaj.

Ua ntej tshaj plaws, peb yuav tsum tsim cov duab kos los ua cov ntawv kos.

Txhawm rau ua qhov ntawd, peb yuav siv software hu ua 'Inkscape' uas peb tuaj yeem tau txais los ntawm qhov txuas no:

Txhawm rau siv nws, peb yuav tsum kho cov duab uas peb xav siv zoo li peb qhia hauv daim duab thib ob. Koj tuaj yeem saib tias peb tau tig daim duab thawj zaug los kho lub cicle ntawm tes nrog lub voj voog ntawm qhov ntsuas. Zoo li peb tau hais ua ntej, koj tuaj yeem tso ib daim duab.

Kauj Ruam 3: Vectorize Cov Duab Siv Inkscape

Vectorize tus duab Siv Inkscape
Vectorize tus duab Siv Inkscape
Vectorize Cov Duab Siv Inkscape
Vectorize Cov Duab Siv Inkscape
Vectorize tus duab Siv Inkscape
Vectorize tus duab Siv Inkscape
Vectorize tus duab Siv Inkscape
Vectorize tus duab Siv Inkscape

Peb yuav pom yuav tsim cov ntaub ntawv vector li cas los ntawm pixmap (jpg, png, hom raster twg uas Inkscape tuaj yeem qhib).

Inkscape Inkscape yog qhov qhib qhov khoom siv duab duab vector, thiab raws li lub npe cuam tshuam, qhov no yog cov cuab yeej uas kuv yuav siv los qhia lub logo. Vectorising cov kauj ruam Cov theem yog ib txwm muaj rau txhua qhov vectorization peb yuav xav ua.

  1. Qhib daim duab hauv Inkscape
  2. Qhib Trace Bitmap Tool Path-> Trace Bitmap
  3. Ua si ib ncig ntawm Txoj Kev Xaiv Bitmap
  4. Khiav qhov kev taug qab
  5. Ntxuav cov txiaj ntsig (yog tias tsim nyog)

Nco tseg ntu "ua si ib ncig". Kuv tsis yog tus kws tshaj lij ntawm kev taug qab, yog li kuv kho qhov cuab yeej no yog lub thawv dub nrog pob qhov rooj thiab teeb, sib tw thiab hloov pauv kom txog thaum kuv tau txais qhov txiaj ntsig zoo tshaj plaws

Kauj ruam 4: Logo Engraving

Image
Image
Logo Engraving
Logo Engraving
Logo Engraving
Logo Engraving

Rau qhov no, nws yog ib qho tseem ceeb kom muaj lub ntsej muag zoo nkauj ntawm qhov chaw uas yuav kos duab kos duab.

Txhawm rau kos duab, peb yuav siv 'T2Laser' software. Peb tuaj yeem tau txais cov software no los ntawm:

Thaum peb tau qhib lub software, peb yuav tsum thauj cov duab uas peb tau tsim hauv theem kawg. Tom qab ntawd, nyem lub pob "tswj laser", thiab zoo li cnc tswj. Ob daim duab qhia cov txheej txheem thiab qhov tshwm sim ntawm kev kos nrog peb cov tshuab txiav laser.

Kauj Ruam 5: Sanding thiab Varnishing

Sanding thiab Varnishing
Sanding thiab Varnishing
Sanding thiab Varnishing
Sanding thiab Varnishing
Sanding thiab Varnishing
Sanding thiab Varnishing
Sanding thiab Varnishing
Sanding thiab Varnishing

Txhawm rau tawm ntawm peb cov ukulele ci thiab nrog txheej tsis muaj qhov ntxhib peb tuaj yeem ua tau yooj yim xuab zeb ob ntu uas tsim los ntawm peb cov cuab yeej nrog kev saib xyuas, vim tias peb tuaj yeem ua rau qhov teeb meem uas tau ua (yog tias koj tau xaiv los pleev xim ukulele, koj yuav tsum xuab zeb nws ua ntej). Tom qab ntawd peb yuav pleev xim ob peb ntu kom lawv tau txais cov xim tsaus dua thiab cov ntoo nthuav tawm ntau dua. Peb tuaj yeem siv cov txheej txheem ntoo ib txwm, nws tsis tas yuav tshwj xeeb.

Thaum peb muaj cov kua roj vanish, peb sib tov nws nrog cov kuab tshuaj me me kom nws yaj me ntsis. Tom ntej no, peb siv qhov sib tov nrog txhuam ntawm lub caj dab thiab lub cev ntawm qhov ntsuas thiab cia nws qhuav.

Yog tias peb pom tias cov khoom xav tau lub tsho thib ob, peb tuaj yeem xuab zeb ob ntu me ntsis thiab rov ua dua txheej txheej ntawm cov kua roj vanish.

** ZOO TSHAJ PLAWS: Cov kua roj vanish yog cov khoom siv tshuaj, yog li nws yog qhov yuav tsum tau ua cov txheej txheem no hauv qhov chaw tso cua, hnav lub npog ntsej muag kom tsis txhob nqus cov ntxhiab tsw thiab tsom iav tiv thaiv.

Cov ntaub ntawv uas peb xav tau kom tuaj yeem ua haujlwm raug yog cov uas tshwm hauv cov duab. Feem ntau peb yuav ua haujlwm nrog txhuam, cov kua roj vanish (hauv peb cov xim liab), hnyav me ntsis thiab tiv thaiv kev pom. Thiab saum toj no txhua qhov haujlwm hauv qhov chaw muaj cua nkag tau zoo.

Kauj ruam 6: Kho vajtse

Kho vajtse
Kho vajtse
Kho vajtse
Kho vajtse
Kho vajtse
Kho vajtse

Peb cov quav hniav nrog Arduino, lub acelerometer thiab lub log nrog cov leds yuav raug qhia nyob rau hauv qhov me me txhawm rau txhawm rau zam kom tag nrho cov khoom siv txav mus hauv qhov ntsuas.

Peb kuj tau ntxiv tus tuav lub roj teeb thiab hloov pauv kom nws xis nyob dua thiab peb tsis hnav lub roj teeb thaum peb tsis siv lub ntsuas. Peb yuav txuas qhov kev txhawb nqa no nrog ib daim Velcro (nws tseem yuav ua haujlwm nrog silicone thiab rab yaj phom kub) rau sab hauv lub ntsej muag ntawm lub cev ukulele. Ntawm qhov tod tes, lub log LED me dua lub qhov, yog li nws yuav poob. Kev txhawb nqa tau tsim los kom nws tuav tau zoo thiab tuaj yeem ua nws txoj haujlwm.

Kauj ruam 7: Software

Software
Software
Software
Software
Software
Software

Txhawm rau muab qhov tshwj xeeb kho kom zoo nkauj rau peb ukulele, peb tuaj yeem ntxiv teeb pom kev zoo ua tsaug rau lub log ntawm leds. Peb yuav siv WS2812, tab sis koj tuaj yeem siv lwm yam hauv qab no cov lus qhia ntawm cov ntawv teev tseg. Peb yuav siv lub acelerometer (BMA220) ib yam nkaus, uas tso cai rau peb ua qhov cuam tshuam ntawm lub ntiajteb txawj nqus.

Qhov tseeb, peb yuav muaj 4 qhov ua yeeb yam ntawm lub teeb, suav nrog hauv computer lub tsev qiv ntawv hu ua 'Adafruit' ntawm Arduino. Txog qhov ntawd, peb yuav tsum ua lub ntsiab lus raug ntawm peb ntu: Arduino NANO, WS2812 thiab BMA220, zoo li tshwm hauv thawj daim duab.

Cov xov hlau liab yog rau lub zog, GND cov dub thiab tus so yog qhov tsim nyog txuas rau kev ua haujlwm raug. Qhov chaws uas peb siv rau cov khoom siv teeb tau txuas nrog hauv cov ntawv hu ua "play_of_light_v0.ino". Nco ntsoov tias koj tau suav nrog cov tsev qiv ntawv tsim nyog rau kev ua haujlwm raug ntawm qhov haujlwm. Lub roj teeb uas peb ntxiv sab nraud rau hauv Circuit yuav tsum muaj qhov tsawg kawg nkaus voltage ntawm 9V thiab peb yuav tsum xyuas kom meej tias nws muaj peev xwm muab qhov tsawg kawg tam sim no uas tsim nyog los txhawb lub zog tag nrho.

// Variables contador e interrupciónint counter; // Variables Ejemplo gravedad #include #include #include #define NUMBER_OF_LEDS_ON_RING 16 #define NEOPIXEL_RING_DATA_PIN 9

byte Version [3];

int8_t x_data; int8_t y_data; int8_t z_data; byte khwv = 0x00; ntab divi = 16; ntab x, y, z; ntab pi = 3.14159265359; ntab nx, ny, angle; int coj, yav dhau losLed; QueueList ledQueue; Adafruit_NeoPixel neoring = Adafruit_NeoPixel (NUMBER_OF_LEDS_ON_RING, NEOPIXEL_RING_DATA_PIN, NEO_GRB + NEO_KHZ800);

// Variables Luces arcoiris

#include #ifdef _AVR_ #include #endif #define PIN 9 // Parameter 1 = tus lej pixels hauv kab txaij // Parameter 2 = Arduino tus lej tus lej (feem ntau siv tau) // Parameter 3 = pixel hom chij, ntxiv ua ke raws li xav tau: // NEO_KHZ800 800 KHz bitstream (feem ntau NeoPixel khoom w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (tsis v2) FLORA pixels, WS2811 tsav tsheb) // NEO_GRB Pixels tau txuas rau GRB bitstream (feem ntau NeoPixel khoom)/ / NEO_RGB Pixels tau txuas rau RGB bitstream (v1 FLORA pixels, tsis v2) // NEO_RGBW Pixels tau txuas rau RGBW bitstream (NeoPixel RGBW cov khoom) Adafruit_NeoPixel strip = Adafruit_NeoPixel (16, PIN, NEO_GRB + NEO_KHZ800); // TSEEM CEEB: Yuav kom txo NeoPixel kev pheej hmoo hlawv, ntxiv 1000 uF capacitor hla // pixel zog ua, ntxiv 300 - 500 Ohm resistor ntawm thawj pixel cov ntaub ntawv nkag mus // thiab txo qis nrug ntawm Arduino thiab thawj pixel. Zam kev sib txuas // ntawm lub voj voog nyob … yog tias koj xav tau, txuas GND ua ntej.

// Variables Rueda de colores

// NeoPixel Ring yooj yim kos duab (c) 2013 Shae Erisson // tso tawm raws li GPLv3 daim ntawv tso cai kom haum rau lwm qhov ntawm AdaFruit NeoPixel lub tsev qiv ntawv

#suav nrog

#ifdef _AVR_ #include #endif

// Tus pin twg ntawm Arduino txuas nrog NeoPixels?

// Ntawm Trinket lossis Gemma peb hais qhia hloov qhov no rau 1 #txhais tus lej 9

// Muaj pes tsawg NeoPixels txuas rau Arduino?

#define NUMPIXELS 16

// Thaum peb teeb tsa NeoPixel lub tsev qiv ntawv, peb qhia nws pes tsawg tus pixels, thiab tus pin twg siv los xa cov cim.

// Nco ntsoov tias rau cov kab ntawv qub NeoPixel koj yuav xav tau hloov qhov ntsuas thib peb-saib cov strandtest // piv txwv rau cov ntaub ntawv ntau ntxiv ntawm qhov muaj peev xwm ua tau. Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int ncua sij hawm = 50; // ncua rau 50ms

// Variables colores aleatorios

#include #ifdef _AVR_ #include #endif

#Txhais tus lej PIN 9

#define NUM_LEDS 16

#define BRIGHTNESS 200

// Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUM_LEDS, PIN, NEO_GRBW + NEO_KHZ800);

byte neopix_gamma = {

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 24, 24, 25, 25, 26, 27, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36, 37, 38, 39, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 73, 74, 75, 77, 78, 79, 81, 82, 83, 85, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99, 101, 102, 104, 105, 107, 109, 110, 112, 114, 115, 117, 119, 120, 122, 124, 126, 127, 129, 131, 133, 135, 137, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 167, 169, 171, 173, 175, 177, 180, 182, 184, 186, 189, 191, 193, 196, 198, 200, 203, 205, 208, 210, 213, 215, 218, 220, 223, 225, 228, 231, 233, 236, 239, 241, 244, 247, 249, 252, 255 }; /////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////

/METODO teeb tsa

void teeb () {// Código: Dirección de la gravedad neoring.begin (); neoring.setBrightness (200); Serial.begin (9600); Hlau.begin (); Wire.beginTransmission (0x0A); // chaw nyob ntawm tus ntsuas hluav taws xob // ntau qhov chaw Wire.write (0x22); // sau npe chaw nyob Wire.write (range); // tuaj yeem teeb tsa ntawm "0x00" "0x01" "0x02" "0x03", xa mus rau Datashhet ntawm wiki // qis dhau lim Wire.write (0x20); // sau npe chaw nyob Wire.write (0x05); // tuaj yeem teeb tsa ntawm "0x05" "0x04" …… "0x01" "0x00", xa mus rau Datashhet ntawm wiki Wire.endTransmission ();

// Codigo; Luces Arcoiris: 3 Lab tus kiv cua tos koj rau Webtalk!

// Qhov no yog rau Trinket 5V 16MHz, koj tuaj yeem tshem tawm peb kab no yog tias koj tsis siv Trinket #if txhais (_AVR_ATtiny85_) yog (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Xaus ntawm trinket tshwj xeeb cov cai strip.begin (); strip.show (); // Pib tag nrho cov pixels rau 'tawm'

// Código Rueda tsib xim

// Qhov no yog rau Trinket 5V 16MHz, koj tuaj yeem tshem tawm peb kab no yog tias koj tsis siv Trinket #if txhais (_AVR_ATtiny85_) yog (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // End of trinket code tshwj xeeb

pixels.begin (); // Qhov no pib ua lub tsev qiv ntawv NeoPixel.

// Codigo Interrupcion

txee = 1;

// Codigo Colores sib txawv

// Qhov no yog rau Trinket 5V 16MHz, koj tuaj yeem tshem tawm peb kab no yog tias koj tsis siv Trinket #if txhais (_AVR_ATtiny85_) yog (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Xaus ntawm trinket tshwj xeeb cov cai strip.setBrightness (BRIGHTNESS); strip.begin (); strip.show (); // Pib tag nrho cov pixels rau 'tawm'}

///////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////

/Bucle infinito

void loop () {// Caso 1: Juego de luces de la gravedad; if (counter == 1) {for (int i = 0; i 0.0) {if (nx 0.0) angle+= 180; lwm lub kaum sab xis += 360; } // kawg lwm yog (lub kaum == 360.0) lub kaum = 0.0; coj = puag ncig (lub kaum ntse ntse / (360 / NUMBER_OF_LEDS_ON_RING)); // ua rau kev txav mus los yooj yim yog tias (yav dhau losLed == coj) {// tsis muaj dab tsi ua} lwm yam yog (counterClockwiseDistanceBetweenLeds (yav dhau losLed, coj) <= 8) coj = ncig (yav dhau losLed + 1); lwm tus coj = ncig (yav dhau losLed - 1); ledQueue.push (coj); makeLightShow (); PreviousLed = coj; ncua (25); } suav = 2; } // End if counter == 1 // Caso 2: Codigo del juego de luces del arcoiris lwm yog (counter == 2) {rau (int j = 0; j <5; j ++) {// Qee qhov txheej txheem piv txwv qhia yuav tso tawm li cas rau lub pixels: colorWipe1 (strip. Color (255, 0, 0), 50); // Liab ximWipe1 (strip. Color (0, 255, 0), 50); // Ntsuab ximWipe1 (strip. Color (0, 0, 255), 50); // Blue colorWipe1 (strip. Color (0, 0, 0, 255), 50); // Dawb RGBW // Xa kev ua yeeb yam pixel caum hauv… theatreChase (strip. Color (127, 127, 127), 50); // White theatreChase (strip. Color (127, 0, 0), 50); // Red theaterChase (strip. Color (0, 0, 127), 50); Xiav

zaj sawv (5);

zaj sawv (5); theatreChaseRainbow (5); } suav = 3; } // End if counter == 2 // Caso 3: Luces Aleatorias else if (counter == 3) {for (int k = 0; k <50; k ++) {// Rau txheej NeoPixels thawj NeoPixel yog 0, thib ob yog 1, txhua txoj kev mus txog rau suav cov pixels rho tawm ib qho. int ib = random (255); int b = random (255); int c = random (255); rau (int i = 0; i

// pixels. Color siv RGB qhov tseem ceeb, los ntawm 0, 0, 0 txog 255, 255, 255

pixels.setPixelColor (i, pixels. Color (a, b, c)); // Nruab nrab qaim xim ntsuab.

pixels.show (); // Qhov no xa qhov hloov tshiab pixel xim rau kho vajtse.

ncua (ncua sij hawm); // Ncua sijhawm rau lub sijhawm (hauv milliseconds).

} a = random (255); b = random (255); c = random (255); rau (int kuv = NUMPIXELS; i> 0; i-) {

// pixels. Color siv RGB qhov tseem ceeb, los ntawm 0, 0, 0 txog 255, 255, 255

pixels.setPixelColor (i, pixels. Color (a, b, c)); // Nruab nrab qaim xim ntsuab.

pixels.show (); // Qhov no xa qhov hloov tshiab pixel xim rau kho vajtse.

ncua (ncua sij hawm); // Ncua sijhawm rau lub sijhawm (hauv milliseconds).

}} txee = 4; } lwm tus yog (txee == 4) {rau (int g = 0; g <= 6; g ++) {// Qee qhov txheej txheem piv txwv qhia yuav ua li cas tso saib rau lub pixels: colorWipe (strip. Color (255, 0, 0), 50); // Liab ximWipe (strip. Color (0, 255, 0), 50); // Green colorWipe (strip. Color (0, 0, 255), 50); // Blue colorWipe (strip. Color (0, 0, 0, 255), 50); // Dawb whiteOverRainbow (20, 75, 5); mem tes dawb (5); // fullWhite (); // ncua (2000); rainbowFade2White (3, 3, 1);

}

txee = 1; }} ////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ///////////////////

Metodos del Ejemplo de la gravedad

void AccelerometerInit () {Wire.beginTransmission (0x0A); // chaw nyob ntawm tus ntsuas hluav taws xob // rov pib dua lub ntsuas hluav taws xob Hlau.write (0x04); // X cov ntaub ntawv Wire.endTransmission (); Wire.requestFrom (0x0A, 1); // thov 6 bytes los ntawm qhev ntaus ntawv #2 thaum (Wire.available ()) // qhev yuav xa tsawg dua li thov {Version [0] = Wire.read (); // tau txais ib byte raws li tus yam ntxwv} x_data = (int8_t) Version [0] >> 2; Wire.beginTransmission (0x0A); // chaw nyob ntawm tus ntsuas hluav taws xob // rov pib dua lub ntsuas hluav taws xob Hlau.write (0x06); // Y cov ntaub ntawv Wire.endTransmission (); Wire.requestFrom (0x0A, 1); // thov 6 bytes los ntawm qhev ntaus ntawv #2 thaum (Wire.available ()) // qhev yuav xa tsawg dua li thov {Version [1] = Wire.read (); // tau txais ib byte raws li tus yam ntxwv} y_data = (int8_t) Version [1] >> 2; Wire.beginTransmission (0x0A); // chaw nyob ntawm tus ntsuas hluav taws xob // rov pib dua lub ntsuas hluav taws xob Hlau.write (0x08); // Z cov ntaub ntawv Wire.endTransmission (); Wire.requestFrom (0x0A, 1); // thov 6 bytes los ntawm qhev ntaus ntawv #2 thaum (Wire.available ()) // qhev yuav xa tsawg dua li thov {Version [2] = Wire.read (); // tau txais ib byte raws li tus yam ntxwv} z_data = (int8_t) Version [2] >> 2; x = (ntab) x_data/divi; y = (ntab) y_data/divi; z = (ntab) z_data/divi; Serial.print ("X ="); Serial.print (x); // luam tawm tus cim Serial.print (""); Serial.print ("Y ="); Serial.print (y); // luam tawm tus cim Serial.print (""); Serial.print ("Z ="); // luam tawm tus cim Serial.println (z); }

int circularize (int pos) {

if (pos> = NUMBER_OF_LEDS_ON_RING) return (pos - NUMBER_OF_LEDS_ON_RING); lwm tus yog (pos <0) rov qab (pos + NUMBER_OF_LEDS_ON_RING); lwm tus xa rov qab (pos); }

int nrug;

int counterClockwiseDistanceBetweenLeds (int prevPos, int nextPos) {nrug = nextPos - prevPos; yog (nrug <0) nrug += NUMBER_OF_LEDS_ON_RING; rov qab (nrug); }

int ledPosition, tam sim noQueueSize;

#define NUMBER_OF_LEDS_TO_SHINE 10 int brightnessStep = 255/NUMBER_OF_LEDS_TO_SHINE;

void makeLightShow () {

rau (int j = 0; j <NUMBER_OF_LEDS_ON_RING; j ++) neoring.setPixelColor (j, 0, 0, 0); currentQueueSize = ledQueue.count (); rau (int k = 0; k <currentQueueSize; k ++) {ledPosition = ledQueue.pop (); neoring.setPixelColor (ledPosition, 0, (brightnessStep * k), 0); yog ((k == 0 && currentQueueSize 0) ledQueue.push (ledPosition);} neoring.show ();}

///////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////

Metodos del juego de luces del arcoiris

// Sau cov dots ib qho tom qab lwm qhov nrog cov xim tsis muaj xim colorWipe (uint32_t c, uint8_t tos) {rau (uint16_t kuv = 0; i

tsis muaj zaj sawv (uint8_t tos) {

uint16_t kuv, j;

rau (j = 0; j <256; j ++) {rau (i = 0; i

// Sib txawv me ntsis, qhov no ua rau zaj sawv sib npaug faib thoob plaws

void rainbowCycle (uint8_t tos) {uint16_t kuv, j;

rau (j = 0; j <256*5; j ++) {// 5 mus ntawm txhua xim ntawm lub log rau (i = 0; kuv <strip.numPixels (); i ++) {strip.setPixelColor (i, Log (((kuv * 256 / strip.numPixels ()) + j) & 255)); } strip.show (); ncua (tos); }}

// Theatre-style crawling teeb.

void theatreChase (uint32_t c, uint8_t tos) {rau (int j = 0; j <10; j ++) {// ua 10 cycles ntawm kev nrhiav rau (int q = 0; q <3; q ++) {rau (uint16_t kuv = 0; kuv <strip.numPixels (); kuv = i+3) {strip.setPixelColor (i+q, c); // tig txhua pixel thib peb ntawm} strip.show ();

ncua (tos);

rau (uint16_t i = 0; kuv <strip.numPixels (); kuv = i+3) {strip.setPixelColor (i+q, 0); // tig txhua pixel thib peb tawm}}}}

// Theatre-style crawling teeb nrog zaj sawv nyhuv

void theatreChaseRainbow (uint8_t tos) {rau (int j = 0; j <256; j ++) {// hloov txhua 256 xim hauv lub log rau (int q = 0; q <3; q ++) {rau (uint16_t kuv = 0; kuv <strip.numPixels (); i = i+3) {strip.setPixelColor (i+q, Log ((i+j) % 255))); // tig txhua pixel thib peb ntawm} strip.show ();

ncua (tos);

rau (uint16_t i = 0; kuv <strip.numPixels (); kuv = i+3) {strip.setPixelColor (i+q, 0); // tig txhua pixel thib peb tawm}}}}

// Sau tus nqi 0 txog 255 kom tau txais tus nqi xim.

// Cov xim yog qhov hloov pauv r - g - b - rov qab rau r. uint32_t Log (byte WheelPos) {WheelPos = 255 - WheelPos; yog (WheelPos <85) {rov qab strip. Color (255 - WheelPos * 3, 0, WheelPos * 3); } yog (WheelPos <170) {WheelPos -= 85; rov qab strip. Color (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; rov qab strip. Color (WheelPos * 3, 255 - WheelPos * 3, 0); }

///////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////

/Metodos Rueda de xim

// int elegirColor = random (0x000000, 0xffffff); // Se elige aleatoriamente entre toda la gama de colores comprendida entre 0x000000 y 0xFFFFFFF

// CylonEyeColor = HtmlColor (elegirColor); // int elegirColor = random (1, 7); // Podemos elegir aleatoriamente entre los 7 colores que hay debajo0xf0ffff // yog (elegirColor == 1) CylonEyeColor = HtmlColor (0xff0000); // Rojo // if (elegirColor == 2) CylonEyeColor = HtmlColor (0x00ff00); // Verde // if (elegirColor == 3) CylonEyeColor = HtmlColor (0x0000ff); // Azul // if (elegirColor == 4) CylonEyeColor = HtmlColor (0xffffo); // Amar // yog (elegirColor == 5) CylonEyeColor = HtmlColor (0x200020); // Morado // yog (elegirColor == 6) CylonEyeColor = HtmlColor (0x00ffff); // Azul Claro // yog (elegirColor == 7) CylonEyeColor = HtmlColor (0x100010); // Rosa // CylonEyeColor = HtmlColor (0x000000);

///////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////

/Metodos luces varias

// Sau cov dots ib qho tom qab ib qho nrog xim

void colorWipe1 (uint32_t c, uint8_t tos) {rau (uint16_t kuv = 0; i

void pulseWhite (uint8_t tos) {

rau (int j = 0; j <256; j ++) {rau (uint16_t kuv = 0; i

rau (int j = 255; j> = 0; j-) {

rau (uint16_t i = 0; i

void rainbowFade2White (uint8_t tos, int rainbowLoops, int whiteLoops) {

ntab fadeMax = 100.0; int fadeVal = 0; uint32_t wheelVal; int redVal, ntsuabVal, blueVal;

rau (int k = 0; k <rainbowLoops; k ++) {rau (int j = 0; j <256; j ++) {// 5 mus ntawm txhua xim ntawm lub log

rau (int kuv = 0; kuv <strip.numPixels (); kuv ++) {

wheelVal = Log (((i * 256 / strip.numPixels ()) + j) & 255);

redVal = liab (wheelVal) * ntab (fadeVal/fadeMax);

greenVal = ntsuab (wheelVal) * ntab (fadeVal/fadeMax); blueVal = xiav (wheelVal) * ntab (fadeVal/fadeMax);

strip.setPixelColor (i, strip. Color (redVal, greenVal, blueVal));

}

// Thawj lub voj, ploj mus!

yog (k == 0 && fadeVal <fadeMax-1) {fadeVal ++; }

// Lub voj kawg, ploj mus!

lwm yog (k == rainbowLoops - 1 && j> 255 - fadeMax) {fadeVal--; }

strip.show ();

ncua (tos); }}

ncua (500);

rau (int k = 0; k <whiteLoops; k ++) {

rau (int j = 0; j <256; j ++) {

rau (uint16_t i = 0; kuv <strip.numPixels (); i ++) {strip.setPixelColor (i, strip. Color (0, 0, 0, neopix_gamma [j])); } strip.show (); }

ncua (2000);

rau (int j = 255; j> = 0; j-) {

rau (uint16_t i = 0; kuv <strip.numPixels (); i ++) {strip.setPixelColor (i, strip. Color (0, 0, 0, neopix_gamma [j])); } strip.show (); }}

ncua (500);

}

void whiteOverRainbow (uint8_t tos, uint8_t whiteSpeed, uint8_t whiteLength) {

yog (whiteLength> = strip.numPixels ()) whiteLength = strip.numPixels () - 1;

int lub taub hau = whiteLength - 1;

int tw = 0;

int loops = 3;

int loopNum = 0;

zoo li qub unsigned ntev lastTime = 0;

thaum (muaj tseeb) {

rau (int j = 0; j <256; j ++) {rau (uint16_t kuv = 0; kuv = tus tw && kuv lub taub hau && i> = tus tw) || (tail> lub taub hau && kuv <= taub hau)) {strip.setPixelColor (i, strip. Color (0, 0, 0, 255))); } lwm {strip.setPixelColor (i, Log (((i * 256 / strip.numPixels ()) + j) & 255)); }}

yog (millis () - lastTime> whiteSpeed) {

taub hau ++; qab ++; yog (lub taub hau == strip.numPixels ()) {loopNum ++; } lastTime = millis (); }

yog (loopNum == loops) rov qab;

lub taub hau%= strip.numPixels (); tw%= strip.numPixels (); strip.show (); ncua (tos); }}} tsis muaj dab tsi fullWhite () {rau (uint16_t kuv = 0; i

// Sib txawv me ntsis, qhov no ua rau zaj sawv sib npaug faib thoob plaws

void rainbowCycle1 (uint8_t tos) {uint16_t kuv, j;

rau (j = 0; j <256 * 5; j ++) {// 5 mus ntawm txhua xim ntawm lub log rau (i = 0; kuv <strip.numPixels (); i ++) {strip.setPixelColor (i, Log (((kuv * 256 / strip.numPixels ()) + j) & 255)); } strip.show (); ncua (tos); }}

void rainbow1 (uint8_t tos) {

uint16_t kuv, j;

rau (j = 0; j <256; j ++) {rau (i = 0; i

// Sau tus nqi 0 txog 255 kom tau txais tus nqi xim.

// Cov xim yog qhov hloov pauv r - g - b - rov qab rau r. uint32_t Wheel1 (byte WheelPos) {WheelPos = 255 - WheelPos; yog (WheelPos <85) {rov qab strip. Color (255 - WheelPos * 3, 0, WheelPos * 3, 0); } yog (WheelPos <170) {WheelPos -= 85; rov qab strip. Color (0, WheelPos * 3, 255 - WheelPos * 3, 0); } WheelPos -= 170; rov qab strip. Color (WheelPos * 3, 255 - WheelPos * 3, 0, 0); }

uint8_t liab (uint32_t c) {

rov qab (c >> 16); } uint8_t ntsuab (uint32_t c) {rov qab (c >> 8); } uint8_t xiav (uint32_t c) {rov qab (c); }

Kauj Ruam 8: Tsim 3D

3D Tsim
3D Tsim
3D Tsim
3D Tsim
3D Tsim
3D Tsim

Ua ntej tshaj, koj yuav tsum ntsuas koj li khoom siv khoos phis tawj kom paub tseeb txog qhov raug. Yog tias lawv zoo ib yam li peb, koj tuaj yeem siv cov ntaub ntawv qub uas peb qiv koj.

Ob qho kev txhawb nqa tau tsim nrog lub tshuab luam ntawv 3D, uas suav nrog:

ukelele_support_arduino_v0.stl: https://www.tinkercad.com/things/1aAGZ1xFptA-ukel… ukelele_support_WS2812_v0.stl:

Thaum kawg, lub teeb yuav zoo li ob daim duab kawg.

Kauj Ruam 9: Mounting Neck

Mounting lub caj dab
Mounting lub caj dab
Mounting lub caj dab
Mounting lub caj dab

Ua ntej peb yuav tso lub eeb rau ntawm lub caj dab. Lub qhov uas cov ntsia hlau xav tau tuav nws tsis nyob ntawd, yog li peb yuav tau ua rau lawv, kos cim qhov chaw uas lawv yuav tsum mus thiab ua tib zoo, nrog lub auger, ua lub qhov.

Tib yam siv rau lub qhov uas cov ntsia hlau uas tuav lub caj dab nws tus kheej rau lub cev ntawm qhov ntsuas. Nws tsis tas yuav ua lawv, txij li tsis muaj cov ntsia hlau rau qhov txuas no, tab sis yog tias peb xav ua nws, yuav tsis muaj teeb meem.

TSEEM CEEB: Tawm 5mm ntawm qhov chaw nruab nrab ntawm qhov pib ntawm tus ncej thiab pib ntawm rab diav rawg, vim tias nyob hauv lub qhov txiv ntoo yuav muab tso rau hauv.

Peb yuav lo cov txiv ntoo nrog kua nplaum, raws li qhia los ntawm daim duab.

Thaum kawg, peb yuav qhia 4 tus pin hauv lub qhov uas yog thaum pib ntawm tus ncej, tuav txhua tus pin nrog 2 tus ntsia hlau luv raws li qhia hauv daim duab.

Kauj ruam 10: Mounting Birdge

Mounting lub Birdge
Mounting lub Birdge
Mounting lub Birdge
Mounting lub Birdge

Tus choj tau teeb tsa los ntawm gluing thiab nrog ob lub ntsia hlau ntev nyob hauv txoj haujlwm tseem ceeb ntawm lub cev. Nws raug nquahu kom kos nrog tus xaum xaum kom raug txoj haujlwm hauv lub cev. Peb yuav coj qhov kev ncua deb uas tau kos rau hauv daim duab.

Peb yuav siv cov kua nplaum los ntawm kev koom ua ke ntawm ob lub Cheebtsam. Peb txhim kho ob ntu kom zoo nrog kev pab ntawm cov ntsia hlau nruj kom txog thaum qhov sib koom tau qhuav. Peb yuav ua ob lub qhov rau cov ntsia hlau nrog 1.5mm laum ntsis rau ntoo. Txhim kho tus choj nrog ob tus ntsia hlau ntev hauv lub cev. Thiab thaum kawg, peb muab lub kaus mom tiv thaiv ntawm lub hau ntswj.

Kauj Ruam 11: Lub cev thiab lub caj dab sib dhos

Lub Cev thiab Lub Cev Sib Dhos
Lub Cev thiab Lub Cev Sib Dhos
Lub Cev thiab Lub Cev Sib Dhos
Lub Cev thiab Lub Cev Sib Dhos

Txhawm rau sib sau ua ke ob ntu, peb muaj lub qhov nyob hauv lub taub hau ntawm lub cev, qhov twg lub caj dab yuav haum nrog ob qhov kev kwv yees nws muaj. Peb tuaj yeem lo lawv nrog kua nplaum lossis nrog rab phom kub yaj. Txhawm rau kom muaj kev txhim kho ntau dua, koj tuaj yeem ua lub qhov uas nyob rau thaum kawg ntawm kev kho lub diav rawg kom koom nrog nws rau lub cev.

Kauj Ruam 12: Muab cov hlua Ukulele

Image
Image
Muab cov hlua Ukulele
Muab cov hlua Ukulele
Muab cov hlua Ukulele
Muab cov hlua Ukulele

Thaum kawg peb yuav tsum tso cov hlua kom peb cov twj paj nruag tiav.

Yav dhau los peb yuav ntxig cov hlua txhim kho ntawm cov pins hauv qhov kev kwv yees ntawm cov no uas mus los ntawm tus ncej. Txhawm rau tso cov hlua, peb nqa 4 txoj hlua uas tuaj nrog cov khoom siv. Ua ntej koj yuav tsum paub qhov txawv ntawm txhua txoj hlua vim tias lawv tsis zoo ib yam. Koj yuav tsum khi ib qho kawg ntawm txhua txoj hlua (ob txoj hlua tuab nrog ib lub hauv caug, thiab ob daim nyias nyias nrog ib qho ntxiv) thiab ntxig cov hlua rau hauv qhov txuas ntawm tus choj.

Tom qab ntawd peb yuav tso cov hlua raws li txoj hauv kev uas:

• Thawj txoj haujlwm: G txoj hlua (txoj hlua uas tuab thib ob).

• Txoj haujlwm thib ob: C txoj hlua (txoj hlua tuab).

• Txoj hauj lwm thib peb: E txoj hlua (txoj hlua thib ob).

• Txoj haujlwm thib plaub: Ib txoj hlua (txoj hlua nyias).

Muab cov hlua tso rau hauv lub qhov ntawm qhov ntsaws. Sim kho txhua txoj hlua los ntawm kev muab ob lossis peb tig ntawm tus pin. Qhib cov hlua yam tsis siv lub zog ntau dhau thiab txheeb xyuas qhov nrug nruab nrab ntawm cov hlua thiab lub eeb.

Yog tias koj muaj kev tsis ntseeg txog yuav ua li cas, koj tuaj yeem ua dab tsi cov ntawv qhia uas piav qhia koj li cas muab cov hlua kom raug.

Kauj Ruam 13: Xeem

Kev Xeem
Kev Xeem
Kev Xeem
Kev Xeem

Thaum kawg, peb yuav tsum pom yog tias ukulele tau sib dhos kom raug raws li txoj hauv kev uas qhov kev deb nyob deb ntawm thawj qhov kev ntxhov siab yog 0.1mm thiab ntawm kaum ob nws yog kwv yees li 1.2mm.

Xav tau uas koj qhib cov hlua ukulele. Kuv thov koj lub app no: GuitarTuna

Kauj ruam 14: Txaus siab rau nws

Tam sim no, koj tsuas yog yuav tsum txaus siab rau koj cov ukulele.

Yog tias koj xav paub ntaub ntawv ntau ntxiv txog peb, koj tuaj yeem pom peb hauv:

Twitter: @Innovart_cc

Facebook: @Innovartcc Cov

Koj li xyoob ntoo Instagram: @Innovart_cc

Lub Vev Xaib: Innovart.cc

Pom zoo: