Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Garsiakalbis veikia suaktyvindamas elektromagnetą, esantį šalia „įprasto“magneto. Tai sukelia vibraciją, dėl kurios atsiranda garsas. Taigi, jei vietoj to, kad garsiakalbiui tiektų srovę, mes galime pagaminti srovę (jei labai mažai), judindami garsiakalbį. Tada šią srovę gali aptikti ir interpretuoti mikrovaldiklis, pvz., „Arduino“.
1 žingsnis: raskite garsiakalbį
Turėsite rasti pranešėją, kurį norėtumėte paaukoti šiam projektui. Galite nusipirkti „SparkFun“už mažiau nei dolerį, bet tikriausiai jau turite jį kažkur. Aš naudoju mažą garsiakalbį iš senos ausinių poros, tačiau tokį galite rasti beveik bet kur - pavyzdžiui, muzikinį sveikinimo atviruką ar seną žadintuvą. Kitas:
- Perpjaukite trumpiklį per pusę
- Nuplėškite jo galus
- Lituokite jį ant garsiakalbio (greičiausiai ten jau buvo keletas laidų - tiesiog juos nupjaukite)
Arba, jei turite, galite naudoti aligatoriaus spaustukus.
2 žingsnis: sukurkite grandinę
Reikalingos medžiagos:
- Arduino UNO
- Bandomoji Lenta
- Jumperio laidai
- LED (bet kokios spalvos)
- Du 220 omų rezistoriai (raudonai raudonai rudi)
- Kalbėtojas
Vykdykite aukščiau pateiktą schemą, kad visa tai prijungtumėte prie „Arduino“.
3 veiksmas: įkelkite šį kodą
Įkelkite šį kodą į „Arduino IDE“. Tikriausiai turėsite jį kalibruoti, nes nenaudojate to paties garsiakalbio kaip aš, todėl paaiškinsiu, kaip tai padaryti keliais žingsniais.
int shockMin = 996; // gali tekti tai pakeisti
int shockMax = 1010; // gali tekti pakeisti šiuos void setup () {pinMode (11, OUTPUT); // Serial.begin (9600); // atmeskite tai, kad padėtumėte kalibruoti} void loop () {int shock = analogRead (A0); int lightval = žemėlapis (šokas, šokasMin, šokasMax, 0, 255); if (šviesiai> 0) {analogWrite (11, šviesiai); } else {analogWrite (11, 0); } // Serial.println (šokas); // atšaukite tai, kad padėtumėte kalibruoti}
4 žingsnis: kaip juo naudotis
Pirštu paspauskite garsiakalbio centrą ir jis turėtų mirksėti. Jei ne, kitame žingsnyje turėsite jį kalibruoti. Priešingu atveju galite pabandyti prijungti garsiakalbį prie kažko. Gal galėtumėte pagaminti būgną, priklijuodami jį prie popierinės lėkštės? - Pabandykite naudoti pieštukus kaip blauzdelės.
5 žingsnis: kalibruokite
Jei jūsų lemputė jau patenkinamai mirksi, galite praleisti šį veiksmą. Priešingu atveju atlikite šiuos veiksmus:
- Ištrinkite „//“eilutėse, kuriose rašoma „// atšaukite tai, kad padėtumėte kalibruoti“
- Įkelkite kodą ir atidarykite serijinį monitorių
- Paspauskite garsiakalbio centrą ir stebėkite, kaip keičiasi vertės
- Pakeiskite „shockMin“ir „shockMax“kintamuosius į žemas ir aukštas serijinio monitoriaus reikšmes
int shockMin = 996;
int shockMax = 1010;
Pvz., Jei serijinis monitorius rodo 700 kaip nespaudžiamą jutiklio būseną (kai ji tik sėdi), ir kai paspausite, jis pakils iki 860, pakeiskite „shockMax“į kažkur maždaug 900 (tik šiek tiek virš jutiklio rodmens) ir „shockMin“iki maždaug 680. Kitas:
- Uždarykite serijinį monitorių
- Įkelkite naują kodą
- Dar paspauskite garsiakalbio centrą
Jei viskas gerai, šviesos diodas turėtų įsijungti tik paspaudus jutiklį.