Բովանդակություն:
- Քայլ 1: Նյութերի հաշիվ
- Քայլ 2: Գործիքներ/մեքենաներ/ծրագրային ապահովման պահանջներ
- Քայլ 3: Telltale ապարատային սարք
- Քայլ 4: Telltale Software
- Քայլ 5. Պատմության հավաք
- Քայլ 6: Խոսափողի սարքավորում
- Քայլ 7: Բարձրախոսների ծրագրակազմ
- Քայլ 8. Խոսնակների ժողով
- Քայլ 9: Կարգավորում/տեղադրում
- Քայլ 10: Խնդիրների վերացում
- Քայլ 11: Հնարավոր հաջորդ քայլերը
Video: Նավարկության համար լսելի պատմվածքներ. 11 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
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 ապարատային սարք
Հավաքեք սխեման ըստ վերևի գծապատկերների: 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. Պատմության հավաք
Անհատական մասեր
- Հեքիաթային շրջանակ
- Մանվածք
- Կառուցված ազդանշանային միացում
- Մարտկոցի փաթեթ
- Էլեկտրական ժապավեն
- Էպոքսիդ կամ սոսինձ
STL- ներ ՝ 3D տպագրության համար պատմող բաղադրիչների համար
- STL նշանավոր շրջանակի համար ՝ ձախ, աջ
- STL- ներ էլեկտրոնիկայի տուփի համար `վերև, ներքև
Հավաքման ցուցումներ
- Տեղադրեք գրաֆիկական մագնիսներ 3D տպված լուսանկարի շրջանակի անցքերում: Համոզվեք, որ մագնիսները ճիշտ գծվում են աջ և ձախ շրջանակների միջև, այնուհետև օգտագործեք էպոքսիդ (կամ սոսինձ) `մագնիսները շրջանակին ամրացնելու համար: Թույլ տվեք էպոքսիդին (կամ սոսինձին) ամբողջությամբ ամրացնել:
- Տեղադրեք լուսանկարների ընդհատիչները շրջանակի հետևի վերևի և ներքևի անցքերում: Fullyգուշորեն էպոքսիդացրեք (կամ սոսնձեք) լուսանկարի տախտակները շրջանակին: Թույլ տվեք էպոքսիդին (կամ սոսինձին) ամբողջությամբ ամրացնել
- Կտրեք 7 ֆունտ ստեռլինգ մանվածքի կտորով: Մանվածքի մի ծայրը կապեք առաջին ուղղահայաց ձողի խազին: Կտրեք մի փոքր կտոր էլեկտրական ժապավեն և փաթեթավորեք էլեկտրական ժապավենը մանվածքի այն հատվածի վրա, որը կլինի լուսանկարների ընդհատիչների շրջանում: Կցեք մանվածքը շրջանակի միջով, որպեսզի այն անցնի լուսանկարի միջանցքի դարպասի բացից:
- Տեղադրեք ձողի մագնիսներ եռաչափ տպված էլեկտրոնիկայի տուփի ներքևի հատվածներում: Համոզվեք, որ մագնիսները ճիշտ գծված են աջ և ձախ տուփի միջև, այնուհետև օգտագործեք էպոքսիդ (կամ սոսինձ) `մագնիսները շրջանակին ամրացնելու համար: Թույլ տվեք էպոքսիդին (կամ սոսինձին) ամբողջությամբ ամրացնել:
- Տեղադրված ազդանշանային սխեման տեղադրեք էլեկտրոնիկայի տուփի մեջ ՝ տարբեր բաղադրիչները հավասարեցնելով դրանց անցքերին: Փակեք տուփը եռաչափ տպված էլեկտրոնիկայի տուփի վերևով: Էպոքսիդ (կամ սոսինձ) մարտկոցի տուփը տուփի վերևում, որպեսզի անջատիչը բաց լինի:
Քայլ 6: Խոսափողի սարքավորում
Ելքային համակարգը բաղկացած է երկու բարձրախոսային սխեմաներից, մեկը `յուրաքանչյուր ազդանշանի համար, հագեցած անլար կապով և ձայնի ճշգրտման կոճակով: Նախ, նախատախտակները պատրաստեք օգտագործման համար nRF24L01 մոդուլներով, ինչպես դա արեցինք ազդանշանային սխեմաների համար `կտրելով կապանքները, որոնք բաժանում են երկու տող կապում, որտեղ տեղադրվելու է տախտակը:
Այնուհետև հավաքեք միացումը, ինչպես ցույց է տրված վերևի դիագրամում ՝ անդրադառնալով ավարտված սխեմաների լուսանկարներին:
Խորհրդի ժողովի ցուցումներ
Բարձրախոսների պարիսպում տախտակները դնելու համար հիմնական բաղադրիչները պետք է տեղադրվեն տախտակի որոշակի հատվածներում: Հետևյալ հրահանգներում ես կանդրադառնամ Adafruit նախատախտակի տողերն ու սյուները նշելու համար օգտագործվող կոորդինատային համակարգին.
- Arduino Nano- ն պետք է տեղադրվի կենտրոնում գտնվող տախտակի վերին եզրին այնպես, որ Vin քորոցը տեղադրվի G16- ում: Սա թույլ կտա հեշտ վերադասավորել Arduino Nano- ն `միացումը հավաքելուց հետո:
- NRF24L01 տախտակը պետք է տեղադրվի տախտակի ներքևի աջ անկյունում `ընդգրկելով ութ դիրք C1- ից D5: Սա թույլ կտա nRF24L01- ը կախել նախատախտակից `ավելի լավ անլար հաղորդակցություն ապահովելու համար:
- Բարձրախոս համակարգի մարտկոցը սնուցում է երկու նախատախտակները, այնպես որ անպայման միացրեք երկու Arduino Nano- ի GND ռելսերը/կապումներն ու Vin կապերը սնուցման աղբյուրին:
-
«Ներքևի» սխեմայի համար պոտենցիոմետրը պետք է տեղադրվի տախտակի վերևում ՝ դեպի դուրս, որպեսզի նրա կապումներն տեղադրվեն J2, J4 և J6 դիրքերում:
- J2 ↔ Arduino Nano ելք թվային փին 3 -ից (D3)
- 2N3904 տրանզիստորի J4 ↔ բազային քորոց
- J6 ↔ անկապ
-
«Վերին» սխեմայի համար պոտենցիոմետրը պետք է տեղադրվի տախտակի ներքևի մասում ՝ դեպի դուրս, որպեսզի նրա կապումներն տեղադրվեն J9, J11 և J13 դիրքերում:
- J13 ↔ Arduino Nano ելք թվային փին 3 -ից (D3)
- 2N3904 տրանզիստորի J11 ↔ բազային քորոց
- 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 տպագրության համար
- Տուփի վերև
- Տուփի հատակ
Ֆիզիկական հավաքման ցուցումներ
- Speakerգուշորեն տեղադրեք բարձրախոսի սխեմաները տուփի ներքևի մասում, մեկ տախտակը մյուսի վրա այնպես, որ ձայնի կոճակները միմյանց կողքին լինեն և սայթաքեն անցքերի մեջ: Հաղորդակցության չիպերը պետք է ցուցադրվեն տուփի հետևի մասում:
- Տեղադրեք բարձրախոսները տպատախտակի ձախ և աջ կողմերում ՝ համոզվելով, որ բարձրախոսները համապատասխանում են ազդանշանի ճիշտ կողմերին: Բարձրախոսները հավասարեցրեք տուփի կողմերում գտնվող անցքերին:
- Կերակրեք մարտկոցի տուփի լարերը տուփի հետևի հետևի փոքր անցքից: Էպոքսիդ (կամ սոսինձ) մարտկոցի տուփը տուփի հետևի մասում այնպես, որ անջատիչը բաց լինի:
- Տեղադրեք 3D տպված տուփի վերևը տուփի ներքևի մասում ՝ ամեն ինչ պարունակելու համար:
Քայլ 9: Կարգավորում/տեղադրում
- Միացրեք ազդանշանները ՝ մարտկոցի տուփերի անջատիչները շրջելով դեպի «ON» դիրքը: Նույնը արեք բարձրախոսների հավաքածուի դեպքում, որպեսզի միացնեք ելքային համակարգը:
- Լսելի սարքեր տեղադրելը ամենահեշտությամբ կատարվում է երկու հոգու հետ, բայց կարելի է անել մեկի հետ: Առանց պտտվող թևի վրա ամրացնելու համար ասեղնագործները ամենահեշտությամբ կդրվեին առագաստը բարձրացնելուց առաջ:
- Համոզվելու համար, որ պատմվածքի շրջանակը ճիշտ կողմնորոշված է, նայեք ուղղահայաց ձողերից մեկի խազին: Շրջանակն ուղղահայաց պահելիս խազը պետք է ուղղված լինի դեպի վերև: Այդ բարով շրջանակի կողմը նույնպես պետք է ուղղված լինի դեպի նավակի առջևը:
- Տեղադրեք պատմվածքներից մեկը ցանկալի բարձրության և դիրքի առագաստի վրա: Այն պետք է տեղադրվի այնպես, որ մանվածքը նույն տեղում լինի, ինչ կլիներ, եթե այն ավանդական պատմվածքի մաս լիներ:
- Onceանկալի դիրքում մեկ պատմվածք ունենալուց հետո: Տեղադրեք մյուս հեքիաթը առագաստի մյուս կողմում, հենց ձեր տեղադրած առաջինի դիմաց, այնպես, որ մագնիսները շարվեն: Մագնիսների միացումից հետո նրանք պետք է շրջանակն ապահով պահեն առագաստին: Էլեկտրոնիկայի պատյանների մագնիսները շարեք առագաստի երկու կողմերի յուրաքանչյուր պատմվածքի համար, այնպես, որ դրանք նույնպես միանան:
- Եթե նկատում եք, որ երբ լարն ուղիղ հետ է հոսում, այն չի հատվում վերին դարպասի դիմացով, պտտեք պատմվածքի շրջանակն այնպես, որ շրջանակի հետևի կեսը ներքև շարժվի: Պտտեք շրջանակը մինչև լարն անցնի վերևի լուսանկարի միջով, երբ մանվածքը հոսում է ուղիղ հետ:
Քայլ 10: Խնդիրների վերացում
Կոդի բոլոր կտորներն ունեն վրիպազերծման տպագիր հայտարարություններ ՝ նշելու համար, որ դրանք ուղարկում, ստանում և մշակում են տվյալները: Համակարգչին միացված Arduino Nano ենթահամակարգերից մեկի միջոցով Arduino IDE- ի միջոցով COM պորտի բացումը թույլ կտա դիտել այս կարգավիճակի հաղորդագրությունները:
Եթե համակարգը ճիշտ չի աշխատում, միացրեք բոլոր բաղադրիչների անջատիչները:
Քայլ 11: Հնարավոր հաջորդ քայլերը
- Waterրամեկուսացում
- Ավելի հեռահար հաղորդակցություն: WiFi- ն խոստումնալից տարբերակ է:
- Մեր ներկայիս կարգավորումը ներկայումս օգտագործում է 2 լուսանկարի մեկ ընդմիջում: Համակարգին ավելի շատ լուսանկարների ընդհատիչներ ավելացնելը կարող է հետաքրքիր լինել:
Խորհուրդ ենք տալիս:
Կիթառի հերոս կիթառի օգտագործումը խոշորացումը վերահսկելու համար (միայն Windows- ի համար). 9 քայլ
Կիթառի հերոս կիթառի օգտագործումը խոշորացումը վերահսկելու համար (Միայն Windows). Քանի որ մենք գտնվում ենք գլոբալ համաճարակի մեջ, մեզանից շատերը խրված են տան մաքրման և խոշորացման հանդիպումներին միանալու մեջ: Որոշ ժամանակ անց սա կարող է դառնալ շատ ձանձրալի և հոգնեցուցիչ: Տունը մաքրելիս ես գտա Guitar Hero- ի հին կիթառը, որը գցված էր
Steam Punk ձեր UPS- ը ՝ ձեր Wi-Fi երթուղիչի համար մի քանի ժամ անընդհատ աշխատելու համար. 4 քայլ (նկարներով)
Steam Punk Ձեր UPS- ը ձեր Wi-Fi երթուղիչի համար մի քանի ժամ տևելու համար: Հիմնականում անհամատեղելի բան կա, երբ ձեր UPS- ը փոխում է իր 12V DC մարտկոցի հզորությունը 220V AC հոսանքի, այնպես որ ձեր երթուղղիչով և մանրաթելային ONT- ով աշխատող տրանսֆորմատորները կարող են այն նորից վերածել 12V DC Դուք նույնպես դեմ եք [սովորաբար
Օգտագործելով Հույսի կրծքավանդակի ընդլայնումը `ձեր ընտանեկան ծառի ներսում ընտանեկան ծառ որոնելու համար ոչ լրիվ տաճարային արարողություն գտնելու համար. 11 քայլ
Օգտագործելով Հույսի կրծքավանդակի ընդլայնումը `տոհմային անավարտ աշխատանք ձեր ընտանեկան ծառի մեջ Ընտանեկան որոնում. Այս ուսուցանելու նպատակն է ցույց տալ, թե ինչպես պետք է որոնել ձեր տոհմածառը տաճարային թերի արարողակարգով նախնիների որոնման միջոցով` օգտագործելով Հույսի կրծքավանդակի ընդլայնումը: Հույսի կրծքավանդակի օգտագործումը կարող է մեծապես արագացնել անհաջողության որոնումը
Dirt Cheap Dirt-O-Meter-$ 9 Arduino- ի վրա հիմնված լսելի բարձրաչափ. 4 քայլ (նկարներով)
Dirt Cheap Dirt-O-Meter-$ 9 Arduino- ի վրա հիմնված լսելի բարձրաչափ. Dytters- ը (A.K.A Audible Altimeters) երկար տարիներ փրկեց սահադաշտավարների կյանքը: Այժմ, Audible Abby- ն նրանց նույնպես կխնայի գումար: Հիմնական Dytters- ն ունի չորս ահազանգ, մեկը վերևին, իսկ երեքը `ներքև: Ինքնաթիռ բարձրանալիս սքայդավորդները պետք է իմանան, թե երբ
Ինֆրակարմիր գետնի/օբյեկտի ցուցիչ ՝ ռոբոտների նավարկության համար. 3 քայլ
Ինֆրակարմիր գետնի/օբյեկտի տվիչ ՝ ռոբոտների նավարկության համար. Ես օգտագործել եմ այս սենսորը իմ 2 ռոբոտների վրա: նրանք աշխատում էին սեղանի մակերևույթի վրա, ուստի ռոբոտները պետք է հայտնաբերեին, թե երբ են նրանք հասել եզրին, կանգ առնել և հետ դառնալ … դա կարող է նաև խոչընդոտներ առաջացնել ճանապարհին