Orodha ya maudhui:
- Hatua ya 1: Sehemu na Zana
- Hatua ya 2: Uchapishaji wa 3D Uchunguzi
- Hatua ya 3: Kuiweka Pamoja + Kimkakati
- Hatua ya 4: Vifurushi
- Hatua ya 5: Kanuni
- Hatua ya 6: Vidokezo
- Hatua ya 7: Changelog
Video: Arduino Guitar Jack Holder muhimu na Jack Recognition & OLED: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Utangulizi:
Hii inaweza kufundishwa kwa undani juu ya mmiliki wa kitufe cha msingi cha Guitar Jack
Hii ni mara yangu ya kwanza kufundishwa kwa hivyo tafadhali nivumilie kwani naweza kufanya mabadiliko / sasisho njiani
Hatua ya 1: Sehemu na Zana
Sehemu nyingi nilizonunua kutoka Amazon.co.uk au eBay, zingine nilikuwa nikipiga teke tayari - Hapa kuna orodha ya kile utahitaji.
Viungo vya Amazon ni viungo vyote vya Ushirika, unaweza kupata nafuu mahali pengine - ninatumia Amazon Prime sana, kwa hivyo Amazon ilitokea tu kuwa mtu wangu wa kwenda.
Nilitaka kuweka ujengaji huu kwa gharama nafuu na bajeti. Unaweza kutumia skrini kubwa ya TFT unapenda sana, na Arduino tofauti. Usitumie NANO, kwani itaanguka kwa sababu ya utumiaji mkubwa wa kumbukumbu. Nambari hutumia karibu 72% ya RAM ya Pro Micro na ni thabiti, lakini kutoka kwa upimaji, NANO itaanguka na kufungia.
(Maelezo zaidi katika hatua ya Kanuni.)
SEHEMU
1x Arduino Pro Micro -
1x 0.96 OLED na Uonyesho wa Njano na Bluu -
4x WS2812 'Saizi' -
1x DS3231 RTC -
4x 1/4 Mono Jack (Au nyingi utakavyo) - Amazon (Dhahabu) au Amazon (Fedha) au eBay.co.uk
Ufungashaji wa Mchanganyiko wa Mchanganyiko wa 1x -
4x 1/4 Guitar Jacks -
Cable ya Kiendelezi cha Cable ya USB Micro -
Screws 4x M3
VITUO NA VIFAA
- Chuma cha Soldering (Hii ndio niliyonunua - TS100 - kama ilivyokuja na vidokezo vya ziada
- Solder
- Bunduki ya Gundi Moto (https://amzn.to/2UTd9PN)
- Waya (https://amzn.to/2VK2ILU)
- Wakataji waya / viboko (https://amzn.to/2KzqUzp)
- Printa ya 3D au huduma ya Uchapishaji wa 3D
Hiari - Vitu hivi ni vya hiari, kulingana na jinsi unavyochagua kuunganisha kila kitu
- Veroboard / Stripboard (https://amzn.to/2KzMFPE)
- Screw Terminal Viunganishi (2 Pole | 3 Pole | 4 Pole)
- Vichwa vya PCB (https://amzn.to/2X7RjWf)
Hatua ya 2: Uchapishaji wa 3D Uchunguzi
Nilichapisha yangu kwenye Creality CR-10S yangu, nikitumia Black PLA + (https://amzn.to/2X2SDtE)
Nilichapisha kwa urefu wa safu 0.2, na ujazo wa 25%.
Hatua ya 3: Kuiweka Pamoja + Kimkakati
Jinsi unavyochagua kuunganisha Arduino yako ni juu yako kabisa - mimi mwenyewe nilichagua kujifanya "ngao" kwa kusema. Ili kutengeneza ngao, nimeuza vichwa vya kike kwa veroboard ili kufanana na Pro Micro, kisha nikaongeza reli ya + 5v na GND, katika ncha tofauti. Nimetumia waya ya kuruka kuungana na + 5v kwa 'reli' yangu ya sasa ya 5v, na nilifanya vivyo hivyo kwa GND. Kisha nikaongeza vipinzani vyangu vya 4x 100k, mwisho mmoja umeunganishwa na + 5v kwa wote, na kisha upande mwingine unaunganisha kwa A0, A1, A2 & A3 mtawaliwa. Nimeongeza vituo vya screw kwenye pini za Analog A0, A1, A2 & A3 na pia Pini 2 (SDA), 3 (SCL) & 4
Pima wiring yako na ukate kwa urefu unaofaa. Nilianza na WS2812 Pixel LEDs kwanza - LED ya KWANZA ya WS2812 inaunganisha na + 5v kutoka Arduino, GND kutoka Arduino, na DIN inaunganisha kwa Pin 4. Baada ya hii, 3 zilizobaki zimefungwa kwa minyororo, zikifunga 5v zote> 5v, Pini za GND> GND na DOUT kutoka kwa Pixel moja, inaunganisha na DIN ya inayofuata. Mara baada ya kuuzwa, Bonyeza hizi kwa upole kwenye mashimo ya mraba juu, na gundi moto mahali na pia kulinda nyuma kutoka kwa unganisho wowote wa kifupi au kaptula.
Baada ya taa za taa, niligonga kwenye Soketi za Gitaa. Pini moja ya kila moja inaunganisha na GND, na kisha pini ya 2 ya kila moja inaunganisha kwa A0, A1, A2 & A3 ipasavyo. Kwa hivyo hiyo ni Tundu 1, hadi A0, Soketi 2 hadi A1, Soketi 3 hadi A2, na Soketi 4 hadi A3.
Ifuatayo niliuza waya 4 kwa miunganisho ya OLED, na nikapunguza solder yoyote ya ziada iwezekanavyo. Unataka kushikamana na waya zako kutoka nyuma ya skrini, kwa hivyo unaunganisha mbele ya skrini.
Makini na pini! Baadhi ya OLED zina GND kwa nje, halafu VCC, zingine zina VCC nje, na kisha GND
Mara baada ya kuuzwa na umepunguza au kubana unganisho la solder iwezekanavyo, bonyeza kwa upole skrini kwenye eneo lake. Ni sawa sana na muundo, lakini fahamu kuwa uvumilivu tofauti wa kuchapisha unaweza kuathiri hii na kwa hivyo huenda ukalazimika kufanya usindikaji mdogo baada ya kuifanya iwe sawa. Mara tu mahali, weka gundi moto kwenye kila pembe nne ili kuishikilia.
Unganisha kila kitu hadi ulingane na Picha na picha, na ukiwa na furaha, unaweza gundi moto Pro Pro na RTC Clock mahali pia, halafu unganisha ugani wa USB na Pro Micro.
Nilitumia ugani mdogo wa USB ili a) USB itumike kutoa nguvu, lakini zaidi, b) ili iweze kurahisisha Pro Micro ikiwa inahitajika bila kuvuta kila kitu
Mara baada ya kufurahi, songa kesi hiyo pamoja kwa kutumia screws 4
Hatua ya 4: Vifurushi
Njia ambayo hii inafanya kazi, ni kwamba, kwa makusudi yote, sehemu ya muundo inafanya kazi kama "ohmmeter". Ohmmeter ni chombo cha kupima upinzani wa umeme. Multimeter nyingi zina kazi hii ambayo unachagua kiwango na kisha kupima kontena ili kupata thamani yake. Mkuu wa kazi ni kwamba uunganishe kontena linalojulikana kwa + ve, ambalo linaunganishwa na kontena lisilojulikana, ambalo linaunganisha -ve. Pamoja kati ya vipinga 2 inaunganisha na pini ya Analog ya Arduino ili iweze kusoma voltage na kuhesabu upinzani.
Inafanya kazi kama mgawanyiko wa voltage na huhesabu upinzani wa kipinga kisichojulikana.
Kama mtandao wa mgawanyiko wa voltage ya resistors R1 na R2, Vout = Vin * R2 / (R1 + R2) - Tunatumia 100k kwa kipingaji chetu kinachojulikana (R1). Hii inatupa "kushuka kwa voltage"
Kutokana na hili, sasa tunaweza kumaliza upinzani wa kipingaji kisichojulikana (R2), R2 = Piga * R1 / (Vin - Vout) - ambapo R1 ni kipinzani chetu cha 100k (100, 000 ohm)
Kwa kutumia kontena tofauti katika kila kiziba unachotaka kutumia, unaweza kurekebisha nambari kulingana na jack inayotumika.
Ninatumia plugs 4 za jack. Nilichagua kutumia:
Mpingaji anayejulikana (x4) - 100k
Jack kuziba 1 - 5.6k
Jack kuziba 2 - 10k
Jack kuziba 3 - 22k
Jack kuziba 4 - 39k
Kwa kweli unaweza kupanua hii, na uweke nambari nyingi kama vile ungependa.
Hatua ya 5: Kanuni
Kwanza, utahitaji Arduino IDE, inayopatikana kutoka hapa:
Utahitaji pia kuhakikisha kuwa una Maktaba kadhaa ya Arduino pia:
NeoPixel ya Adafruit:
u8g2:
Matunda ya RTCLib:
Adafruit SleepyDog (Hiari):
Ujumbe juu ya kuchagua bodi sahihi ya "Arduino". Hapo awali nilianzisha mradi huu na Arduino Nano, kwa sababu ni bei rahisi kwa karibu 3- £ 4 nchini Uingereza, au kidogo kama £ 1.50 ukinunua kutoka AliExpress (lakini usijali kusubiri kwa siku 30-50). Shida na Nano ni kwamba SRAM ni 2 KB (2048 byte). Mchoro huu hutumia kaiti 1728 za kumbukumbu zenye nguvu na Vigeuzi vya Ulimwenguni. Hiyo ni 84% ya SRAM, ikiacha ka 320 tu bure kwa vigeuzi vya kawaida. Hii haikuwa ya kutosha na ingeweza kusababisha Nano kufunga na kufungia.
Pro Micro (Leonardo) ina 2.5K SRAM (2560 byte), ambayo inamaanisha kuna baiti 694 za bure kwa vigeuzi vya ndani (Mchoro hutumia 72% ya ProAM's SRAM). Hadi sasa hii imeonekana kuwa ya kutosha na thabiti kwa matumizi yangu. Ikiwa unakusudia kutumia plugi nyingi za jack, basi unaweza kutaka kufikiria kutumia kitu na SRAM zaidi.
Mbali na kuhifadhi Flash, mchoro huu hutumia 88% (25252 ka) ya 30k (ATMega328p [Nano] na ATMega32u4 [Pro Micro] zote zina 32k, lakini 2k imehifadhiwa kwa bootloader)
Nimeandika mamia ya michoro ya Arduino kwa miaka mingi, lakini mimi ni mpenda hobby - kwa hivyo zingatia sehemu zingine za nambari zinaweza kuwa na ufanisi au kunaweza kuwa na "njia bora za kufanya hii". Hiyo inasemwa, inanifanyia kazi kikamilifu na ninafurahi nayo. Nilitumia maktaba ambayo INAPASWA kufanya kazi kwa bodi nyingi, iwe ni AVR (ya msingi kabisa ya Arduino) au SAMD21 (nina vifaa vichache vya Cortex M0)
Nilitaka kuonyesha picha tofauti kulingana na jack iliyotumiwa pia. Ikiwa unataka kufanya yako mwenyewe, huu ni mwongozo rahisi mzuri wa jinsi ya kuunda safu ya C kwa picha zitakazotumiwa na onyesho hili:
sandhansblog.wordpress.com/2017/04/16/interfacing-displaying-a-custom-graphic-on-an-0-96-i2c-oled/
Hakikisha kutumia PROGMEM kwa picha zako. Mfano:
tuli st unsigned char YOUR_IMAGE_NAME PROGMEM = {}
Kwa muundo, skrini "itaisha" baada ya sekunde 5 na itarejea kuonyesha wakati.
Mipangilio mingi inaweza kupatikana katika Mipangilio.h, haswa, jina la plugs za jack zinazohusiana zimeorodheshwa hapa:
#fafanua PLUG1 "FUNGUO"
#fafanua PLUG2 "P2" #fafanua PLUG3 "P3" #fafanua PLUG4 "P4" #fafanua GENERIC "NA"
Pia kuna sehemu muhimu za nambari ndani ya Vigeuzi.h
kuelea R1 = 96700.0;
kuelea R2 = 96300.0; kuelea R3 = 96500.0; kuelea R4 = 96300.0;
Hizi ni maadili ya upinzani inayojulikana, katika ohms, ya kila moja ya vipinga 4.
R1 imeunganishwa na A0, R2 hadi A1, R3 hadi A2, na R4 hadi A3.
Inashauriwa kupima vipingaji vyako 100k kwa kutumia multimeter na utumie thamani halisi ya kontena. Chukua kipimo cha kipinga mara kila kitu kimeunganishwa. (Lakini haijawashwa).
Wakati wa kuchagua vipingaji vya plugi zako za jack, hakikisha kuna pengo nzuri la ohm kati yao, na unapoweka kificho, jipe anuwai anuwai ya chini na ya juu kuliko kipinga chako ulichochagua. Hivi ndivyo nilivyotumia katika nambari yangu:
kuelea P1_MIN = 4000.0, P1_MAX = 7000.0; // 5.6K
kuelea P2_MIN = 8000.0, P2_MAX = 12000.0; // kuelea 10K P3_MIN = 20000.0, P3_MAX = 24000.0; // kuelea 22K P4_MIN = 36000.0, P4_MAX = 42000.0; // 39K
Sababu ya hii ni kuhesabu usomaji wa Analog na kushuka kwa kiwango kidogo cha voltage nk
Kwa hivyo kinachotokea ni, ikiwa upinzani unaogunduliwa ni kati ya 4000 ohms na 7000 ohms, tunafikiria umetumia kontena la 5.6k na kwa hivyo nambari itaona hii kama Jack Plug 1. Ikiwa upinzani uliopimwa ni kati ya ohms 8000 na 12000 ohms, dhana ni kwamba ni kipinzani cha 10k na ni Jack kuziba 2 na kadhalika.
Ikiwa unahitaji kufanya utatuzi (Usiache bila kusumbuliwa katika 'utengenezaji' kwani utatuzi wa serial hutumia kondoo wa thamani) ondoa tu mistari unayohitaji juu ya Mipangilio.
// # fafanua SERIAL_DEBUG
// # fafanua WAIT_FOR_SERIAL
Ili kutosheleza, futa rahisi //…. kutoa maoni nyuma ya mstari, ongeza tena // mbele ya mstari.
SERIAL_DEBUG inawezesha utatuzi wa serial na utumiaji wa vitu kama (kwa mfano)
Serial.println (F ("hello world"));
WAIT_FOR_SERIAL ni hatua ya ziada, hiyo inamaanisha, mpaka utakapofungua Monitor Monitor, nambari hiyo haitaendelea. Hii inasaidia kuhakikisha kuwa hukosi ujumbe wowote muhimu wa serial. - KAMWE USIACHE HII ILIWEZESHWA
Ukiondoka WAIT_FOR_SERIAL ikiwa imewezeshwa, hautaweza kutumia kishikiliaji chako muhimu katika mazingira yoyote ya "ulimwengu halisi" kwani itakwama kusubiri mfuatiliaji wa Arduino IDE Serial kabla ya kuendelea kwenye kitanzi kuu cha mchoro. Mara tu ukimaliza utatuzi wako, hakikisha uncomment laini hii tena, na upakia tena mchoro wako kwa uzalishaji / kukamilika.
Unapotumia chaguo la SERIAL_DEBUG, nambari yangu ina zifuatazo:
#ifdef SERIAL_DEBUG
Serial.print (F ("ACTIVE JACK =")); Serial.println (ACTIVE_JACK); int len = saizi ya (SOCKET_1234_HAS_PLUGTYPE_X) / sizeof (SOCKET_1234_HAS_PLUGTYPE_X [0]); kwa (int i = 0; i <len; i ++) {Serial.print (F ("SOCKET_1234_HAS_PLUGTYPE_X [")); Printa ya serial (i); Serial.print (F ("] =")); Serial.println (SOCKET_1234_HAS_PLUGTYPE_X ); } Serial.println (); ikiwa (TETESI IMEINGIWA) {Serial.print (F ("Chomeka tundu")); Printa ya serial (tundu + 1); Serial.print (F ("ina resitance ya:")); Serial.println (upinzani); } # mwisho
Mstari wa mwisho wa Serial.print utakuambia upinzani ni nini, katika ohms, ya jack iliyoingizwa mwisho. Kwa hivyo unaweza pia kutumia mchoro huu kama ohmmeter ya aina ili kuangalia upinzani wa kuziba jack.
Hatua ya 6: Vidokezo
Nadhani nimefunika kila kitu, lakini tafadhali toa maoni na nitajitahidi kusoma na kujibu wakati ninaweza:)
Samahani kwa video duni - sina kitatu, kuweka upya usanidi au nafasi inayofaa ya kufanya kazi ili kusema hivyo hii ilipigwa picha (vibaya) kushika simu kwa mkono mmoja na kujaribu kuionesha na nyingine.
Asante kwa kusoma.
Ilipendekeza:
Chagua Kichwa na Maneno Muhimu ya Kukufundisha: Hatua 6 (na Picha)
Chagua Kichwa na Maneno Muhimu ya Kufundishwa Yako: Kuchagua kichwa sahihi na maneno muhimu inaweza kuwa tofauti kati ya kuelekezwa kwenda kwenye ukurasa wa mbele wa matokeo ya utaftaji wa Google au kugonga na kuchoma kwenye ardhi ya kutisha isiyo na maoni ya wavuti. Wakati maneno na kichwa sio pekee
Mahesabu Muhimu katika Elektroniki: Hatua 7
Mahesabu Muhimu katika Elektroniki: Hii inayoweza kufundishwa inakusudia kuorodhesha baadhi ya mahesabu muhimu katika wahandisi / watengenezaji wa elektroniki wanahitaji kufahamu. Ukweli kabisa kuna fomula nyingi ambazo zinaweza kutoshea katika kitengo hiki. Kwa hivyo nimepunguza mafunzo haya kwa msingi wa msingi
Mfumo wa Usalama muhimu wa Kidole cha Kidole cha Kidole: Hatua 8
Mfumo wa Usalama muhimu wa Kidole-Kidole: Maombi haya ni muhimu kwa kuhakikisha funguo zetu za kila siku zinazohitajika (kufuli) Wakati mwingine tunakuwa na funguo za kawaida kama nyumba, karakana, maegesho kati ya watu wawili au zaidi. Kuna idadi ya mifumo ya metri ya bio inapatikana katika soko, ni mai
Uhariri wa Sauti katika PREMIERE Pro Kutumia Muafaka muhimu: Hatua 5
Uhariri wa Sauti katika PREMIERE Pro Kutumia Picha Muhimu: Hii inayoweza kupangwa imeundwa kama mwongozo wa kudhibiti sauti ndani ya PREMIERE Pro, iwe ni kurekebisha idadi ili kuambatanisha nyimbo na kuzichanganya vizuri, au kuunda tena wimbo mmoja kuwa kitu ambacho suti bora th
Salama muhimu ya Arduino: Hatua 4
Salama muhimu ya Arduino: Mawazo kutoka: https://www.instructables.com/id/Key-Safe/Ni mtu ambaye kila wakati alipoteza vitu vyangu bila sababu. Ninaweka ufunguo huu salama hivyo basi naweza kukumbuka kuweka vitu vyangu ndani, bila vitu kupotea. Katika mradi huu, nimefanya maboresho kadhaa