Мазмуну:

Динамик менен DIY шок сенсору: 5 кадам (сүрөттөр менен)
Динамик менен DIY шок сенсору: 5 кадам (сүрөттөр менен)

Video: Динамик менен DIY шок сенсору: 5 кадам (сүрөттөр менен)

Video: Динамик менен DIY шок сенсору: 5 кадам (сүрөттөр менен)
Video: Почему ему так нравится этот танец? 🤔 #blondinkadrive #гордей 2024, Июль
Anonim
Динамик менен DIY шок сенсору
Динамик менен DIY шок сенсору

Динамик "кадимки" магниттин жанында турган электр магнитти иштетүү менен иштейт. Бул үндү пайда кылып, дирилдөөнү пайда кылат. Демек, эгерде спикерге ток берүүнүн ордуна, биз динамикти өзү жылдырып токту (өтө аз болсо) чыгара алабыз. Бул агымды Arduino сыяктуу микроконтроллер аныктап, чечмелей алат.

1 -кадам: Динамикти табыңыз

Спикер табуу
Спикер табуу
Спикер табуу
Спикер табуу
Спикер табуу
Спикер табуу
Спикер табуу
Спикер табуу

Сиз бул долбоор үчүн курмандыкка чалууга даяр болгон спикерди табышыңыз керек. Сиз SparkFunдан бир долларга чейин сатып алсаңыз болот, бирок сизде бир жерде бардыр. Мен эски гарнитуранын кичинекей колонкасын колдондум, бирок сиз аны каалаган жерден таба аласыз - музыкалык куттуктоо картасы же эски будильник сыяктуу. Кийинки:

  1. Өткөргүч зымды экиге бөлүңүз
  2. Анын учтарын сыйрып алыңыз
  3. Аны динамикке ээрчиңиз (балким, ал жерде кээ бир зымдар бар болчу - жөн эле үзүп коюңуз)

Же болбосо, эгер сизде аллигатор клиптерин колдонсоңуз болот.

2 -кадам: Районду куруу

Circuit куруу
Circuit куруу

Керектүү материалдар:

  • Arduino UNO
  • Breadboard
  • Өткөргүч зымдар
  • LED (каалаган түстө)
  • Эки 220 омдук резистор (кызыл-кызыл-күрөң)
  • Баяндамачы

Баарын Arduino менен туташтыруу үчүн жогорудагы схеманы аткарыңыз.

3 -кадам: Бул кодду жүктөө

Бул кодду Arduino IDEге жүктөңүз. Сиз, балким, аны калибрлешиңиз керек болот, анткени сиз мага окшош спикерди колдонбойсуз, ошондуктан мен муну кантип жасоону бир нече кадам менен түшүндүрөм.

int shockMin = 996; // буларды өзгөртүү керек болушу мүмкүн

int shockMax = 1010; // бул боштук орнотууну өзгөртүү керек болушу мүмкүн () {pinMode (11, OUTPUT); // Serial.begin (9600); // калибрлөөгө жардам берүү үчүн бул боюнча комментарий бербеңиз} void loop () {int shock = analogRead (A0); int lightval = карта (shock, shockMin, shockMax, 0, 255); if (lightval> 0) {analogWrite (11, lightval); } else {analogWrite (11, 0); } // Serial.println (шок); // калибрлөөгө жардам берүү үчүн муну комментарийге жазба}

4 -кадам: Аны кантип колдонуу керек

Манжаңыз менен спикердин ортосун басыңыз, ошондо ал жаркылдайт. Болбосо, кийинки кадамда аны калибрлешиңиз керек болот. Болбосо, сиз спикерди бир нерсеге тиркеп көрүңүз. Балким, кагаз табакка чаптап, барабан жасасаңыз болмок? - Карандаштарды барабан таякчасы катары колдонууга аракет кылыңыз.

5 -кадам: Калибрлөө

Эгерде сиздин жетекчиңиз буга чейин канааттандыраарлык ирмелсе, бул кадамды өткөрүп жибере аласыз. Болбосо, бул кадамдарды:

  1. "// калибрлөөгө жардам берүү үчүн буга комментарий бербеңиз" деген саптардагы "//" белгисин өчүрүңүз
  2. Кодду жүктөп, сериялык мониторду ачыңыз
  3. Динамиктин ортосун басыңыз жана маанилердин өзгөрүшүн байкаңыз
  4. ShockMin жана shockMax өзгөрмөлөрүн сериялык монитордогу төмөнкү жана жогорку баалуулуктарга өзгөртүңүз

int shockMin = 996;

int shockMax = 1010;

Мисалы, сериялык монитордо сенсордун түртүлбөгөн абалы катары 700 окулса (ал жөн эле отурганда), жана аны 860ка чейин көтөргөндө, shockMaxти 900дүн тегерегине (сенсордун окуусунан бир аз жогору) жана shockMinди болжол менен 680ге өзгөртүңүз. Кийинки:

  1. Сериялык мониторду жабыңыз
  2. Жаңы кодду жүктөө
  3. Динамиктин ортосун дагы бир аз басыңыз

Эгерде баары ойдогудай болсо, сенсорду басканыңызда гана LED күйгүзүлүшү керек.

Сунушталууда: