Sadržaj:
- Korak 1: Dijelovi i alati
- Korak 2: 3D ispis kućišta
- Korak 3: Spajanje svega + shema
- Korak 4: Utikači
- Korak 5: Kôd
- Korak 6: Bilješke
- Korak 7: Dnevnik promjena
Video: Arduino držač ključeva za gitaru s prepoznavanjem utičnice i OLED: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Uvod:
Ovo uputstvo će detaljno opisati izradu mog držača ključeva za dodatke sa gitarom zasnovanog na Arduinu
Ovo je moje prvo uputstvo, pa me podnesite jer ću usput možda unijeti promjene / nadogradnje
Korak 1: Dijelovi i alati
Većinu dijelova koje sam kupio na Amazon.co.uk ili eBay, neke sam već razbacao - evo popisa onoga što će vam trebati.
Amazonske veze su sve partnerske veze, možda ćete drugdje moći pronaći jeftinije - često koristim Amazon Prime, pa je Amazon slučajno bio moj posjet.
Htio sam zadržati ovu izgradnju prilično jeftinom i proračunskom. Mogli biste koristiti veći TFT zaslon ako želite, kao i drugi Arduino. Nemojte koristiti NANO jer će se srušiti zbog velike upotrebe memorije. Kod koristi oko 72% RAM -a Pro Micro -a i stabilan je, ali nakon testiranja NANO će se srušiti i zamrznuti.
(Više detalja u koraku Code.)
DIJELOVI
1x Arduino Pro Micro -
1x 0,96 OLED sa žuto -plavim zaslonom -
4x WS2812 'Pikseli' -
1x DS3231 RTC -
4x 1/4 mono utičnica (ili koliko god želite) - Amazon (zlato) ili Amazon (srebro) ili eBay.rs
1x paket mješovitih otpornika -
4x 1/4 utičnice za gitaru -
1x produžni kabel za mikro USB kabel -
4x M3 vijci
ALATI I MATERIJALI
- Lemilica (ovo je ono što sam kupio - TS100 - kako je stiglo s dodatnim savjetima
- Lemilo
- Pištolj za vruće ljepilo (https://amzn.to/2UTd9PN)
- Žica (https://amzn.to/2VK2ILU)
- Rezači/skidači žice (https://amzn.to/2KzqUzp)
- 3D pisač ili usluga 3D ispisa
NEOBVEZNO - Ove stavke su izborne, ovisno o tome kako ste odlučili sve spojiti
- Veroboard/Stripboard (https://amzn.to/2KzMFPE)
- Konektori s vijčanim stezaljkama (2 pola | 3 pola | 4 pola)
- Zaglavlja PCB -a (https://amzn.to/2X7RjWf)
Korak 2: 3D ispis kućišta
Ja sam svoj ispisao na svom Creality CR-10S, koristeći Black PLA+ (https://amzn.to/2X2SDtE)
Tiskao sam na 0,2 sloja visine, s ispunom od 25%.
Korak 3: Spajanje svega + shema
Kako ćete odlučiti spojiti svoj Arduino, u potpunosti ovisi o vama - osobno sam se odlučio tako reći "štit". Za izradu štita lemio sam ženska zaglavlja na veroboard kako bi odgovarao Pro Micro -u, zatim sam dodao šinu od +5v i GND na suprotnim krajevima. Koristio sam kratkospojnik za spajanje +5v na moju sada 5v 'šinu', a isto sam učinio i za GND. Zatim sam dodao svoje 4x 100k otpornike, jedan kraj spojen na +5v za sve njih, a zatim se druga strana spaja na A0, A1, A2 i A3. Zatim sam dodao vijčane stezaljke analognim pinovima A0, A1, A2 i A3, a također i pinovima 2 (SDA), 3 (SCL) & 4
Izmjerite ožičenje i izrežite ga na odgovarajuće duljine. Prvo sam počeo s pikselnim LED diodama WS2812 - PRVI LED WS2812 spaja se na +5v iz Arduina, GND iz Arduina, a DIN se spaja na pin 4. Nakon toga, preostala 3 su lancem spojena, povezujući svih 5v> 5v, GND> GND pinovi i DOUT s jednog piksela, povezuje se s DIN sljedećeg. Nakon što ih zalemite, lagano ih utisnite u četvrtaste rupe na vrhu i vruće ljepilo na mjestu, a također i za zaštitu stražnje strane od slučajnih spojeva ili kratkih hlača.
Nakon LED dioda, zatim sam ušrafio utičnice za gitaru. Svaki pin svaki se spaja na GND, a zatim se drugi pin svakog povezuje na A0, A1, A2 i A3 u skladu s tim. Dakle, to je utičnica 1, na A0, utičnica 2 na A1, utičnica 3 na A2 i utičnica 4 na A3.
Zatim sam lemio 4 žice na OLED priključke i skinuo višak lemljenja što je više moguće. Želite spojiti svoje žice sa stražnje strane zaslona, pa lemite na prednji dio zaslona.
Obratite pažnju na pribadače! Neki OLED -ovi imaju GND izvana, zatim VCC, neki imaju VCC izvana, a zatim GND
Nakon što ste zalemljeni, a vi ste obrezali ili spljoštili priključak za lemljenje što je više moguće, nježno pritisnite zaslon na njegovo mjesto. Dizajn je malo usko uklopljen, ali imajte na umu da različite tolerancije ispisa mogu utjecati na to pa ćete možda morati obaviti manju naknadnu obradu kako biste ga prilagodili. Nakon što postavite na mjesto, stavite vruće ljepilo preko svakog od 4 ugla kako biste ga držali na mjestu.
Spojite sve kako bi odgovaralo shemi i slikama. Nakon što ste sretni, možete vruće zalijepiti Pro Micro i RTC sat na mjesto, a zatim priključiti USB produžetak na Pro Micro.
Koristio sam mikro USB proširenje tako da se a) USB može koristiti za napajanje, ali više, b) tako da je bilo moguće reprogramirati Pro Micro ako je potrebno, a da se sve ne razdvoji
Kad ste sretni, pričvrstite kućište pomoću 4 vijka
Korak 4: Utikači
Način na koji to radi je da, za sve namjere i svrhe, dio dizajna radi kao "ohmmetar". Ohmmetar je instrument za mjerenje električnog otpora. Većina multimetra ima ovu funkciju pri čemu odabirete ljestvicu, a zatim mjerite otpornik kako biste pronašli njegovu vrijednost. Glavni princip rada je da spojite ZNATI otpornik na +ve, koji je zatim spojen na NEPOZNATI otpornik, koji se spaja na -ve. Spoj između 2 otpornika povezuje se s analognim pinom Arduino tako da može očitati napon i izračunati otpor.
Radi kao djelitelj napona i izračunava otpor nepoznatog otpornika.
Kao mreža razdjelnika napona otpornika R1 i R2, Vout = Vin * R2 / (R1 + R2) - Koristimo 100 k za naš poznati (R1) otpornik. To nam daje "pad napona"
Iz ovoga sada možemo izračunati otpor nepoznatog (R2) otpornika, R2 = Vout * R1 / (Vin - Vout) - gdje je R1 naš otpornik od 100 k (100 000 ohma)
Koristeći različiti otpornik u svakoj utičnici koju želite koristiti, tada možete prilagoditi kôd ovisno o utičnici koja se koristi.
Koristim 4 utikača. Odlučio sam se za korištenje:
Poznati otpornik (x4) - 100k
Jack utikač 1 - 5.6k
Jack utikač 2 - 10k
Jack Plug 3 - 22k
Jack utikač 4 - 39k
Naravno, mogli biste ovo proširiti i kodirati u koliko god želite.
Korak 5: Kôd
Prvo će vam trebati Arduino IDE, dostupan ovdje:
Također ćete se morati pobrinuti da imate i nekoliko Arduino knjižnica:
Adafruit NeoPixel:
u8g2:
Adafruit RTCLib:
Adafruit SleepyDog (izborno):
Napomena o odabiru prave "Arduino" ploče. Prvotno sam započeo ovaj projekt s Arduino Nano, jer su super jeftini po cijeni od £ 3 u Velikoj Britaniji ili samo 1,50 £ ako kupujete na AliExpressu (ali nemojte imati ništa protiv čekanja od 30 do 50 dana)). Problem s Nanoom je što je njegov SRAM 2 KB (2048 bajtova). Ova skica koristi 1728 bajtova dinamičke memorije s globalnim varijablama. To je 84% SRAM -a, ostavljajući samo 320 bajtova slobodnim za lokalne varijable. To nije bilo dovoljno i uzrokovalo bi da se Nano zaključa i zamrzne.
Pro Micro (Leonardo) ima 2.5K SRAM (2560 bajtova), što znači da ima 694 bajta slobodnih za lokalne varijable (skica koristi 72% SRAM -a Pro Micro -a). Do sada se ovo pokazalo savršeno prikladnim i stabilnim za moju upotrebu. Ako namjeravate koristiti mnoge utičnice, razmislite o upotrebi nečega s više SRAM -a.
Što se tiče Flash pohrane, ova skica koristi 88% (25252 bajta) od 30k (ATMega328p [Nano] i ATMega32u4 [Pro Micro] imaju 32k, ali 2k je rezervirano za bootloader)
Napisao sam stotine Arduino skica tijekom godina, ali sam hobist - pa imajte na umu da neki dijelovi koda mogu biti neučinkoviti ili postoje "bolji načini za to" scenarije. Rečeno je da mi savršeno radi i zadovoljan sam s tim. Koristio sam knjižnice koje bi TREBALE raditi na većini ploča, bilo da se radi o AVR -u (najosnovnijem Arduinu) ili SAMD21 (imam pregršt Cortex M0 uređaja)
Htio sam prikazati drugačiju grafiku na temelju korištene utičnice. Ako želite napraviti vlastiti, ovo je briljantan jednostavan vodič o tome kako stvoriti C niz za slike koje će se koristiti s ovim zaslonom:
sandhansblog.wordpress.com/2017/04/16/interfacing-displaying-a-custom-graphic-on-an-0-96-i2c-oled/
Za grafiku koristite PROGMEM. Npr:
static const unsigned char YOUR_IMAGE_NAME PROGMEM = {}
Po dizajnu, zaslon će "isteći" nakon 5 sekundi i vratiti se na prikaz vremena.
Većina postavki može se pronaći u Settings.h, točnije ovdje su kodirani nazivi pridruženih utičnica:
#define PLUG1 "KLJUČOVI"
#define PLUG2 "P2" #define PLUG3 "P3" #define PLUG4 "P4" #define GENERIC "NA"
Unutar Variables.h postoje i neki važni dijelovi koda.h
plovak R1 = 96700,0;
plovak R2 = 96300,0; plovak R3 = 96500,0; plovak R4 = 96300,0;
Ovo su ZNANJE vrijednosti otpora, u ohmima, svakog od 4 otpornika.
R1 spojen na A0, R2 na A1, R3 na A2 i R4 na A3.
Preporučljivo je izmjeriti vaše 100k otpornike pomoću multimetra i upotrijebiti točnu vrijednost otpornika. Izmjerite otpornik nakon što je sve spojeno. (Ali nije uključeno).
Prilikom odabira otpornika za vaše utičnice, pobrinite se da postoji dobar ohmski razmak između njih, a kad ih kodirate, dajte sebi lijep raspon niži i veći od odabranog otpornika. Evo što sam koristio u svom kodu:
plovak P1_MIN = 4000,0, P1_MAX = 7000,0; // 5,6K
plovak P2_MIN = 8000.0, P2_MAX = 12000.0; // 10K plovak P3_MIN = 20000.0, P3_MAX = 24000.0; // 22K plovak P4_MIN = 36000.0, P4_MAX = 42000.0; // 39K
Razlog za to je uzimanje u obzir analognog očitanja i manjih fluktuacija napona itd
Dakle, događa se sljedeće: ako je otkriveni otpor između 4000 oma i 7000 oma, pretpostavljamo da ste koristili otpornik od 5,6 k, pa će kôd to vidjeti kao utikač za utičnicu 1. Ako je izmjereni otpor između 8000 ohma i 12000 ohma, pretpostavka je da se radi o 10k otporniku i da je Jack Plug 2 i tako dalje.
Ako trebate napraviti neke pogreške (Ne ostavljajte bez komentara u 'produkciji' jer serijsko otklanjanje pogrešaka koristi dragocjeni RAM) jednostavno uklonite komentare iz redaka koje trebate na vrhu Postavki.h
//#definirati SERIAL_DEBUG
//#definirati WAIT_FOR_SERIAL
Da biste komentirali, jednostavno uklonite //…. da biste komentirali redak, ponovno dodajte // na prednji dio retka.
SERIAL_DEBUG omogućuje serijsko otklanjanje pogrešaka i upotrebu stvari kao što su (na primjer)
Serial.println (F ("hello world"));
WAIT_FOR_SERIAL je dodatni korak, što znači da se kôd neće nastaviti sve dok ne otvorite serijski monitor. To pomaže da ne propustite važne serijske poruke. - OVO NIKADA NE OSTAVLJAJTE Omogućeno
Ako ostavite omogućen WAIT_FOR_SERIAL, nećete moći koristiti svoj držač ključa u bilo kojem okruženju "stvarnog svijeta" jer će zaglaviti čekajući Arduino IDE serijski monitor prije nego što nastavi u glavnu petlju skice. Nakon što ste dovršili ispravljanje pogrešaka, pobrinite se da ponovo uklonite komentar s ovog retka, te ponovo prenesite svoju skicu za produkciju/završetak.
Kada koristim opciju SERIAL_DEBUG, moj kôd sadrži sljedeće:
#ifdef SERIAL_DEBUG
Serial.print (F ("ACTIVE JACK =")); Serial.println (ACTIVE_JACK); int len = sizeof (SOCKET_1234_HAS_PLUGTYPE_X)/sizeof (SOCKET_1234_HAS_PLUGTYPE_X [0]); for (int i = 0; i <len; i ++) {Serial.print (F ("SOCKET_1234_HAS_PLUGTYPE_X [")); Serijski.ispis (i); Serijski.ispis (F ("] =")); Serial.println (SOCKET_1234_HAS_PLUGTYPE_X ); } Serial.println (); if (INSERTED [utičnica]) {Serial.print (F ("Uključite utičnicu")); Serijski.ispis (utičnica+1); Serial.print (F ("ima otpor:")); Serial.println (otpor); } #završi ako
Posljednja linija Serial.print reći će vam koliki je otpor, u ohmima, posljednje umetnute utičnice. Tako da ovu skicu možete koristiti i kao svojevrsni ohmmetar za provjeru otpora utikača.
Korak 6: Bilješke
Mislim da sam sve pokrio, ali komentirajte pa ću se potruditi pročitati i odgovoriti kad god mogu:)
Isprike zbog pomalo lošeg videa - nemam stativ, postavke za ponovno snimanje ili odgovarajući radni prostor, da tako kažem, pa je ovo snimljeno (loše) držeći telefon u jednoj ruci i pokušavajući ga demonstrirati drugom.
Hvala na čitanju.
Preporučeni:
Jednostavan Robo-Dog (od klavirskih ključeva, pištolja za igračke i miša): 20 koraka (sa slikama)
Jednostavan Robo-Dog (napravljen od klavirskih ključeva, pištolja za igračke i miša): O, Azerbajdžan! Vatrena zemlja, veliko gostoprimstvo, ljubazni ljudi i lijepe žene (… oprosti, ženo! Naravno da imam samo oči za tebe, moja gözəl balaca ana ördəkburun žena!). Ali iskreno, ovo je jako teško mjesto za proizvođača, pogotovo kad
Sigurnosni sustav ključeva za otiske prstiju: 8 koraka
Sigurnosni sustav ključeva za otiske prstiju: Ova aplikacija je korisna za osiguranje svakodnevnih ključeva (zaključavanje). Ponekad imamo neke uobičajene ključeve poput kuće, garaže, parkiranja između dvije ili više osoba. Na tržištu postoji niz biometrijskih sustava koji mogu
Raspberry Pi RF mrežne utičnice na daljinsko upravljanje (utičnice): 6 koraka
Raspberry Pi RF daljinski upravljane mrežne utičnice (utičnice): Upravljajte jeftinim mrežnim utičnicama (zidne utičnice) od 433MHz pomoću Raspberry Pi. Pi može naučiti kontrolne kodove koji se šalju s daljinskog upravljača utičnica i koristiti ih pod programskom kontrolom za aktiviranje bilo koje ili svih udaljenih utičnica u cijeloj kući
DIY Easy držač za slušalice držač: 6 koraka
DIY Jednostavna vješalica za držače slušalica: Napravite vlastitu jednostavnu vješalicu za držače za slušalice od jeftinih materijala. Kao učitelj, dosadilo mi je neurednih slušalica posvuda u računalnom laboratoriju i trebalo mi je rješenje. Nadajmo se da će vam ovo pomoći da uštedite glavobolju i novac
Držač bljeskalice za USB pogon-NAPRAVITE DRŽAČ ZA POVEZANJE: 5 koraka
Držač bljeskalice za USB pogon-NAPRAVITE DRŽAČ ZA POVEZIVANJE: Umorni ste od toga da imate USB pogon za palac cijelo vrijeme oko vrata? Budite moderni izradom držača za pojaseve od sportskog upaljača za cigarete