Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Ovaj zvučno reaktivni broš izrađen je pomoću ekspresnog kola za igralište, jeftinih kristala kvarca u rasutom stanju, žice, kartona, pronađene plastike, sigurnosne igle, igle i konca, vrućeg ljepila, tkanine i raznih alata. Ovo je prototip ili prvi nacrt ovog dizajna.
Imati određeni nivo znanja o radu sa žicom je korisno, ali nije potrebno! Uvodno programiranje također može pomoći, ali je lako naučiti pomoću ekspresnog kola za igralište i srodnih programa. Ovaj projekt mogao bi potrajati od šačice sati do nekoliko dana, ovisno o načinu gradnje i pažnji posvećenoj detaljima.
Supplies
Igralište Circuit Express s baterijom i spojem na USB kabel
Kristali kvarca
- Žica za nakit (bilo koja boja je u redu, držite se mjerača koji vam je lako obradiv! Koristio sam mjerač 20)
Karton
- Pronađena prozirna plastika (koristio sam poklopac limenke za kavu)
Sigurnosni pin
- Tkanina (vaš izbor - koristila sam staru crnu majicu)
Pištolj za vruće ljepilo i štapići za ljepilo
Makaze
Olovka
Sharpie
kliješta s iglama i rezači žice
- Opcionalno: igla i konac
- Opciono: Dvostrana čičak traka
Korak 1: Odredite veličinu
Nacrtajte Playground Circuit Express na komadu papira ili kartona. Prekini. Sada imate predložak koji možete koristiti pri kreiranju svoje strukture. Stavite Circuit Express na sigurno mjesto!
Korak 2: Kreirajte broš
Odrežite dugačku žicu i počnite je izrađivati u obruč, koristeći papirni predložak kao vodič za veličinu. Želite da bude malo veći od predloška. Zatim počnite graditi žicu s jedne strane, u obliku kupole. Vodite računa o tome gdje će kristali stati, ali pazite da budu usmjereni samo prema gore (dopustite da prostor za ekspresno igralište i dalje stane ispod)!
Počnite postavljati svoje kristalne tačke, koristeći žicu da se omotate i povežete. Slobodno popravite neke na mjestu pomoću tačke vrućeg ljepila. Nastavite dok kvarc ne pokrije strukturu i dok ne budete zadovoljni kompozicijom.
Korak 3: Kreirajte podlogu
Koristeći pronađenu prozirnu plastiku, ocrtajte šablon pomoću oštrice. Izrežite ovo škarama i pričvrstite vrućim ljepilom na stražnju stranu broša.
Korak 4: Izgradite svoj držač kruga
Uzmite taj šablon ponovo! Nacrtajte ga na komadu kartona, ali ostavite otprilike 1/4 oko predloška sa svih strana. Izrežite ovo i ocrtajte ga još nekoliko puta na kartonu (najmanje pet).
Zalijepite tri kartonska kruga zajedno.
Uzmite dodatne krugove i prepolovite ih. Izrežite "usnu" škarama (kao što je prikazano na fotografijama) i zalijepite 2-3 njih zajedno na jednu stranu kartonske forme. Trebali biste završiti s debelim kartonskim krugom koji će učinkovito "držati" vaš krug.
Korak 5: Pričvrstite
Koristeći tkaninu po vašem izboru i metodu po vašem izboru (vruće ljepilo, igla i konac), "tapecirajte" vašu kartonsku strukturu. Svakako pritisnite tkaninu prema dolje u "usnu".
Nakon pričvršćivanja tkanine, vrućim ljepilom (i/ili ponovo iglom i koncem) pričvrstite kristalnu strukturu na podignutu usnu. Trebao bi sjediti sigurno, s još uvijek otvorenim razmakom za kasnije uklapanje kruga igrališta. Zatim zalijepite sigurnosnu iglu (ili nastavak za iglu) na stražnju stranu broša.
Korak 6: Testirajte Fit
Vaš broš bi sada trebao biti sastavljen. Isprobajte pristajanje vašeg kola za igralište u svom brošu. Trebalo bi da se čvrsto uklapa i drži. Ako se malo olabavio i pokuša iskliznuti, razmislite o postavljanju malog komada čičak trake na stražnju stranu PCE -a, a drugi dio na unutarnju stranu otvora vašeg broša.
Korak 7: Kodirajte
- Idite na:
- Instalirajte ispravnu instalaciju za vaš sistem
- Potražite i pokrenite aplikaciju "Mu"
- Uključite svoje Playground Circuit Express
Aplikacija bi trebala osjetiti vaš unos i trebala bi automatski prenijeti kôd na vaš PCE.
- Pozajmi neki kod! Kodeks koji sam posudio i malo uredio je sa Adafruit -a i MIT -a
Možete se igrati bojama itd.! ILI - napravite svoj kôd tako što ćete otići na: MakeCode
Evo koda koji sam koristio ako želite samo kopirati i zalijepiti izravno:
import arrayimport matematika uvoz audiobusio uvozna ploča uvoz neopixel # Faktor eksponencijalnog skaliranja. # Vjerovatno bi trebalo biti u rasponu -10.. 10 da bi bilo razumno. CURVE = 2 SCALE_EXPONENT = math.pow (10, CURVE * -0.1) PEAK_COLOR = (100, 0, 255) NUM_PIXELS = 10 # Broj uzoraka za čitanje odjednom. NUM_SAMPLES = 160 # Ograničite vrijednost između poda i stropa. def constrain (vrijednost, pod, strop): povrat max (pod, min (vrijednost, strop)) # Skala input_value između output_min i output_max, eksponencijalno. def log_scale (input_value, input_min, input_max, output_min, output_max): normalized_input_value = (input_value - input_min) / (input_max - input_min) return output_min + / math.pow (normalized_input_value, SCALE_EXPONENT) # - output_max pristrasnost prije izračunavanja RMS -a. def normalized_rms (vrijednosti): minbuf = int (prosjek (vrijednosti)) uzorci_sum = zbir (float (uzorak - minbuf) * (uzorak - minbuf) za uzorak u vrijednostima) return math.sqrt (uzorci_sum / len (vrijednosti)) def srednja vrijednost (vrijednosti): povratak zbroja (vrijednosti) / len (vrijednosti) def_svetova_boja (volumen): povratak 200, volumen * (255 // NUM_PIXELS), 0 # Glavni program # Postavite NeoPixele i isključite ih sve. pikseli = neopixel. NeoPixel (ploča. NEOPIXEL, NUM_PIXELS, svjetlina = 0,1, auto_write = Netačno) piksela.fill (0) piksela.show ()
"" " # Za CircuitPython 2.x: mic = audiobusio. PDMIn (board. MICROPHONE_CLOCK, board. MICROPHONE_DATA, frekvencija = 16000, bit_depth = 16) # Za Circuitpython 3.0 i novije verzije," frekvencija "se sada naziva" sample_rate ". # Komentirajte gornje redove i raskomentirajte donje redove. "" "Mic = audiobusio. PDMIn (board. MICROPHONE_CLOCK, board. MICROPHONE_DATA, sample_rate = 16000, bit_depth = 16) # Snimite početni uzorak za kalibraciju. Pretpostavimo da je tiho kad počnemo. uzorci = array.array ('H', [0] * NUM_SAMPLES) mic.record (uzorci, len (uzorci)) # Podesite najniži nivo za očekivati, plus malo. input_floor = normalized_rms (uzorci) + 10 # ILI: koristi se fiksni pod # input_floor = 50 # Možda ćete htjeti ispisati input_floor kako biste lakše prilagodili druge vrijednosti. # print (input_floor) # Odgovara osjetljivosti: niža znači da više piksela svijetli uz niži zvuk # Podesite ovo kako vam odgovara. input_ceiling = input_floor + 500 peak = 0 while True: mic.record (uzorci, len (uzorci)) magnitude = normalized_rms (uzorci) # Možda ćete htjeti odštampati ovo da vidite vrijednosti. # print (magnitude) # Izračunajte skalarno logaritamsko čitanje u rasponu 0 do NUM_PIXELS c = log_scale (ograničenje (magnitude, input_floor, input_ceiling), input_floor, input_ceiling, 0, NUM_PIXELS) # Osvijetlite piksele koji su ispod skalirane i interpolirane veličine. piksela.fill (0) za i u rasponu (NUM_PIXELS): ako je i = vrh: vrhunac = min (c, NUM_PIXELS - 1) elif vrh> 0: vrh = vrh - 1 ako je vrh> 0: pikseli [int (vrh)] = PEAK_COLOR piksela.show ()
Korak 8: Završite i nosite
Možete se samo diviti svom kristalu koji reagira na zvuk, ali preporučujem:
- Iskopčajte USB kabel s prijenosnog računara (provjerite je li kôd prenijet)- Uključite Playground Circuit Express u bateriju- Umetnite PCE u broš- Ili stavite bateriju u prednji džep na košulji (kao što sam ovdje učinio) ili pričvrstite ga na košulju - pričvrstite broš, uključite muziku (i bateriju) i uživajte!