Բովանդակություն:

Նավարկության համար լսելի պատմվածքներ. 11 քայլ
Նավարկության համար լսելի պատմվածքներ. 11 քայլ

Video: Նավարկության համար լսելի պատմվածքներ. 11 քայլ

Video: Նավարկության համար լսելի պատմվածքներ. 11 քայլ
Video: Building Bridges Friendship and Social Skills for Kids 2024, Հուլիսի
Anonim
Image
Image
Telltale ապարատային սարք
Telltale ապարատային սարք

Telltales- ը լարի կտորներ են, որոնք օգտագործվում են ծովագնացության մեջ `նշելու, թե արդյոք առագաստի վրայով կա՞ տուրբուլենտ կամ շերտային հոսք: Այնուամենայնիվ, առագաստի յուրաքանչյուր կողմին ամրացված տարբեր գույնի մանվածքների կտորները զուտ տեսողական ցուցանիշներ են: Այս լսելի ազդանշանները օժանդակ սարք են, որի նպատակն է տեսողական տեղեկատվությունը լսողական տեսքով փոխանցել ինչպես տեսողություն ունեցող, այնպես էլ թույլ տեսողություն ունեցող նավաստիներին, ինչպիսին է Պաուլինը:

Սարքը բաղկացած է մուտքային համակարգից, որն ընթերցում է ազդանշանի շարժումը և ելքային համակարգից, որը թողարկում է մի շարք ազդանշաններ, որոնք փոխանցում են օդի հոսքի մասին տեղեկատվությունը:

Այս սարքի արտադրության մեջ պահանջվում է զոդման սարքավորումների և 3D տպիչի հասանելիություն:

Քայլ 1: Նյութերի հաշիվ

BOM հղումներով և գներով

Նշում. Ձեզ հարկավոր է ստորև նշվածներից 2 հավաքածու:

Մուտքային համակարգ

  • Արդուինո Նանո
  • Adafruit perma-proto կես չափի տախտակ PCB
  • nRF24L01 անլար հաղորդիչ մոդուլ
  • Լուսանկարը հատող
  • Sparkfun Photo Interrupter Breakout Board- ը
  • Arduino- ի հետ համատեղելի 9 Վ մարտկոցի փաթեթ
  • 9 Վ մարտկոց
  • 22 չափիչ մետաղալարերի մի քանի երկարություններ
  • Մանվածք
  • Նեոդիմի մագնիսներ
  • Էպոքսիդ

Ելքային համակարգ

  • Արդուինո Նանո
  • Adafruit perma-proto կես չափի տախտակ PCB
  • nRF24L01 անլար հաղորդիչ մոդուլ
  • Arduino- ի հետ համատեղելի 9 Վ մարտկոցի փաթեթ
  • 1K Օմ պոտենցիոմետր
  • 120 Օմ դիմադրություն
  • 2N3904 տրանզիստոր
  • 0.1 uF կոնդենսատոր
  • Arduino- ի հետ համատեղելի բարձրախոս

GitHub ֆայլեր

  • Բոլոր կոդերը և STL ֆայլերը, որոնք անհրաժեշտ են այս պատմվածքները կառուցելու համար, կարելի է գտնել այս GitHub ռեպոյում:
  • Ձեզ հարկավոր է պարիսպի երկու հավաքածու և բարձրախոսի պատյաններից մեկը:

Քայլ 2: Գործիքներ/մեքենաներ/ծրագրային ապահովման պահանջներ

Arduino- ն ծրագրավորելու համար անհրաժեշտ է ներբեռնել Arduino IDE- ն: Ներբեռնման հղումը կարող եք գտնել այստեղ:

NRF24L01 մոդուլը ծրագրավորելու համար ձեզ հարկավոր է ներբեռնել դրա գրադարանը Arduino IDE- ի միջոցով: Գործիքներ> Գրադարանների կառավարում …> տեղադրել գրադարան RF24

Էլեկտրոնային բաղադրիչների հավաքման համար անհրաժեշտ է մուտք գործել հիմնական զոդման գործիքներին: Desոդման պոմպը նույնպես կարող է օգտակար լինել, բայց անհրաժեշտ չէ:

Պատմվածքի շրջանակը և բարձրախոսների պատյանը կառուցելու համար ձեզ հարկավոր կլինի մուտք դեպի 3D տպիչ:

Քայլ 3: Telltale ապարատային սարք

Telltale ապարատային սարք
Telltale ապարատային սարք
Telltale ապարատային սարք
Telltale ապարատային սարք

Հավաքեք սխեման ըստ վերևի գծապատկերների: Arduino Nano- ն պետք է հավասարեցվի նախատախտակի վերևին: Սա թույլ է տալիս Ձեզ մուտք ունենալ USB պորտ, նույնիսկ այն բանից հետո, երբ ամբողջ էլեկտրոնիկան կցված է:

Էլեկտրոնիկայի կարճացումից խուսափելու համար համոզվեք, որ կտրեք նախատախտակի հետքերը այն տողերի վրա, որոնք nRF24- ը կզբաղեցնի, ինչպես ցույց է տրված վերևում նկարում:

Հակառակ դեպքում ձեզ անհրաժեշտ են jumper մալուխներ ՝ nRF24- ը նախատախտակին միացնելու համար:

Ռեզիստորի միացումը, GND- ը և 5V լարերը լուսանկարի միջանցքին չեն պատկերված: Լարացրեք լուսանկարը, ինչպես նշված է դրա բեկման տախտակին: Ներառված է ջարդման տախտակի պատկերը:

Աջ և ձախ ազդանշանների սխեմաները ճիշտ նույնն են:

Քայլ 4: Telltale Software

Ահա tellիշտ ասելիքի ծածկագիրը: Միացրեք Right telltale- ի նանոն ձեր համակարգչին, բացեք Arduino IDE- ն, պատճենեք և տեղադրեք այս կոդը դրա մեջ և տեղադրեք այն տախտակին:

/** Programրագիր, որն օգտագործում է ֆոտոգատը ՝ պատմվածքը ուսումնասիրելու համար

*/ #ներառել #ներառել #ներառել #ներառել 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; // սահմանեք վերը նշված տարբերակը ՝ հիմնվելով ձեր սեփական փորձարարական փորձերի վրա 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; #սահմանել STRING_THRESH 0.2 // --- ծրագրի վարսեր --- int num_string_seen = 0; int num_loops = 0; void setup () {// while (! Serial); // բուսական աշխարհի համար // ուշացում (500); num_string_seen = 0; num_loops = 0; pinMode (GATE_PIN, INPUT); pinMode (GATE_PIN_2, Մուտք); Serial.begin (115200); // radio.begin () վրիպազերծման համար; radio.openWritingPipe (հասցե); radio.setPALevel (RF24_PA_MIN); radio.stopListening (); } void loop () {// տեղադրեք ձեր հիմնական կոդը այստեղ ՝ բազմիցս գործարկելու համար. if (num_loops % string_check_time == 0) {// ստուգեք տողի վիճակը check_string (); } if (num_loops == flow_check_time) {// ուսումնասիրել հոսքը //Serial.println(num_string_seen); int flow_num = ուսումնասիրել_հոսքը (); // ուղարկել արժեքներ send_out (flow_num); // վերականգնել vars num_string_seen = 0; num_loops = 0; հետաձգում (հոսքի_ճշտում -հետաձգում); } num_loops ++; հետաձգում (բազային_ հետաձգում); } / * *Մեթոդ ՝ ստուգելու, արդյոք տողը հատում է դարպասը * / void check_string () {int string_state = digitalRead (GATE_PIN); //Serial.println(string_state); եթե (string_state == 0) {num_string_seen ++; //Serial.println("Saw string! "); }

int bot_state = digitalRead (GATE_PIN_2);

եթե (bot_state == 0) {num_string_seen--; //Serial.println("string on bottom! "); } //Serial.print(" Հաշվող տողի փոխանցումներ. "); //Serial.println(num_string_seen); վերադարձ; }/ * * Մեթոդ ՝ վերլուծելու, թե ժամանակի ո՞ր մասն է ծածկել դարպասը */int exam_flow () {double percent_seen = double (num_string_seen)/max_in_flow; Serial.print («coveredածկված տոկոսը»); 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); }

Ահա Ձախ պատումի հեքիաթը: Հետևեք նույն քայլերին, ինչպես վերևում ՝ Ձախ պատմվածքի համար: Ինչպես տեսնում եք, միակ տարբերությունն այն հասցեն է, որին պատասխանը ուղարկում է իր արդյունքները:

/** Programրագիր, որն օգտագործում է ֆոտոգատը ՝ պատմվածքը ուսումնասիրելու համար

*/ #ներառել #ներառել #ներառել #ներառել 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; // սահմանեք վերը նշված տարբերակը ՝ հիմնվելով ձեր սեփական փորձարարական փորձերի վրա 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; #սահմանել STRING_THRESH 0.2 // --- ծրագրի վարսեր --- int num_string_seen = 0; int num_loops = 0; void setup () {// while (! Serial); // բուսական աշխարհի համար // ուշացում (500); num_string_seen = 0; num_loops = 0;

pinMode (GATE_PIN, INPUT);

pinMode (GATE_PIN_2, Մուտք); Serial.begin (115200); // radio.begin () վրիպազերծման համար; radio.openWritingPipe (հասցե); radio.setPALevel (RF24_PA_MIN); radio.stopListening (); } void loop () {// տեղադրեք ձեր հիմնական կոդը այստեղ ՝ բազմիցս գործարկելու համար. if (num_loops % string_check_time == 0) {// ստուգեք տողի վիճակը check_string (); } if (num_loops == flow_check_time) {// ուսումնասիրել հոսքը //Serial.println(num_string_seen); int flow_num = ուսումնասիրել_հոսքը (); // ուղարկել արժեքներ send_out (flow_num); // վերականգնել vars num_string_seen = 0; num_loops = 0; հետաձգում (հոսքի_ճշտում -հետաձգում); } num_loops ++; հետաձգում (բազային_ հետաձգում); } / * *Մեթոդ ՝ ստուգելու, արդյոք տողը հատում է դարպասը * / void check_string () {int string_state = digitalRead (GATE_PIN); //Serial.println(string_state); եթե (string_state == 0) {num_string_seen ++; //Serial.println("Saw string! "); }

int bot_state = digitalRead (GATE_PIN_2);

եթե (bot_state == 0) {num_string_seen--; //Serial.println("string on bottom! "); } //Serial.print(" Հաշվող տողի փոխանցումներ. "); //Serial.println(num_string_seen); վերադարձ; }/ * * Մեթոդ ՝ վերլուծելու, թե ժամանակի ո՞ր մասն է ծածկել դարպասը */int exam_flow () {double percent_seen = double (num_string_seen)/max_in_flow; Serial.print («coveredածկված տոկոսը»); 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. Պատմության հավաք

Telltale ժողովը
Telltale ժողովը

Անհատական մասեր

  • Հեքիաթային շրջանակ
  • Մանվածք
  • Կառուցված ազդանշանային միացում
  • Մարտկոցի փաթեթ
  • Էլեկտրական ժապավեն
  • Էպոքսիդ կամ սոսինձ

STL- ներ ՝ 3D տպագրության համար պատմող բաղադրիչների համար

  • STL նշանավոր շրջանակի համար ՝ ձախ, աջ
  • STL- ներ էլեկտրոնիկայի տուփի համար `վերև, ներքև

