Агуулгын хүснэгт:

Дарвуулт аялалын дуут дохио: 11 алхам
Дарвуулт аялалын дуут дохио: 11 алхам

Видео: Дарвуулт аялалын дуут дохио: 11 алхам

Видео: Дарвуулт аялалын дуут дохио: 11 алхам
Видео: 🎶 ДИМАШ "ОПЕРА 2". История выступления и анализ успеха | Dimash "Opera 2" 2024, Долдугаар сарын
Anonim
Image
Image
Telltale техник хангамж
Telltale техник хангамж

Теллтал бол дарвуулт онгоцонд турбулент эсвэл ламинар урсгал байгаа эсэхийг харуулах зорилгоор ашигладаг. Гэсэн хэдий ч дарвуулт тал бүрийн хавсаргасан өөр өөр өнгийн утаснууд нь зөвхөн харааны үзүүлэлт юм. Эдгээр дуут дохио нь Паулин зэрэг хараа муутай, харааны бэрхшээлтэй далайчдын хувьд харааны мэдээллийг сонсголын хэлбэрээр дамжуулах зорилготой туслах төхөөрөмж юм.

Төхөөрөмж нь өгөгдлийн хөдөлгөөнийг уншдаг оролтын систем, агаарын урсгалын мэдээллийг дамжуулдаг хэд хэдэн дохио өгдөг гаралтын системээс бүрдэнэ.

Энэ төхөөрөмжийг үйлдвэрлэхэд гагнуурын төхөөрөмж, 3D принтер авах шаардлагатай.

Алхам 1: Билл материал

Холбоос, үнэ бүхий Монголбанк

Анхаарна уу: танд дараах 2 багц хэрэгтэй болно.

Оролтын систем

  • Ардуино Нано
  • Adafruit perma-proto хагас хэмжээтэй талхны самбар ПХБ
  • nRF24L01 утасгүй дамжуулагч модуль
  • Фото таслагч
  • Sparkfun гэрэл зураг таслагч самбар
  • Arduino нийцтэй 9V батерейны багц
  • 9V батерей
  • 22 урттай хэд хэдэн урттай утас
  • Утас
  • Неодим соронз
  • Эпокси

Гаралтын систем

  • Ардуино Нано
  • Adafruit perma-proto хагас хэмжээтэй талхны самбар ПХБ
  • nRF24L01 утасгүй дамжуулагч модуль
  • Arduino нийцтэй 9V батерейны багц
  • 1K Ом потенциометр
  • 120 Ом эсэргүүцэл
  • 2N3904 транзистор
  • 0.1 uF конденсатор
  • Arduino нийцтэй чанга яригч

GitHub файлууд

  • Эдгээр өгөгдлийг бүтээхэд шаардлагатай бүх код болон STL файлуудыг энэ GitHub репо дээрээс олж болно.
  • Танд хоёр иж бүрдэл, чанга яригчийн орон сууц хэрэгтэй болно.

Алхам 2: Хэрэгсэл/Машин/Програм хангамжийн шаардлага

Arduino програмчлахын тулд та Arduino IDE татаж авах хэрэгтэй. Татаж авах линкийг эндээс олж болно.

NRF24L01 модулийг програмчлахын тулд та түүний номын санг Arduino IDE -ээр татаж авах хэрэгтэй болно. Хэрэгслүүд> Номын санг удирдах …> RF24 номын санг суулгах

Цахим эд ангиудыг угсрахын тулд гагнуурын үндсэн хэрэгслүүдэд хандах шаардлагатай. Цэвэрлэх насос нь бас ашигтай байж болох ч шаардлагагүй.

Тайлбарлах хүрээ, чанга яригчийн хайрцгийг бүтээхийн тулд танд 3D принтер ашиглах шаардлагатай болно.

Алхам 3: Telltale Hardware

Telltale техник хангамж
Telltale техник хангамж
Telltale техник хангамж
Telltale техник хангамж

Дээрх диаграммын дагуу хэлхээг угсарна. Arduino Nano нь протобоардны дээд хэсэгт нийцсэн байх ёстой. Энэ нь бүх цахилгаан хэрэгслийг холбосон ч гэсэн USB порт руу нэвтрэх боломжийг танд олгоно.

Электроникийг богиносгохоос зайлсхийхийн тулд дээрх зураг дээр үзүүлсэн шиг nRF24 -ийн эзлэх мөрөнд протобоардны ул мөрийг хайчилж аваарай.

Үгүй бол nRF24 -ийг протоард руу холбохын тулд танд холбогч кабель хэрэгтэй болно.

Фото таслагчийн эсэргүүцэл холболт, GND, 5V утаснуудыг дүрсэлсэнгүй. Зураг таслагчийг таслах самбар дээр заасан утсаар холбоно уу. Таслах самбарын зургийг оруулсан болно.

Баруун болон зүүн талын ярианы хэлхээ нь яг ижилхэн байна.

Алхам 4: Telltale програм хангамж

Зөв ярианы код энд байна. Right telltale -ийн наног компьютерт холбож, Arduino IDE -ийг нээж, энэ кодыг хуулж тавиад самбар дээр байршуулна уу.

/** Фотогат ашиглан үлгэрийг шалгах програм

*/ #оруулах #оруулах #оруулах #оруулах RF24 радио (9, 10); // CE, CSN const байтын хаяг [6] = "00010"; // --- програмын consts --- // time const int string_check_time = 1; const int flow_check_time = 30; const int base_delay = 5; const int flow_check_delay = 0; const int GATE_PIN = 6; const int GATE_PIN_2 = 7; const int max_when_testing = flow_check_time * 0.6; // өөрийн туршилтын туршилтууд дээр үндэслэн дээрх var -ийг тохируулна const int max_in_flow = min (max_when_testing, int (flow_check_time/string_check_time)); const int msg_max_val = 9; // const int string_thresh = 20; #define STRING_THRESH 0.2 // --- програмын програмууд --- int num_string_seen = 0; int num_loops = 0; void setup () {// while (! Цуваа); // ургамлын хувьд // саатал (500); num_string_seen = 0; num_loops = 0; pinMode (GATE_PIN, INPUT); pinMode (GATE_PIN_2, INPUT); Цуваа.begin (115200); // радио дибаг хийх зориулалттай.begin (); radio.openWritingPipe (хаяг); radio.setPALevel (RF24_PA_MIN); radio.stopListening (); } void loop () {// давтан ажиллуулахын тулд үндсэн кодоо энд оруулна уу: if (num_loops % string_check_time == 0) {// string status check_string (); } if (num_loops == flow_check_time) {// урсгалыг шалгах //Serial.println(num_string_seen); int flow_num = examine_flow (); // утга илгээх send_out (урсгал_ тоо); // анхны хувилбаруудыг дахин тохируулах num_string_seen = 0; num_loops = 0; саатал (урсгал_ шалгах_хойшлох); } num_loops ++; саатал (үндсэн_хугацаа); } / * *Мөр мөр хаалга давж байгаа эсэхийг шалгах арга * / void check_string () {int string_state = digitalRead (GATE_PIN); //Serial.println(string_state); if (string_state == 0) {num_string_seen ++; //Serial.println("Зүссэн мөр! "); }

int bot_state = digitalRead (GATE_PIN_2);

хэрэв (bot_state == 0) {num_string_seen--; //Serial.println(" доод талд мөр! "); } //Serial.print("Тоо тоолох мөр дамждаг: "); //Serial.println(num_string_seen); буцах;) Serial.print ("Хамрах хувь:"); printDouble (харсан хувь, 100); // утгыг харилцааны хуваарь болгон хуваарилах int scaled_flow = int (хувь_харагдсан * msg_max_val); if (scaled_flow> msg_max_val) {scaled_flow = msg_max_val; } if (scaled_flow = 0) frac = (val - int (val)) * нарийвчлал; else frac = (int (val)- val) * нарийвчлал; Serial.println (frac, DEC); }

Зүүн талын үлгэрийн код энд байна. Зүүн талын үлгэрийн хувьд дээр дурдсантай ижил алхмуудыг дагана уу. Таны харж байгаагаар цорын ганц ялгаа нь мэдэгдлийн үр дүнг илгээсэн хаяг юм.

/** Фотогат ашиглан үлгэрийг шалгах програм

*/ #оруулах #оруулах #оруулах #оруулах RF24 радио (9, 10); // CE, CSN const байтын хаяг [6] = "00001"; // --- програмын consts --- // time const int string_check_time = 1; const int flow_check_time = 30; const int base_delay = 5; const int flow_check_delay = 0; const int GATE_PIN = 6; const int GATE_PIN_2 = 7; const int max_when_testing = flow_check_time * 0.6; // өөрийн туршилтын туршилтуудад үндэслэн дээрх var -ийг тохируулна const int max_in_flow = min (max_when_testing, int (flow_check_time/string_check_time)); const int msg_max_val = 9; // const int string_thresh = 20; #define STRING_THRESH 0.2 // --- програмын програмууд --- int num_string_seen = 0; int num_loops = 0; void setup () {// while (! Цуваа); // ургамлын хувьд // саатал (500); num_string_seen = 0; num_loops = 0;

pinMode (GATE_PIN, INPUT);

pinMode (GATE_PIN_2, INPUT); Цуваа.begin (115200); // radio.begin () дибаг хийх зориулалттай; radio.openWritingPipe (хаяг); radio.setPALevel (RF24_PA_MIN); radio.stopListening (); } void loop () {// давтан ажиллуулахын тулд үндсэн кодоо энд оруулна уу: if (num_loops % string_check_time == 0) {// string status check_string (); } if (num_loops == flow_check_time) {// урсгалыг шалгах //Serial.println(num_string_seen); int flow_num = examine_flow (); // утга илгээх send_out (урсгал_ тоо); // анхны хувилбаруудыг дахин тохируулах num_string_seen = 0; num_loops = 0; саатал (урсгал_ шалгах_хойшлох); } num_loops ++; саатал (үндсэн_хугацаа); } / * *Мөр мөр хаалга давж байгаа эсэхийг шалгах арга * / void check_string () {int string_state = digitalRead (GATE_PIN); //Serial.println(string_state); if (string_state == 0) {num_string_seen ++; //Serial.println("Зүссэн мөр! "); }

int bot_state = digitalRead (GATE_PIN_2);

хэрэв (bot_state == 0) {num_string_seen--; //Serial.println(" доод талд мөр! "); } //Serial.print("Тоо тоолох мөр дамждаг: "); //Serial.println(num_string_seen); буцах;) Serial.print ("Хамрах хувь:"); printDouble (харсан хувь, 100); // утгыг харилцааны хуваарь болгон хуваарилах int scaled_flow = int (хувь_харагдсан * msg_max_val); if (scaled_flow> msg_max_val) {scaled_flow = msg_max_val; } if (scaled_flow = 0) frac = (val - int (val)) * нарийвчлал; else frac = (int (val)- val) * нарийвчлал; Serial.println (frac, DEC); }

Алхам 5: Хэлэлцүүлгийн чуулган

Хэлэлцүүлгийн чуулган
Хэлэлцүүлгийн чуулган

Бие даасан хэсгүүд

  • Өгүүллийн хүрээ
  • Утас
  • Баригдсан хэлхээний хэлхээ
  • Зайны багц
  • Цахилгаан соронзон хальс
  • Эпокси эсвэл цавуу

3D хэвлэх STL нь бүрэлдэхүүн хэсгүүдийг хэлж өгдөг

  • Мэдээллийн хүрээ хийх STL: зүүн, баруун
  • Электроникийн хайрцагт зориулсан STLs: дээд, доод

Угсрах заавар

  1. Баарны соронзыг 3D хэвлэсэн үлгэрийн хүрээний үүрэнд байрлуулна. Соронзнууд баруун хүрээ болон зүүн хүрээний хооронд зөв таарч байгаа эсэхийг шалгаарай, дараа нь соронзыг хүрээ рүү бэхлэхийн тулд эпокси (эсвэл цавуу) ашиглана уу. Эпокси (эсвэл цавуу) -ыг бүрэн тохируулахыг зөвшөөрнө үү.
  2. Фото зургийн таслагчийг хүрээний арын дээд ба доод үүрэнд байрлуул. Фото таслагч хавтанг хүрээ рүү болгоомжтой эпокси (эсвэл цавуугаар) наана. Эпокси (эсвэл цавуу) -ыг бүрэн тохируулахыг зөвшөөрнө үү
  3. ~ 7 ширхэг утас хайчилж ав. Утасны нэг үзүүрийг эхний босоо баарны ховил дээр уя. Цахилгаан соронзон хальсны жижиг хэсгийг хайчилж, цахилгаан таслагчийг гэрэл таслагчийн бүсэд байх утасны хэсэгт боож өгнө. Утасыг хүрээгээр дамжуулж, гэрэл таслагч хаалганы цоорхойгоор дамжина.
  4. 3D соронзон электрон хайрцагны доод хэсэгт үүрний соронзыг байрлуул. Соронзнууд баруун хайрцаг ба зүүн хайрцагны хооронд зөв таарч байгаа эсэхийг шалгаад, эпокси (эсвэл цавуу) ашиглан соронзыг хүрээ рүү бэхлээрэй. Эпокси (эсвэл цавуу) -ыг бүрэн тохируулахыг зөвшөөрнө үү.
  5. Янз бүрийн бүрэлдэхүүн хэсгүүдийг үүрэнд нь нийцүүлэн электрон хайрцагт хийсэн хэлхээний хэлхээг байрлуул. 3D хэвлэсэн электрон хайрцагны дээд талын хайрцгийг хаа. Эпокси (эсвэл цавуу) зайг хайрцагны дээд талд байрлуулна.

Алхам 6: Илтгэгчийн техник хангамж

Чанга яригчийн техник хангамж
Чанга яригчийн техник хангамж
Чанга яригчийн техник хангамж
Чанга яригчийн техник хангамж
Чанга яригчийн техник хангамж
Чанга яригчийн техник хангамж

Гаралтын систем нь хоёр чанга яригч хэлхээнээс бүрдэх бөгөөд тус бүр нь утасгүй холбоо, дууны тохируулгын товчлуураар тоноглогдсон болно. Нэгдүгээрт, самбарыг байрлуулах хоёр эгнээ тээглүүрийг тусгаарлах утаснуудыг таслах замаар хэлхээний хэлхээний хувьд nRF24L01 модулиудтай хамт ашиглахаар бэлтгэ.

Дараа нь дууссан хэлхээний зургийг үзэхдээ дээрх диаграммд үзүүлсэн шиг хэлхээг угсарна.

Удирдах зөвлөлийн хурлын заавар

Самбарыг чанга яригчийн хайрцагт овоолохын тулд үндсэн бүрэлдэхүүн хэсгүүдийг самбарын тодорхой хэсэгт байрлуулах ёстой. Дараах зааварт би Adafruit протобоард дээрх мөр, багануудыг тэмдэглэхэд ашигладаг координатын системийг дурдах болно.

  1. Arduino Nano -ийг самбарын дээд ирмэг дээр төв хэсэгт байрлуулах ёстой бөгөөд ингэснээр Vin зүү нь G16 дээр байрладаг. Энэ нь хэлхээг угсарсны дараа Arduino Nano -ийг хялбархан дахин програмчлах боломжийг олгоно.
  2. NRF24L01 самбарыг самбарын баруун доод буланд C1 -ээс D5 хүртэлх найман байрлалд байрлуулах ёстой. Энэ нь nRF24L01 -ийг protoboard дээр унтрааж орхиж, утасгүй холболтыг сайжруулах болно.
  3. Чанга яригч системд зориулсан батерейны багц нь хоёр протободыг хүчирхэгжүүлдэг тул Arduino Nano -ийн GND хоёр төмөр/зүү, Вин тээглүүрийг цахилгаан тэжээлд холбохоо мартуузай.
  4. "Доод" хэлхээний хувьд потенциометрийг хавтангийн дээд талд гадагш харуулан байрлуулах ёстой бөгөөд ингэснээр түүний тээглүүрийг J2, J4, J6 байрлалд байрлуулна.

    1. J2, дижитал зүү 3 (D3) -аас Arduino Nano гаралт
    2. 2N3904 транзисторын J4 pin үндсэн зүү
    3. J6, холбогдоогүй байна
  5. "Дээд" хэлхээний хувьд потенциометрийг самбарын ёроолд гадагш харуулан байрлуулах ёстой бөгөөд ингэснээр түүний тээглүүрийг J9, J11, J13 байрлалд байрлуулна.

    1. J13, дижитал зүү 3 (D3) -аас Arduino Nano гаралт
    2. J11 ↔ 2N3904 транзисторын үндсэн зүү
    3. J9 холбогдоогүй байна

Алхам 7: Чанга яригчийн програм хангамж

Зүүн яриатай ярьж буй илтгэгчийн код энд байна. Доод талын чанга яригч самбар дээрх Arduino Nano -г компьютерт холбож, Arduino IDE -ийг нээж, энэ кодыг хуулж тавиад самбар дээр байршуулна уу.

#оруулах

#оруулах #RF24 радиог оруулах (7, 8); // CE, CSN // left telltale, top speaker board const байтын хаяг [6] = "00001"; const int pitch = 2000; const int pitch_duration = 200; const int чанга яригч = 3; const int delay_gain = 100; int төлөв = 0; int cur_delay = 0; char унших [2]; void setup () {pinMode (чанга яригч, OUTPUT); Цуваа.begin (115200); Serial.println ("Утасгүй холболтыг эхлүүлж байна …"); radio.begin (); radio.openReadingPipe (0, хаяг); radio.setPALevel (RF24_PA_MIN); radio.startListening (); } void loop () {if (radio.available ()) {radio.read (& read, sizeof (read)); байдал = (int) ([0]-'0' -ийг уншина уу); Serial.print ("Хүлээн авсан:"); Serial.println (статус); cur_delay = delay_gain*төлөв; } if (cur_delay) {аялгуу (чанга яригч, давирхай, давирхай_хугацаа); саатал (cur_delay + pitch_duration); Serial.println ("Дуу чимээ!"); }}

Зөв яриатай ярьж буй илтгэгчийн код энд байна. Дээд талын чанга яригч самбар дээрх Arduino Nano -г компьютер дээрээ холбож, Arduino IDE -ийг нээгээд энэ кодыг хуулж аваад самбар дээр байршуулна уу.

#оруулах

#оруулах #оруулах RF24 радио (7, 8); // CE, CSN // баруун хэллэг, доод чанга яригчийн самбар const байтын хаяг [6] = "00010"; const int pitch = 1500; const int pitch_duration = 200; const int чанга яригч = 3; const int delay_gain = 100; int төлөв = 0; int cur_delay = 0; char унших [2]; void setup () {pinMode (чанга яригч, OUTPUT); Цуваа.begin (115200); Serial.println ("Утасгүй холболтыг эхлүүлж байна …"); radio.begin (); radio.openReadingPipe (0, хаяг); radio.setPALevel (RF24_PA_MIN); radio.startListening (); } void loop () {if (radio.available ()) {radio.read (& read, sizeof (read)); байдал = (int) ([0]-'0' -ийг уншина уу); Serial.print ("Хүлээн авсан:"); Serial.println (статус); cur_delay = delay_gain*төлөв; } if (cur_delay) {аялгуу (чанга яригч, давирхай, давирхай_хугацаа); саатал (cur_delay+pitch_duration); Serial.println ("Дуу чимээ!"); }}

Алхам 8: Илтгэгчийн чуулган

Бие даасан хэсгүүд

  • 2 чанга яригч хэлхээ
  • 2 чанга яригч
  • 1 батерейны багц

3D хэвлэх STL

  • Хайрцагны дээд хэсэг
  • Доод хайрцаг

Физик угсрах заавар

  1. Чанга яригчийн хэлхээг хайрцгийн ёроолд болгоомжтой байрлуул, нэг самбарыг нөгөө талд нь байрлуул. Харилцааны чипийг хайрцгийн ард байрлуулах ёстой.
  2. Чанга яригчийг хэлхээний самбарын зүүн ба баруун талд байрлуулж, чанга яригч нь зөв хэлэх талуудтай тохирч байгаа эсэхийг шалгаарай. Чанга яригчийг хайрцагны хажуу талын үүрэнд тэгшлээрэй.
  3. Батерейны утсыг хайрцгийн ар талд байрлах жижиг нүхээр дамжуулна. Эпокси (эсвэл цавуу) зайны хайрцгийн ар талд байгаа тул унтраалга ил гарсан байна.
  4. Бүх зүйлийг агуулсан байхын тулд 3D хэвлэсэн хайрцгийг хайрцгийн доод талд байрлуулна уу.

Алхам 9: Тохируулах/холбох

Тохиргоо/холбох
Тохиргоо/холбох
  1. Зайны багц дээрх унтраалгыг "ON" байрлал руу эргүүлээд телталтыг асаана уу. Гаралтын системийг асаахын тулд чанга яригчтай ижил зүйлийг хий.
  2. Дуут дохиолол угсрах ажлыг хоёр хүн хийхэд хялбар байдаг, гэхдээ нэг хүний тусламжтайгаар хийх боломжтой. Хөндлөн гулдмай дээр бэхлэхийн тулд далбааг өргөхөөс өмнө телтеллийг хялбархан өмсдөг.
  3. Үлгэрийн хүрээ зөв чиглэсэн эсэхийг шалгахын тулд босоо баарны аль нэгний ховилыг харна уу. Хүрээг босоо барих үед ховил нь дээд тал руу чиглэсэн байх ёстой. Тэр баар бүхий хүрээний тал нь мөн завины урд зүг рүү харсан байх ёстой.
  4. Үлгэрийн аль нэгийг хүссэн өндөр, дарвуулт байрлалд байрлуул. Утсыг уламжлалт үлгэрийн нэг хэсэг байсан бол яг тэр байрандаа байхаар байрлуулах ёстой.
  5. Та хүссэн байрлалдаа нэг үлгэр ярьж өгсний дараа. Нөгөө үлгэрийг дарвуулт онгоцны нөгөө талд байрлуулж, соронзууд эгнээнд байрлуулна. Дарвуулт онгоцны хоёр талд байгаа үлгэр бүрийн хувьд электрон хайрцгийн соронзыг жагсааж, хооронд нь холбоно.
  6. Хэрэв та мөр шууд буцаж урсах үед дээд хаалганы урдуур огтлолцдоггүйг анзаарсан бол үлгэрийн хүрээг эргүүлээрэй, ингэснээр хүрээний арын хагас доошоо чиглэнэ. Утас шууд буцаж урсах үед утас нь дээд гэрэл таслагчаар дамжих хүртэл хүрээг эргүүлнэ.

Алхам 10: Алдааг олж засварлах

Бүх код нь өгөгдлийг илгээж, хүлээн авч, боловсруулж байгааг харуулахын тулд дибаг хийх хэвлэлийн мэдэгдэлтэй байдаг. COM портыг Arduino IDE ашиглан компьютерт залгасан Arduino Nano дэд системүүдийн аль нэгээр нээх нь эдгээр статусын мессежийг үзэх боломжийг танд олгоно.

Хэрэв систем зөв ажиллахгүй байгаа бол бүх бүрэлдэхүүн хэсгүүдийн унтраалгыг асаах хэрэгтэй.

Алхам 11: Дараагийн боломжит алхамууд

  • Ус үл нэвтрэх
  • Илүү урт хугацааны харилцаа холбоо. WiFi бол ирээдүйтэй сонголт байх болно.
  • Манай одоогийн тохиргоонд одоогоор нэг зурагт 2 зураг таслагч ашигладаг. Илүү олон гэрэл таслагчийг системд нэмж оруулах нь сонирхолтой байх болно.

Зөвлөмж болгож буй: