Obsah:
- Krok 1: Díly a nástroje
- Krok 2: 3D tisk pouzdra
- Krok 3: Dát to všechno dohromady + schéma
- Krok 4: Zásuvky
- Krok 5: Kód
- Krok 6: Poznámky
- Krok 7: Seznam změn
Video: Držák klíče pro kytaru Arduino Jack s rozpoznáváním jacku a OLED: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Intro:
Tento návod podrobně popisuje sestavení mého držáku klíče pluginu Guitar Jack na bázi Arduina
Toto je můj vůbec první pokyn, takže mějte prosím se mnou, protože na cestě mohu provádět změny / aktualizace
Krok 1: Díly a nástroje
Většinu dílů jsem koupil z Amazon.co.uk nebo eBay, některé jsem už nakopával - zde je seznam toho, co budete potřebovat.
Odkazy na Amazon jsou všechny odkazy na affiliate partnery, jinde je můžete sehnat levněji - Amazon Prime používám hodně, takže Amazon byl náhodou můj go -to.
Chtěl jsem, aby tato stavba byla poměrně levná a přátelská k rozpočtu. Pokud chcete, můžete použít větší TFT obrazovku, stejně jako jiné Arduino. Nepoužívejte NANO, protože kvůli vysokému využití paměti se zhroutí. Kód využívá asi 72% RAM Pro Micro a je stabilní, ale při testování se NANO zhroutí a zamrzne.
(Více podrobností v kroku Kód.)
DÍLY
1x Arduino Pro Micro -
1x 0,96 OLED se žlutým a modrým displejem -
4x WS2812 'Pixels' -
1x DS3231 RTC -
4x 1/4 Mono Jack (nebo tolik, kolik chcete) - Amazon (zlato) nebo Amazon (stříbro) nebo eBay.co.uk
1x Mixed Resistor Pack -
4x 1/4 kytarové zvedáky -
1x Prodlužovací kabel kabelu Micro USB -
4x šrouby M3
NÁŘADÍ A MATERIÁLY
- Páječka (Toto je ta, kterou jsem koupil - TS100 - jak přišla s dalšími tipy
- Pájka
- Pistole na lepidlo (https://amzn.to/2UTd9PN)
- Wire (https://amzn.to/2VK2ILU)
- Odřezávače/odizolovače drátu (https://amzn.to/2KzqUzp)
- 3D tiskárna nebo služba 3D tisku
VOLITELNÉ - Tyto položky jsou volitelné, podle toho, jak se rozhodnete vše propojit
- Veroboard/Stripboard (https://amzn.to/2KzMFPE)
- Šroubové konektory (2 póly | 3 póly | 4 póly)
- Záhlaví DPS (https://amzn.to/2X7RjWf)
Krok 2: 3D tisk pouzdra
Vytiskl jsem svůj na svém Creality CR-10S pomocí Black PLA+ (https://amzn.to/2X2SDtE)
Tiskl jsem ve výšce 0,2 vrstvy s 25% výplní.
Krok 3: Dát to všechno dohromady + schéma
Jak se rozhodnete připojit své Arduino, je zcela na vás - osobně jsem se rozhodl udělat ze sebe takříkajíc „štít“. Abych vytvořil štít, připájel jsem ženské záhlaví na veroboard, aby odpovídalo Pro Micro, a poté jsem přidal lištu +5v a GND na opačných koncích. Použil jsem propojovací vodič k připojení +5v k mé nyní 5v 'kolejnici' a udělal jsem to samé pro GND. Poté jsem přidal své odpory 4x 100k, jeden konec připojený ke všem +5v a poté se druhá strana připojí k A0, A1, A2 a A3. Poté jsem přidal šroubové svorky na analogové piny A0, A1, A2 a A3 a také na piny 2 (SDA), 3 (SCL) a 4
Změřte zapojení a ustřihněte příslušné délky. Nejprve jsem začal s LED diodami WS2812 Pixel - FIRST WS2812 LED se připojuje k +5v z Arduina, GND z Arduina a DIN se připojuje na Pin 4. Poté jsou zbývající 3 spojeny dohromady, řetězí všech 5v> 5v, GND> GND piny a DOUT z jednoho pixelu, připojí se k DIN druhého. Jakmile jsou připájeny, jemně je zatlačte do čtvercových otvorů v horní části a na místo naneste horké lepidlo a také ochraňte zadní část před náhodným spojením nebo zkratem.
Po diodách LED jsem pak zašrouboval zásuvky pro kytarové konektory. Jeden pin každého se připojí k GND a poté druhý pin každého se připojí k A0, A1, A2 a A3 odpovídajícím způsobem. Takže to je zásuvka 1 až A0, zásuvka 2 až A1, zásuvka 3 až A2 a zásuvka 4 až A3.
Dále jsem připájel 4 dráty k OLED spojům a co nejvíce ořezal přebytečnou pájku. Chcete připojit kabely ze zadní části obrazovky, takže pájíte na přední část obrazovky.
Dávejte pozor na špendlíky! Některé OLED mají GND na vnější straně, pak VCC, některé mají VCC na vnější straně a pak GND
Jakmile pájíte a co nejvíce oříznete nebo zploštíte pájecí spojení, jemně zatlačte obrazovku na její místo. Je to trochu těsné přizpůsobení designu, ale uvědomte si, že to mohou ovlivnit různé tolerance tisku, a proto možná budete muset provést nějaké menší následné zpracování, aby to vyhovovalo. Jakmile je na svém místě, položte horké lepidlo přes každý ze 4 rohů, aby drželo na svém místě.
Připojte vše tak, aby odpovídalo schématu a obrázkům, a až budete šťastní, můžete za horka přilepit také hodiny Pro Micro a RTC a poté připojit rozšíření USB k zařízení Pro Micro.
Použil jsem rozšíření micro USB, takže a) USB lze použít k napájení, ale ještě více, b) aby bylo možné v případě potřeby přeprogramovat Pro Micro, aniž byste vše rozdělili
Jakmile budete šťastní, zašroubujte pouzdro dohromady pomocí 4 šroubů
Krok 4: Zásuvky
Funguje to tak, že část návrhu pro všechny účely a účely funguje jako „ohmmetr“. Ohmmetr je nástroj pro měření elektrického odporu. Většina multimetrů má tuto funkci, kdy vyberete měřítko a poté změříte odpor, abyste zjistili jeho hodnotu. Pracovní princip spočívá v tom, že k +ve připojíte odpor KNOWN, který se pak připojí k NEZNÁMÉmu odporu, který se připojí k -ve. Spoj mezi dvěma odpory se připojuje k analogovému kolíku Arduino, aby mohl číst napětí a vypočítat odpor.
Funguje jako dělič napětí a vypočítává odpor neznámého rezistoru.
Jako síť děličů napětí odporů R1 a R2, Vout = Vin * R2 / (R1 + R2) - Používáme 100k pro náš známý (R1) odpor. To nám dává „pokles napětí“
Z toho nyní můžeme vypočítat odpor neznámého (R2) rezistoru, R2 = Vout * R1 / (Vin - Vout) - kde R1 je náš odpor 100 k (100 000 ohmů)
Použitím jiného odporu v každém konektoru, který chcete použít, pak můžete upravit kód podle použitého konektoru.
Používám 4 konektory jack. Rozhodl jsem se použít:
Známý odpor (x4) - 100k
Jack konektor 1 - 5,6 tis
Jack konektor 2 - 10 tis
Jack konektor 3 - 22k
Jack Plug 4 - 39 tis
Samozřejmě to můžete rozšířit a kódovat v libovolném počtu.
Krok 5: Kód
Nejprve budete potřebovat Arduino IDE, dostupné odtud:
Budete se také muset ujistit, že máte několik knihoven Arduino:
Adafruit NeoPixel:
u8g2:
Adafruit RTCLib:
Adafruit SleepyDog (volitelně):
Poznámka k výběru správné desky „Arduino“. Původně jsem tento projekt zahájil s Arduino Nano, protože jsou velmi levné za přibližně 3 až 4 GBP ve Velké Británii, nebo za pouhých 1,50 GBP, pokud nakupujete na AliExpress (ale nevadí vám 30-50denní čekání). Problém s Nano je, že jeho SRAM je 2 KB (2048 bajtů). Tato skica používá 1728 bajtů dynamické paměti s globálními proměnnými. To je 84% SRAM, takže pro místní proměnné zbývá jen 320 bajtů. To bylo nedostatečné a způsobilo by to, že se Nano zamklo a zamrzlo.
Pro Micro (Leonardo) má 2,5 kB SRAM (2560 bajtů), což znamená, že pro lokální proměnné je 694 bajtů volných (Skica využívá 72% SRAM Pro Pro). Zatím se to ukázalo jako naprosto adekvátní a stabilní pro mé použití. Pokud máte v úmyslu použít mnoho konektorů jack, možná budete chtít zvážit použití něčeho s více SRAM.
Pokud jde o úložiště Flash, tato skica využívá 88% (25252 bajtů) z 30 kB (ATMega328p [Nano] a ATMega32u4 [Pro Micro] mají 32 kB, ale 2 kB je vyhrazeno pro zavaděč)
Za ta léta jsem napsal stovky skic Arduina, ale jsem fanda - takže mějte na paměti, že některé části kódu mohou být neúčinné nebo mohou existovat scénáře „lepších způsobů, jak to udělat“. To je řečeno, funguje to perfektně pro mě a jsem s tím spokojen. Použil jsem knihovny, které BY MĚLY fungovat na většině desek, ať už je to AVR (nejzákladnější Arduino) nebo SAMD21 (mám několik zařízení Cortex M0)
Chtěl jsem také zobrazit jinou grafiku na základě použitého konektoru. Pokud si chcete vytvořit vlastní, je to skvělý jednoduchý návod, jak vytvořit pole C pro obrázky, které budou použity s tímto displejem:
sandhansblog.wordpress.com/2017/04/16/interfacing-displaying-a-custom-graphic-on-an-0-96-i2c-oled/
Pro svoji grafiku určitě použijte PROGMEM. Např:
static const unsigned char YOUR_IMAGE_NAME PROGMEM = {}
Podle návrhu se obrazovka po 5 sekundách „vyprší“a vrátí se k zobrazení času.
Většinu nastavení najdete v Settingss.h, konkrétně zde jsou kódovány názvy příslušných konektorů:
#define PLUG1 "KLÍČE"
#define PLUG2 "P2" #define PLUG3 "P3" #define PLUG4 "P4" #define GENERIC "NA"
Uvnitř proměnných je také několik důležitých částí kódu
plovák R1 = 96700,0;
float R2 = 96300,0; plovák R3 = 96500,0; plovák R4 = 96300,0;
Toto jsou ZNAMENÉ hodnoty odporu v ohmech každého ze 4 odporů.
R1 připojeno k A0, R2 k A1, R3 k A2 a R4 k A3.
Doporučujeme změřit vaše 100k odpory pomocí multimetru a použít přesnou hodnotu odporu. Jakmile je vše připojeno, proveďte měření odporu. (Ale není zapnuto).
Při výběru odporů pro konektory jack se ujistěte, že je mezi nimi dobrá ohmová mezera, a při jejich kódování si dejte pěkný rozsah nižší a vyšší než vámi zvolený odpor. Zde je to, co jsem použil ve svém kódu:
float P1_MIN = 4000,0, P1_MAX = 7000,0; // 5,6 tis
float P2_MIN = 8000.0, P2_MAX = 12000.0; // 10K float P3_MIN = 20000,0, P3_MAX = 24000,0; // 22K float P4_MIN = 36000.0, P4_MAX = 42000.0; // 39 tis
Důvodem je vysvětlení analogových hodnot a menších kolísání napětí atd
Co se tedy stane, pokud je detekovaný odpor mezi 4 000 ohmy a 7 000 ohmy, předpokládáme, že jste použili odpor 5,6 k, a proto kód bude toto vidět jako konektor Jack 1. Pokud je naměřený odpor mezi 8 000 ohmy a 12 000 ohmů, předpoklad je, že je to 10k odpor a je to Jack Plug 2 a tak dále.
Pokud potřebujete provést nějaké ladění (Nenechávejte komentáře v 'produkci', protože sériové ladění využívá drahocenný RAM), jednoduše odkomentujte řádky, které požadujete v horní části Nastavení.h
//#definujte SERIAL_DEBUG
//#definujte WAIT_FOR_SERIAL
Chcete -li odkomentovat, jednoduše odeberte //…. Chcete-li řádek komentovat zpět, znovu přidejte // na začátek řádku.
SERIAL_DEBUG umožňuje sériové ladění a používání věcí, jako jsou (například)
Serial.println (F („ahoj svět“));
WAIT_FOR_SERIAL je další krok, to znamená, že dokud neotevřete Serial Monitor, kód nebude pokračovat. Díky tomu nezmeškáte žádné důležité sériové zprávy. - NIKDY NENECHÁVEJTE TOTO POVOLENO
Pokud necháte WAIT_FOR_SERIAL povolený, nebudete moci použít držák klíče v žádném prostředí „skutečného světa“, protože bude zaseknutý a čeká na sériový monitor Arduino IDE, než bude moci pokračovat do hlavní smyčky náčrtu. Jakmile dokončíte ladění, ujistěte se, že jste znovu odkomentovali tento řádek, a znovu nahrajte svůj náčrt k produkci/dokončení.
Při použití možnosti SERIAL_DEBUG můj kód obsahuje následující:
#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 [")); Serial.print (i); Serial.print (F ("] =")); Serial.println (SOCKET_1234_HAS_PLUGTYPE_X ); } Serial.println (); if (INSERTED [socket]) {Serial.print (F ("Plug in socket")); Serial.print (zásuvka+1); Serial.print (F ("má resitance:")); Serial.println (odpor); } #endif
Poslední řada Serial.print vám řekne, jaký je odpor posledního vloženého konektoru v ohmech. Tuto skicu tedy můžete také použít jako druh ohmmetru ke kontrole odporu konektoru konektoru.
Krok 6: Poznámky
Myslím, že jsem vše probral, ale prosím napište komentář a udělám vše, co bude v mých silách, abych si to přečetl a odpověděl:)
Omlouvám se za poněkud chudé video - nemám stativ, nastavení překódování ani takříkajíc pořádný pracovní prostor, takže toto bylo natočeno (špatně), když jsem držel telefon v jedné ruce a druhou se ho pokoušel předvést.
Děkuji za přečtení.
Doporučuje:
Domovní zvonek s rozpoznáváním tváře: 7 kroků (s obrázky)
Domovní zvonek s rozpoznáváním tváře: motivace V poslední době se v mé zemi objevila vlna loupeží, které jsou zaměřeny na starší lidi v jejich vlastních domovech. Obvykle je přístup umožněn samotnými obyvateli, protože je návštěvníci přesvědčují, že jsou pečovateli/zdravotními sestrami. To
Plovoucí chytré magické zrcadlo ze starého notebooku s rozpoznáváním hlasu Alexa: 6 kroků (s obrázky)
Plovoucí chytré magické zrcadlo ze starého notebooku s rozpoznáváním hlasu Alexa: Přihlaste se do mého kurzu „Elektronika v kostce“zde: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Podívejte se také na můj kanál youtube zde pro další projekty a výukové programy pro elektroniku: https://www.youtube.com/channel/UCelOO
Dvoukanálový generátor signálu pro kytaru: 10 kroků
Dvoukanálový generátor signálu pro kytaru: Tento projekt je snadno sestavitelný, originální design pro dvoukanálový generátor signálu pro kytaru a další použití. Pokrývá celou škálu kytarových not (pro vás kytaristy, od otevřených Low E strun - 83 Hertz, až po 24. pražce na vysokých E s
Přidání audio jacku do nástěnného CD přehrávače MUJI: 5 kroků
Přidání audio jacku do nástěnného CD přehrávače MUJI: Nástěnný CD přehrávač MUJI je pěkný kus minimalistického japonského designu (v roce 2005 byl přidán do stálé sbírky Muzea moderního umění v New Yorku). Má to však jeden problém: interní reproduktory jsou velmi špatné kvality a
Konektor jacku pro sluchátka Apple iPhone: 7 kroků
Zásuvka pro sluchátka Apple iPhone: Konektor pro sluchátka na Apple iPhone dostal hodně špatného tisku, protože nefunguje s většinou standardních sluchátek, protože je zapuštěný. Tato zjevná nepříjemnost skryla další kritickou nevýhodu v konstrukci konektoru pro sluchátka - je