Հավաքման ցուցումներ

  1. Տեղադրեք գրաֆիկական մագնիսներ 3D տպված լուսանկարի շրջանակի անցքերում: Համոզվեք, որ մագնիսները ճիշտ գծվում են աջ և ձախ շրջանակների միջև, այնուհետև օգտագործեք էպոքսիդ (կամ սոսինձ) `մագնիսները շրջանակին ամրացնելու համար: Թույլ տվեք էպոքսիդին (կամ սոսինձին) ամբողջությամբ ամրացնել:
  2. Տեղադրեք լուսանկարների ընդհատիչները շրջանակի հետևի վերևի և ներքևի անցքերում: Fullyգուշորեն էպոքսիդացրեք (կամ սոսնձեք) լուսանկարի տախտակները շրջանակին: Թույլ տվեք էպոքսիդին (կամ սոսինձին) ամբողջությամբ ամրացնել
  3. Կտրեք 7 ֆունտ ստեռլինգ մանվածքի կտորով: Մանվածքի մի ծայրը կապեք առաջին ուղղահայաց ձողի խազին: Կտրեք մի փոքր կտոր էլեկտրական ժապավեն և փաթեթավորեք էլեկտրական ժապավենը մանվածքի այն հատվածի վրա, որը կլինի լուսանկարների ընդհատիչների շրջանում: Կցեք մանվածքը շրջանակի միջով, որպեսզի այն անցնի լուսանկարի միջանցքի դարպասի բացից:
  4. Տեղադրեք ձողի մագնիսներ եռաչափ տպված էլեկտրոնիկայի տուփի ներքևի հատվածներում: Համոզվեք, որ մագնիսները ճիշտ գծված են աջ և ձախ տուփի միջև, այնուհետև օգտագործեք էպոքսիդ (կամ սոսինձ) `մագնիսները շրջանակին ամրացնելու համար: Թույլ տվեք էպոքսիդին (կամ սոսինձին) ամբողջությամբ ամրացնել:
  5. Տեղադրված ազդանշանային սխեման տեղադրեք էլեկտրոնիկայի տուփի մեջ ՝ տարբեր բաղադրիչները հավասարեցնելով դրանց անցքերին: Փակեք տուփը եռաչափ տպված էլեկտրոնիկայի տուփի վերևով: Էպոքսիդ (կամ սոսինձ) մարտկոցի տուփը տուփի վերևում, որպեսզի անջատիչը բաց լինի:

Քայլ 6: Խոսափողի սարքավորում

Խոսափողի սարքավորում
Խոսափողի սարքավորում
Խոսափողի սարքավորում
Խոսափողի սարքավորում
Խոսափողի սարքավորում
Խոսափողի սարքավորում

Ելքային համակարգը բաղկացած է երկու բարձրախոսային սխեմաներից, մեկը `յուրաքանչյուր ազդանշանի համար, հագեցած անլար կապով և ձայնի ճշգրտման կոճակով: Նախ, նախատախտակները պատրաստեք օգտագործման համար nRF24L01 մոդուլներով, ինչպես դա արեցինք ազդանշանային սխեմաների համար `կտրելով կապանքները, որոնք բաժանում են երկու տող կապում, որտեղ տեղադրվելու է տախտակը:

Այնուհետև հավաքեք միացումը, ինչպես ցույց է տրված վերևի դիագրամում ՝ անդրադառնալով ավարտված սխեմաների լուսանկարներին:

Խորհրդի ժողովի ցուցումներ

Բարձրախոսների պարիսպում տախտակները դնելու համար հիմնական բաղադրիչները պետք է տեղադրվեն տախտակի որոշակի հատվածներում: Հետևյալ հրահանգներում ես կանդրադառնամ Adafruit նախատախտակի տողերն ու սյուները նշելու համար օգտագործվող կոորդինատային համակարգին.

  1. Arduino Nano- ն պետք է տեղադրվի կենտրոնում գտնվող տախտակի վերին եզրին այնպես, որ Vin քորոցը տեղադրվի G16- ում: Սա թույլ կտա հեշտ վերադասավորել Arduino Nano- ն `միացումը հավաքելուց հետո:
  2. NRF24L01 տախտակը պետք է տեղադրվի տախտակի ներքևի աջ անկյունում `ընդգրկելով ութ դիրք C1- ից D5: Սա թույլ կտա nRF24L01- ը կախել նախատախտակից `ավելի լավ անլար հաղորդակցություն ապահովելու համար:
  3. Բարձրախոս համակարգի մարտկոցը սնուցում է երկու նախատախտակները, այնպես որ անպայման միացրեք երկու Arduino Nano- ի GND ռելսերը/կապումներն ու Vin կապերը սնուցման աղբյուրին:
  4. «Ներքևի» սխեմայի համար պոտենցիոմետրը պետք է տեղադրվի տախտակի վերևում ՝ դեպի դուրս, որպեսզի նրա կապումներն տեղադրվեն J2, J4 և J6 դիրքերում:

    1. J2 ↔ Arduino Nano ելք թվային փին 3 -ից (D3)
    2. 2N3904 տրանզիստորի J4 ↔ բազային քորոց
    3. J6 ↔ անկապ
  5. «Վերին» սխեմայի համար պոտենցիոմետրը պետք է տեղադրվի տախտակի ներքևի մասում ՝ դեպի դուրս, որպեսզի նրա կապումներն տեղադրվեն J9, J11 և J13 դիրքերում:

    1. J13 ↔ Arduino Nano ելք թվային փին 3 -ից (D3)
    2. 2N3904 տրանզիստորի J11 ↔ բազային քորոց
    3. J9 ↔ անկապ

Քայլ 7: Բարձրախոսների ծրագրակազմ

Ահա խոսնակի խոսնակը, որը շփվում է Ձախ պատմվածքի հետ: Միացրեք Arduino Nano- ի ներքևի բարձրախոսների տախտակին ձեր համակարգչին, բացեք Arduino IDE- ն, պատճենեք և տեղադրեք այս կոդը դրա մեջ և տեղադրեք այն տախտակին:

#ներառում

#ներառել #ներառել RF24 ռադիո (7, 8); // CE, CSN // ձախ ազդանշան, բարձրախոսների տախտակի const բայթ հասցե [6] = "00001"; const int սկիպիդար = 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); Serial.begin (115200); Serial.println («Անլար կապի գործարկում …»); radio.begin (); radio.openReadingPipe (0, հասցե); radio.setPALevel (RF24_PA_MIN); radio.startListening (); } void loop () {if (radio.available ()) {radio.read (& կարդալ, sizeof (կարդալ)); կարգավիճակ = (int) (կարդալ [0]-'0'); Serial.print («Ստացվել է»); Serial.println (կարգավիճակ); cur_delay = delay_gain*կարգավիճակը; } if (cur_delay) {tone (բարձրախոս, սկիպիդար, սկիպիդարային տևողություն); ուշացում (cur_delay + pitch_duration); Serial.println («Beep!»); }}

Ահա խոսնակի համար, որը հաղորդակցվում է ճիշտ ազդանշանի հետ: Միացրեք Arduino Nano- ի բարձրախոսների տախտակին ձեր համակարգչին, բացեք Arduino IDE- ն, պատճենեք և տեղադրեք այս կոդը դրա մեջ և տեղադրեք այն տախտակին:

#ներառում

#ներառել #ներառել RF24 ռադիո (7, 8); // CE, CSN // right telltale, bottom speaker board const byte address [6] = "00010"; const int սկիպիդար = 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); Serial.begin (115200); Serial.println («Անլար կապի գործարկում …»); radio.begin (); radio.openReadingPipe (0, հասցե); radio.setPALevel (RF24_PA_MIN); radio.startListening (); } void loop () {if (radio.available ()) {radio.read (& կարդալ, sizeof (կարդալ)); կարգավիճակ = (int) (կարդալ [0]-'0'); Serial.print («Ստացվել է»); Serial.println (կարգավիճակ); cur_delay = delay_gain*կարգավիճակը; } if (cur_delay) {tone (բարձրախոս, սկիպիդար, սկիպիդարային տևողություն); ուշացում (cur_delay+pitch_duration); Serial.println («Beep!»); }}

Քայլ 8. Խոսնակների ժողով

Անհատական մասեր

  • 2 կառուցված բարձրախոս սխեմաներ
  • 2 բարձրախոս
  • 1 մարտկոցի փաթեթ

STL- ներ 3D տպագրության համար

  • Տուփի վերև
  • Տուփի հատակ

Ֆիզիկական հավաքման ցուցումներ

  1. Speakerգուշորեն տեղադրեք բարձրախոսի սխեմաները տուփի ներքևի մասում, մեկ տախտակը մյուսի վրա այնպես, որ ձայնի կոճակները միմյանց կողքին լինեն և սայթաքեն անցքերի մեջ: Հաղորդակցության չիպերը պետք է ցուցադրվեն տուփի հետևի մասում:
  2. Տեղադրեք բարձրախոսները տպատախտակի ձախ և աջ կողմերում ՝ համոզվելով, որ բարձրախոսները համապատասխանում են ազդանշանի ճիշտ կողմերին: Բարձրախոսները հավասարեցրեք տուփի կողմերում գտնվող անցքերին:
  3. Կերակրեք մարտկոցի տուփի լարերը տուփի հետևի հետևի փոքր անցքից: Էպոքսիդ (կամ սոսինձ) մարտկոցի տուփը տուփի հետևի մասում այնպես, որ անջատիչը բաց լինի:
  4. Տեղադրեք 3D տպված տուփի վերևը տուփի ներքևի մասում ՝ ամեն ինչ պարունակելու համար:

Քայլ 9: Կարգավորում/տեղադրում

Կարգավորում/տեղադրում
Կարգավորում/տեղադրում
  1. Միացրեք ազդանշանները ՝ մարտկոցի տուփերի անջատիչները շրջելով դեպի «ON» դիրքը: Նույնը արեք բարձրախոսների հավաքածուի դեպքում, որպեսզի միացնեք ելքային համակարգը:
  2. Լսելի սարքեր տեղադրելը ամենահեշտությամբ կատարվում է երկու հոգու հետ, բայց կարելի է անել մեկի հետ: Առանց պտտվող թևի վրա ամրացնելու համար ասեղնագործները ամենահեշտությամբ կդրվեին առագաստը բարձրացնելուց առաջ:
  3. Համոզվելու համար, որ պատմվածքի շրջանակը ճիշտ կողմնորոշված է, նայեք ուղղահայաց ձողերից մեկի խազին: Շրջանակն ուղղահայաց պահելիս խազը պետք է ուղղված լինի դեպի վերև: Այդ բարով շրջանակի կողմը նույնպես պետք է ուղղված լինի դեպի նավակի առջևը:
  4. Տեղադրեք պատմվածքներից մեկը ցանկալի բարձրության և դիրքի առագաստի վրա: Այն պետք է տեղադրվի այնպես, որ մանվածքը նույն տեղում լինի, ինչ կլիներ, եթե այն ավանդական պատմվածքի մաս լիներ:
  5. Onceանկալի դիրքում մեկ պատմվածք ունենալուց հետո: Տեղադրեք մյուս հեքիաթը առագաստի մյուս կողմում, հենց ձեր տեղադրած առաջինի դիմաց, այնպես, որ մագնիսները շարվեն: Մագնիսների միացումից հետո նրանք պետք է շրջանակն ապահով պահեն առագաստին: Էլեկտրոնիկայի պատյանների մագնիսները շարեք առագաստի երկու կողմերի յուրաքանչյուր պատմվածքի համար, այնպես, որ դրանք նույնպես միանան:
  6. Եթե նկատում եք, որ երբ լարն ուղիղ հետ է հոսում, այն չի հատվում վերին դարպասի դիմացով, պտտեք պատմվածքի շրջանակն այնպես, որ շրջանակի հետևի կեսը ներքև շարժվի: Պտտեք շրջանակը մինչև լարն անցնի վերևի լուսանկարի միջով, երբ մանվածքը հոսում է ուղիղ հետ:

Քայլ 10: Խնդիրների վերացում

Կոդի բոլոր կտորներն ունեն վրիպազերծման տպագիր հայտարարություններ ՝ նշելու համար, որ դրանք ուղարկում, ստանում և մշակում են տվյալները: Համակարգչին միացված Arduino Nano ենթահամակարգերից մեկի միջոցով Arduino IDE- ի միջոցով COM պորտի բացումը թույլ կտա դիտել այս կարգավիճակի հաղորդագրությունները:

Եթե համակարգը ճիշտ չի աշխատում, միացրեք բոլոր բաղադրիչների անջատիչները:

Քայլ 11: Հնարավոր հաջորդ քայլերը

  • Waterրամեկուսացում
  • Ավելի հեռահար հաղորդակցություն: WiFi- ն խոստումնալից տարբերակ է:
  • Մեր ներկայիս կարգավորումը ներկայումս օգտագործում է 2 լուսանկարի մեկ ընդմիջում: Համակարգին ավելի շատ լուսանկարների ընդհատիչներ ավելացնելը կարող է հետաքրքիր լինել:

Խորհուրդ ենք տալիս: