Мазмұны:

Динамик бар DIY соққы сенсоры: 5 қадам (суреттермен)
Динамик бар DIY соққы сенсоры: 5 қадам (суреттермен)

Бейне: Динамик бар DIY соққы сенсоры: 5 қадам (суреттермен)

Бейне: Динамик бар DIY соққы сенсоры: 5 қадам (суреттермен)
Бейне: Титаниктің құпиясы: олар айсбергті қалай байқамады?! Ең егжей-тегжейлі оқиға! 2024, Шілде
Anonim
Динамикпен DIY соққы сенсоры
Динамикпен DIY соққы сенсоры

Динамик «тұрақты» магнитке жақын орналасқан электромагнитті қосу арқылы жұмыс істейді. Бұл діріл шығарады, нәтижесінде дыбыс шығады. Егер динамикке ток берудің орнына, динамикті өздігінен жылжыту арқылы ток шығара аламыз (егер шамалы болса). Бұл токты Arduino сияқты микроконтроллер анықтап, түсіндіре алады.

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

Динамикті табыңыз
Динамикті табыңыз
Динамикті табыңыз
Динамикті табыңыз
Динамикті табыңыз
Динамикті табыңыз
Динамикті табыңыз
Динамикті табыңыз

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

  1. Өткізгішті екіге бөліңіз
  2. Оның ұштарын алып тастаңыз
  3. Оны динамикке дәнекерлеңіз (онда сымдар болған шығар - оларды кесіп тастаңыз)

Сонымен қатар, егер сізде аллигатор қысқыштары болса, оларды қолдануға болады.

2 -қадам: Схеманы құрыңыз

Циклды құрыңыз
Циклды құрыңыз

Қажетті материалдар:

  • Arduino UNO
  • Нан тақтасы
  • Өткізгіш сымдар
  • Светодиод (кез келген түс)
  • 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 = map (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. Динамиктің ортасын тағы бір рет басыңыз

Егер бәрі дұрыс болса, онда сенсорды басқан кезде ғана жарық диодты қосу керек.

Ұсынылған: