ዝርዝር ሁኔታ:

ለመርከብ የሚሰማ ተናጋሪዎች - 11 ደረጃዎች
ለመርከብ የሚሰማ ተናጋሪዎች - 11 ደረጃዎች

ቪዲዮ: ለመርከብ የሚሰማ ተናጋሪዎች - 11 ደረጃዎች

ቪዲዮ: ለመርከብ የሚሰማ ተናጋሪዎች - 11 ደረጃዎች
ቪዲዮ: Open Access Ninja: The Brew of Law 2024, ሀምሌ
Anonim
Image
Image
Telltale ሃርድዌር
Telltale ሃርድዌር

Telltales በጀልባው ላይ ሁከት ወይም የላናማ ፍሰት መኖሩን ለማሳየት በመርከብ ላይ ጥቅም ላይ የሚውል የሕብረቁምፊ ቁርጥራጮች ናቸው። ሆኖም ፣ በሸራው በእያንዳንዱ ጎን ላይ የተጣበቁ የተለያዩ ባለቀለም ክር ቁርጥራጮች የእይታ አመልካቾች ብቻ ናቸው። እነዚህ ተሰሚ ተረቶች እንደ ፖውሊን ላሉ ማየትም ሆነ ማየት ለተሳናቸው መርከበኞች የእይታ መረጃን በድምጽ መስጫ ውስጥ ለማስተላለፍ የታሰበ ረዳት መሣሪያ ናቸው።

መሣሪያው የመግቢያ ስርዓቱን ያካተተ ሲሆን ይህም የሚነገረውን እንቅስቃሴ የሚያነብ እና የአየር ፍሰት መረጃን የሚያስተላልፉ ተከታታይ ጩኸቶችን የሚያወጣ የውጤት ስርዓት ነው።

በዚህ መሣሪያ ፈጠራ ውስጥ የሽያጭ መሳሪያዎችን እና የ 3 ዲ አታሚ መዳረሻ ያስፈልጋል።

ደረጃ 1 - የቁሳቁሶች ሂሳብ

BOM ከአገናኞች እና ዋጋዎች ጋር

ማሳሰቢያ -ከሚከተሉት ሁሉ 2 ስብስቦች ያስፈልግዎታል።

የግቤት ስርዓት

  • አርዱዲኖ ናኖ
  • Adafruit perma-proto ግማሽ መጠን ያለው የዳቦ ሰሌዳ ፒሲቢ
  • nRF24L01 ሽቦ አልባ አስተላላፊ ሞዱል
  • የፎቶ አስተላላፊ
  • Sparkfun Photo Interrupter Breakout ቦርድ
  • አርዱዲኖ ተኳሃኝ 9 ቪ የባትሪ ጥቅል
  • 9 ቪ ባትሪ
  • የ 22 ጌጅ ሽቦ በርካታ ርዝመቶች
  • ክር
  • ኒዮዲሚየም ማግኔቶች
  • ኢፖክሲ

የውጤት ስርዓት

  • አርዱዲኖ ናኖ
  • Adafruit perma-proto ግማሽ መጠን ያለው የዳቦ ሰሌዳ ፒሲቢ
  • nRF24L01 ሽቦ አልባ አስተላላፊ ሞዱል
  • አርዱዲኖ ተኳሃኝ 9 ቪ የባትሪ ጥቅል
  • 1K Ohm potentiometer
  • 120 Ohm resistor
  • 2N3904 ትራንዚስተር
  • 0.1 uF capacitor
  • አርዱinoኖ ተኳሃኝ ተናጋሪ

GitHub ፋይሎች

  • እነዚህን ተረቶች ለመገንባት የሚያስፈልጉ ሁሉም የኮድ እና የ STL ፋይሎች በዚህ GitHub repo ውስጥ ሊገኙ ይችላሉ።
  • ሁለት የማቀፊያው ስብስቦች እና አንድ የድምፅ ማጉያ መያዣ ያስፈልግዎታል።

ደረጃ 2 - መሣሪያዎች/ማሽኖች/የሶፍትዌር መስፈርቶች

አርዱዲኖን ፕሮግራም ለማድረግ የ Arduino IDE ን ማውረድ ያስፈልግዎታል። የማውረጃ አገናኙ እዚህ ይገኛል።

የ nRF24L01 ሞጁሉን ፕሮግራም ለማድረግ ፣ ቤተ -መጽሐፉን በአርዱዲኖ አይዲኢ በኩል ማውረድ ያስፈልግዎታል። መሣሪያዎች> ቤተ -መጽሐፍትን ያቀናብሩ…> ቤተመፃህፍት RF24 ን ይጫኑ

የኤሌክትሮኒክ ክፍሎቹን ለመገጣጠም መሰረታዊ የመሸጫ መሳሪያዎችን መድረስ ያስፈልጋል። የተበላሸ ፓምፕ እንዲሁ ጠቃሚ ሊሆን ይችላል ግን አስፈላጊ አይደለም።

የተረት ፍሬም እና የድምፅ ማጉያ መያዣን ለመገንባት የ 3 ዲ አታሚ መዳረሻ ያስፈልግዎታል።

ደረጃ 3 - ተረት ሃርድዌር

Telltale ሃርድዌር
Telltale ሃርድዌር
Telltale ሃርድዌር
Telltale ሃርድዌር

ከላይ ባለው ሥዕላዊ መግለጫዎች መሠረት ወረዳውን ይሰብስቡ። አርዱዲኖ ናኖ ከፕሮቶቦርዱ አናት ጋር መስተካከል አለበት። ይህ ሁሉም የኤሌክትሮኒክስ ዕቃዎች ከተያያዙ በኋላ እንኳን የዩኤስቢ ወደብ መዳረሻ እንዲያገኙ ያስችልዎታል።

የኤሌክትሮኒክስ ዕቃዎችን ማሳጠርን ለማስቀረት ፣ ከላይ ባለው ምስል ላይ እንደሚታየው nRF24 በሚይዛቸው ረድፎች ላይ የፕሮቶቦርዱን ዱካዎች መቁረጥዎን ያረጋግጡ።

አለበለዚያ nRF24 ን ከፕሮቶቦርዱ ጋር ለማገናኘት የ jumper ገመዶች ያስፈልግዎታል።

የፎቶ አስተላላፊው የተቃዋሚ ግንኙነት ፣ GND እና 5V ሽቦዎች አልተገለፁም። በተቆራረጠ ሰሌዳው ላይ እንደተመለከተው የፎቶ መገናኛውን ያገናኙ። የመለያያ ቦርድ ምስል ተካትቷል።

የቀኝ እና የግራ መግለጫዎች ወረዳዎች በትክክል አንድ ናቸው።

ደረጃ 4 - Telltale ሶፍትዌር

ለትክክለኛው ተረት ኮዱ እዚህ አለ። የቀኝውን ተረት ናኖን ከኮምፒዩተርዎ ጋር ያገናኙ ፣ አርዱዲኖ አይዲኢን ይክፈቱ ፣ ይቅዱ እና ይለጥፉ እና ወደ ቦርዱ ይስቀሉ።

/** ተረት ተረት ለመመርመር የፎቶ መግቢያን የሚጠቀም ፕሮግራም

*/ #ያካትቱ #ያካትቱ #ያካትቱ #RF24 ሬዲዮን (9 ፣ 10) ያካትቱ ፤ // CE ፣ CSN const byte አድራሻ [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 = ደቂቃ (max_when_testing ፣ int (flow_check_time/string_check_time)) ላይ በመመስረት ከላይ ያለውን var ያዘጋጁ። const int msg_max_val = 9; // const int string_thresh = 20; #ጥራት STRING_THRESH 0.2 // --- --- ፕሮግራም ቫርስ --- int num_string_seen = 0; int num_loops = 0; ባዶነት ማዋቀር () {// እያለ (! ተከታታይ); // ለእፅዋት/መዘግየት (500); num_string_seen = 0; num_loops = 0; pinMode (GATE_PIN ፣ INPUT) ፤ pinMode (GATE_PIN_2 ፣ INPUT) ፤ Serial.begin (115200); // ለማረም radio.begin (); radio.openWritingPipe (አድራሻ); radio.setPALevel (RF24_PA_MIN); radio.stopListening (); } ባዶነት loop () {// በተደጋጋሚ ለማሄድ ዋናውን ኮድዎን እዚህ ያስቀምጡ - ከሆነ (num_loops % string_check_time == 0) {// ሕብረቁምፊ ሁኔታ check_string () ይፈትሹ ፤ } ከሆነ (num_loops == flow_check_time) {// ፍሰትን ፍሰት //Serial.println(num_string_seen); int flow_num = exam_flow (); // እሴቶችን ይላኩ send_out (flow_num); // ዳግም ማስጀመር vars num_string_seen = 0; num_loops = 0; መዘግየት (flow_check_delay); } num_loops ++; መዘግየት (base_delay); } / * *ሕብረቁምፊ በሩን የሚያቋርጥበትን ዘዴ * / ባዶ ባዶ 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 (“ታችኛው ሕብረቁምፊ!”); } //Serial.print(" የሚለካ ሕብረቁምፊ ያልፋል ፦ "); // ጽሑፍ። መመለስ; }/ * * የትኛውን የጊዜ ክፍልፋይ በሩን እንደሸፈነ ለመተንተን ዘዴ */int exam_flow () {double percent_seen = double (num_string_seen)/max_in_flow; Serial.print ("የተሸፈነ መቶኛ"); printDouble (መቶኛ_የታየው ፣ 100); // እሴቱን ወደ የግንኙነት ልኬት int scaled_flow = int (በመቶኛ_ታይ * msg_max_val); ከሆነ (scaled_flow> msg_max_val) {scaled_flow = msg_max_val; } ከሆነ (scaled_flow = 0) frac = (val - int (val)) * ትክክለኛነት; ሌላ frac = (int (val)- val) * ትክክለኛነት; Serial.println (frac, DEC); }

የግራ መግለጫው ኮድ እዚህ አለ። ለግራ ተረት ከላይ እንደተጠቀሰው ተመሳሳይ እርምጃዎችን ይከተሉ። እንደሚመለከቱት ፣ ብቸኛው ልዩነት ገላጭው ውጤቱን የሚልክበት አድራሻ ነው።

/** ተረት ተረት ለመመርመር የፎቶ መግቢያን የሚጠቀም ፕሮግራም

*/ #ያካትቱ #ያካትቱ #ያካትቱ #RF24 ሬዲዮን (9 ፣ 10) ያካትቱ ፤ // CE ፣ CSN const byte አድራሻ [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 = ደቂቃ (max_when_testing ፣ int (flow_check_time/string_check_time)) ላይ በመመስረት ከላይ ያለውን var ያዘጋጁ። const int msg_max_val = 9; // const int string_thresh = 20; #ጥራት STRING_THRESH 0.2 // --- --- ፕሮግራም ቫርስ --- int num_string_seen = 0; int num_loops = 0; ባዶነት ማዋቀር () {// እያለ (! ተከታታይ); // ለእፅዋት/መዘግየት (500); num_string_seen = 0; num_loops = 0;

pinMode (GATE_PIN ፣ INPUT) ፤

pinMode (GATE_PIN_2 ፣ INPUT) ፤ Serial.begin (115200); // ለማረም radio.begin (); radio.openWritingPipe (አድራሻ); radio.setPALevel (RF24_PA_MIN); radio.stopListening (); } ባዶነት loop () {// በተደጋጋሚ ለማሄድ ዋናውን ኮድዎን እዚህ ያስቀምጡ - ከሆነ (num_loops % string_check_time == 0) {// ሕብረቁምፊ ሁኔታ check_string () ይፈትሹ ፤ } ከሆነ (num_loops == flow_check_time) {// ፍሰትን ፍተሻ //Serial.println(num_string_seen); int flow_num = exam_flow (); // እሴቶችን ይላኩ send_out (flow_num); // ዳግም ማስጀመር vars num_string_seen = 0; num_loops = 0; መዘግየት (flow_check_delay); } num_loops ++; መዘግየት (base_delay); } / * *ሕብረቁምፊ በሩን የሚያቋርጥበትን ዘዴ * / ባዶ ባዶ 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 (“ታችኛው ሕብረቁምፊ!”); } //Serial.print(" የሚለካ ሕብረቁምፊ ያልፋል ፦ "); // ጽሑፍ። መመለስ; }/ * * የትኛውን የጊዜ ክፍልፋይ በሩን እንደሸፈነ ለመተንተን ዘዴ */int exam_flow () {double percent_seen = double (num_string_seen)/max_in_flow; Serial.print ("የተሸፈነ መቶኛ"); printDouble (መቶኛ_የታየው ፣ 100); // እሴቱን ወደ የግንኙነት ልኬት int scaled_flow = int (በመቶኛ_ታይ * msg_max_val); ከሆነ (scaled_flow> msg_max_val) {scaled_flow = msg_max_val; } ከሆነ (scaled_flow = 0) frac = (val - int (val)) * ትክክለኛነት; ሌላ frac = (int (val)- val) * ትክክለኛነት; Serial.println (frac, DEC); }

ደረጃ 5 - ተረት ስብሰባ

ገላጭ ጉባኤ
ገላጭ ጉባኤ

የግለሰብ ክፍሎች

  • ገላጭ ፍሬም
  • ክር
  • ተረት ተረት ሰርቷል
  • የባትሪ ጥቅል
  • የኤሌክትሪክ ቴፕ
  • ኤፖክስ ወይም ሙጫ

STLs ለ 3 ዲ ማተሚያ ተረት ክፍሎች

  • STL ለትርጉም ፍሬም - ግራ ፣ ቀኝ
  • STLs ለኤሌክትሮኒክስ ሳጥን -ከላይ ፣ ታች

የስብሰባ መመሪያዎች

  1. በ3 -ል በታተመው የታሪፍ ፍሬም ውስጥ ባሮች ማግኔቶችን ያስቀምጡ። በትክክለኛው ክፈፍ እና በግራ ክፈፍ መካከል ማግኔቶች በትክክል መደረጋቸውን ያረጋግጡ ፣ ከዚያ ማግኔቶችን ወደ ክፈፉ ለመጠበቅ ኤፒኮ (ወይም ሙጫ) ይጠቀሙ። Epoxy (ወይም ሙጫ) ሙሉ በሙሉ እንዲዋቀር ይፍቀዱ።
  2. በማዕቀፉ ጀርባ ላይ ከላይ እና ከታች ክፍተቶች ውስጥ የፎቶ ማቋረጫዎችን ያስቀምጡ። የፎቶ መገናኛውን ሰሌዳዎች ወደ ክፈፉ በጥንቃቄ epoxy (ወይም ሙጫ)። Epoxy (ወይም ሙጫ) ሙሉ በሙሉ እንዲዋቀር ይፍቀዱ
  3. ~ 7 በክር ቁራጭ ይቁረጡ። በመጀመሪያው አቀባዊ አሞሌ ጫፍ ላይ አንድ የክርን ጫፍ ያያይዙ። አንድ ትንሽ የኤሌክትሪክ ቴፕ ይቁረጡ እና የኤሌክትሪክ ቴፕውን በፎቶ አስተላላፊዎች ክልል ውስጥ በሚገኘው ክር ክፍል ላይ ይሸፍኑ። በፎቶ አስተላላፊ በር ክፍተት ውስጥ እንዲያልፍ በፍሬም በኩል ክር ይከርክሙት።
  4. በ 3 ዲ የታተመ የኤሌክትሮኒክስ ሳጥን ታችኛው ክፍል ቦታዎች ውስጥ የአሞሌ ማግኔቶችን ያስቀምጡ። በቀኝ ሳጥኑ እና በግራ ሳጥኑ መካከል ማግኔቶች በትክክል መደረጋቸውን ያረጋግጡ ፣ ከዚያ ማግኔቶቹን ወደ ክፈፉ ለመጠበቅ ኤፒኮ (ወይም ሙጫ) ይጠቀሙ። Epoxy (ወይም ሙጫ) ሙሉ በሙሉ እንዲዋቀር ይፍቀዱ።
  5. የተለያዩ ክፍሎችን ከቦታዎቻቸው ጋር በማስተካከል በኤሌክትሮኒክስ ሳጥኑ ውስጥ የተገነባውን የትርጉም ወረዳ ያስቀምጡ። በ 3 ዲ የታተመ የኤሌክትሮኒክስ ሳጥን የላይኛው ክፍል ሳጥኑን ይዝጉ። ማብሪያ / ማጥፊያው እንዲጋለጥ የባትሪውን ጥቅል ወደ ኤፒኮ (ወይም ሙጫ) ወደ ሳጥኑ አናት።

ደረጃ 6 - የድምፅ ማጉያ ሃርድዌር

የድምፅ ማጉያ ሃርድዌር
የድምፅ ማጉያ ሃርድዌር
የድምፅ ማጉያ ሃርድዌር
የድምፅ ማጉያ ሃርድዌር
የድምፅ ማጉያ ሃርድዌር
የድምፅ ማጉያ ሃርድዌር

የውጤት ስርዓቱ ሁለት የድምፅ ማጉያ ወረዳዎችን ያካተተ ነው ፣ አንዱ ለእያንዳንዱ ተረት ፣ በገመድ አልባ ግንኙነት እና በድምጽ ማስተካከያ ቁልፍ የተገጠመ። በመጀመሪያ ፣ ቦርዱ የሚቀመጥባቸውን ሁለት ረድፎች ካስማዎች በመለየት መሪዎቹን በመቁረጥ ለነገሩ ወረዳዎች እንዳደረግነው በ nRF24L01 ሞጁሎች ለመጠቀም ፕሮቶቦርዶችን ያዘጋጁ።

ከዚያ የተጠናቀቁ ወረዳዎችን ፎቶዎች በሚጠቅሱበት ጊዜ ከላይ በስዕሉ ላይ እንደሚታየው ወረዳውን ይሰብስቡ።

የቦርድ ስብሰባ መመሪያዎች

በድምጽ ማጉያው ግቢ ውስጥ ቦርዶችን ለመደርደር ፣ ዋናዎቹ አካላት በተወሰኑ የቦርዱ አካባቢዎች ውስጥ መቀመጥ አለባቸው። በሚከተሉት መመሪያዎች ውስጥ በአዳፍሮት ፕሮቶቦርድ ላይ ረድፎችን እና ዓምዶችን ለማመልከት ያገለገለውን የማስተባበር ስርዓት እጠቅሳለሁ-

  1. የቪን ፒን በ G16 ላይ እንዲቀመጥ አርዱዲኖ ናኖ በማዕከሉ ውስጥ ባለው የቦርዱ የላይኛው ጠርዝ ላይ መቀመጥ አለበት። ይህ ወረዳው ከተሰበሰበ በኋላ የአርዲኖ ናኖን በቀላሉ እንደገና እንዲደግፍ ያስችለዋል።
  2. የ nRF24L01 ቦርዱ ከሲ 1 እስከ ዲ 5 ያሉትን ስምንት ቦታዎችን በሚይዝ የቦርዱ ታችኛው ቀኝ ጥግ ላይ መቀመጥ አለበት። ይህ የተሻለ ሽቦ አልባ ግንኙነትን ለመፍቀድ nRF24L01 ን ከፕሮቶቦርዱ ላይ እንዲንጠለጠል ያደርገዋል።
  3. ለድምጽ ማጉያ ስርዓቱ የባትሪ ጥቅል ሁለቱንም ፕሮቶቦርዶች ኃይል ይሰጣል ፣ ስለዚህ ሁለቱን የአርዱዲኖ ናኖ የ GND ሀዲዶችን/ፒኖችን እና የቪን ፒኖችን ከኃይል አቅርቦት ጋር ማገናኘትዎን ያረጋግጡ።
  4. ለ ‹ታች› ወረዳው ፣ ፒንቲቲሞሜትር በቦኖቹ አናት ላይ ወደ ውጭ በሚመለከት ቦኖቹ በ J2 ፣ J4 እና J6 ቦታዎች ላይ እንዲቀመጡ መደረግ አለበት።

    1. J2 ↔ አርዱዲኖ ናኖ ውፅዓት ከዲጂታል ፒን 3 (D3)
    2. የ 2N3904 ትራንዚስተር J4 ↔ የመሠረት ፒን
    3. J6 ↔ ያልተገናኘ
  5. ለ ‹የላይኛው› ወረዳው ፣ ፒንቲቲሞሜትር በቦኖቹ የታችኛው ክፍል ላይ ወደ ውጭ በመጋለጥ ፒኖቹ በ J9 ፣ J11 እና J13 ቦታዎች ላይ እንዲቀመጡ መደረግ አለበት።

    1. J13 ፣ አርዱዲኖ ናኖ ውፅዓት ከዲጂታል ፒን 3 (D3)
    2. የ 2N3904 ትራንዚስተር J11 ↔ የመሠረት ፒን
    3. J9 ↔ አልተገናኘም

ደረጃ 7 - የድምፅ ማጉያ ሶፍትዌር

ተናጋሪው ከግራ ተረት ጋር የሚገናኝበት ኮድ እዚህ አለ። በታችኛው የድምፅ ማጉያ ሰሌዳ ላይ አርዱዲኖ ናኖን ከኮምፒዩተርዎ ጋር ያገናኙ ፣ አርዱዲኖ አይዲኢን ይክፈቱ ፣ ይህንን ኮድ ይቅዱ እና ይለጥፉ እና ወደ ቦርዱ ይስቀሉት።

#ያካትቱ

#ያካትቱ #RF24 ሬዲዮን ያካትቱ (7 ፣ 8) ፤ // ዓ.ም. const int pitch = 2000; const int pitch_duration = 200; const int ተናጋሪ = 3; const int delay_gain = 100; int ሁኔታ = 0; int cur_delay = 0; ቻር አንብብ [2]; ባዶነት ማዋቀር () {pinMode (ድምጽ ማጉያ ፣ OUTPUT); Serial.begin (115200); Serial.println (“ገመድ አልባ ግንኙነትን በመጀመር ላይ…”); radio.begin (); radio.openReadingPipe (0 ፣ አድራሻ); radio.setPALevel (RF24_PA_MIN); radio.startListening (); } ባዶነት loop () {ከሆነ (radio.available ()) {radio.read (& read, sizeof (read)); ሁኔታ = (int) (ያንብቡ [0]-'0'); Serial.print ("ተቀብሏል:"); Serial.println (ሁኔታ); cur_delay = መዘግየት_አይነት*ሁኔታ; } ከሆነ (cur_delay) {ቶን (ድምጽ ማጉያ ፣ ድምጽ ፣ የኳስ ጊዜ); መዘግየት (cur_delay + pitch_duration); Serial.println ("ቢፕ!"); }}

ከትክክለኛው ተረት ጋር የሚነጋገር ተናጋሪው ኮድ እዚህ አለ። በላይኛው የድምፅ ማጉያ ሰሌዳ ላይ አርዱዲኖ ናኖን ከኮምፒዩተርዎ ጋር ያገናኙ ፣ አርዱዲኖ አይዲኢን ይክፈቱ ፣ ይቅዱ እና ይፃፉ እና ወደ ቦርዱ ይስቀሉ።

#ያካትቱ

#ያካትቱ #RF24 ሬዲዮን ያካትቱ (7 ፣ 8) ፤ // ዓ.ም. const int pitch = 1500; const int pitch_duration = 200; const int ተናጋሪ = 3; const int delay_gain = 100; int ሁኔታ = 0; int cur_delay = 0; ቻር አንብብ [2]; ባዶነት ማዋቀር () {pinMode (ድምጽ ማጉያ ፣ OUTPUT); Serial.begin (115200); Serial.println (“ገመድ አልባ ግንኙነትን በመጀመር ላይ…”); radio.begin (); radio.openReadingPipe (0 ፣ አድራሻ); radio.setPALevel (RF24_PA_MIN); radio.startListening (); } ባዶነት loop () {ከሆነ (radio.available ()) {radio.read (& read, sizeof (read)); ሁኔታ = (int) (ያንብቡ [0]-'0'); Serial.print ("ተቀብሏል:"); Serial.println (ሁኔታ); cur_delay = መዘግየት_አይነት*ሁኔታ; } ከሆነ (cur_delay) {ቶን (ድምጽ ማጉያ ፣ ድምጽ ፣ የኳስ ጊዜ); መዘግየት (cur_delay+pitch_duration); Serial.println ("ቢፕ!"); }}

ደረጃ 8 - የተናጋሪ ስብሰባ

የግለሰብ ክፍሎች

  • 2 የተገነቡ የድምፅ ማጉያ ወረዳዎች
  • 2 ድምጽ ማጉያዎች
  • 1 የባትሪ ጥቅል

ለ 3 ዲ ማተሚያ STLs

  • የሳጥን ጫፍ
  • የታችኛው ሳጥን

የአካላዊ ስብሰባ መመሪያዎች

  1. የድምፅ ማጉያዎቹ እርስ በእርስ አጠገብ እንዲሆኑ እና ወደ ጉድጓዶቹ ውስጥ እንዲንሸራተቱ የተናጋሪውን ወረዳዎች በጥንቃቄ በሳጥኑ ታችኛው ክፍል ላይ ያድርጉት። የግንኙነት ቺፖቹ በሳጥኑ ጀርባ ላይ መጋለጥ አለባቸው።
  2. ድምጽ ማጉያዎቹን በወረዳ ቦርድ ግራ እና ቀኝ ላይ ያስቀምጡ ፣ ተናጋሪዎቹ ከትክክለኛ ገላጭ ጎኖች ጋር የሚዛመዱ መሆናቸውን ያረጋግጡ። ድምጽ ማጉያዎቹን በሳጥኑ ጎኖች ላይ ወዳሉት ክፍተቶች ያስተካክሉ።
  3. የባትሪውን ጥቅል ሽቦዎች ከሳጥኑ ጀርባ ባለው ትንሽ ቀዳዳ በኩል ይመግቡ። Epoxy (ወይም ሙጫ) የባትሪ እሽግ ከሳጥኑ ጀርባ ወደ ማብሪያው እንዲጋለጥ ያደርገዋል።
  4. ሁሉንም ለመያዝ በ 3 ዲ የታተመ ሣጥን ከላይ በሳጥኑ ታች ላይ ያስቀምጡ።

ደረጃ 9: ማዋቀር/መጫኛ

ማዋቀር/መጫኛ
ማዋቀር/መጫኛ
  1. በባትሪ ማሸጊያዎች ላይ መቀያየሪያዎቹን ወደ 'አብራ' ቦታ በመገልበጥ ተረቶች ይብራሩ። የውጤት ስርዓቱን ለማብራት ለተናጋሪው ስብሰባ ተመሳሳይ ነገር ያድርጉ።
  2. የሚሰማ ተረት ተረት በቀላሉ በሁለት ሰዎች ይከናወናል ፣ ግን በአንዱ ሊከናወን ይችላል። ባልተሸፈነ ጅብ ላይ ለመጫን ፣ ተረቶች በቀላሉ ሸራውን ከማንሳታቸው በፊት ይለብሳሉ።
  3. የተረት ፍሬም በትክክል ተኮር መሆኑን ለማረጋገጥ በአንዱ ቀጥ ያሉ አሞሌዎች ላይ ያለውን ደረጃ ይመልከቱ። ክፈፉን ቀጥ አድርገው ሲይዙ ፣ ደረጃው ወደ ላይ መሆን አለበት። በዚያ አሞሌ ያለው የክፈፉ ጎን እንዲሁ ወደ ጀልባው ፊት መጋጠም አለበት።
  4. ከተፈለገው ተረቶች አንዱን በሚፈለገው ቁመት እና በሸራ ላይ አቀማመጥ ያድርጉ። ልክ እንደ ተረት ተረት አካል ቢሆን ኖሮ ክር በተመሳሳይ ቦታ ላይ እንዲቀመጥ መደረግ አለበት።
  5. በሚፈለገው ቦታ ላይ አንድ ተረት ተረት ካለዎት። ሌላኛው ተረት ተረት በሸራው በሌላኛው በኩል ያስቀምጡ ፣ ልክ እርስዎ ካስቀመጡት መጀመሪያ በተቃራኒ ፣ ማግኔቶቹ እንዲሰለፉ። ማግኔቶች አንዴ ግንኙነት ካደረጉ ፣ ክፈፉን በደህና ወደ ሸራው መያዝ አለባቸው። በኤሌክትሮኒክስ መያዣዎች ማግኔቶች ላይ አሰልፍ ፣ ለእያንዳንዱ በጀልባው ላይ ለእያንዳንዱ ተረት ተረት ፣ እነሱ እንዲሁ ይገናኛሉ።
  6. ሕብረቁምፊው ቀጥታ ወደ ኋላ ሲፈስ ከላይኛው በር ፊት እንደማያልፍ ካስተዋሉ ፣ የክፈፉ የኋላ ግማሽ ወደ ታች የሚያመራውን ተረት ፍሬም ያሽከርክሩ። ክር በቀጥታ ወደ ኋላ ሲፈስ ሕብረቁምፊው ከላይ ባለው የፎቶ ማቋረጫ ውስጥ እስኪያልፍ ድረስ ክፈፉን ያሽከርክሩ።

ደረጃ 10 - መላ መፈለግ

ሁሉም የኮድ ቁርጥራጮች መረጃን እየላኩ ፣ እየተቀበሉ እና እየሠሩ መሆናቸውን የሚያመለክቱ የማረም የህትመት መግለጫዎች አሏቸው። በኮምፒተር ውስጥ ከተሰቀሉት የአርዱዲኖ ናኖ ንዑስ ስርዓቶች በአንዱ የአርዱዲኖ አይዲኢን በመጠቀም የ COM ወደብ መክፈት እነዚህን የሁኔታ መልዕክቶች እንዲመለከቱ ያስችልዎታል።

ስርዓቱ በትክክል የማይሠራ ከሆነ ፣ በሁሉም ክፍሎች ላይ መቀያየሪያዎቹን ይቀያይሩ።

ደረጃ 11: ሊሆኑ የሚችሉ ቀጣይ እርምጃዎች

  • የውሃ መከላከያ
  • የረጅም ክልል ግንኙነት። WiFi ተስፋ ሰጪ አማራጭ ሁን።
  • የእኛ የአሁኑ ቅንብር በአሁኑ ጊዜ በአንድ ተረት 2 የፎቶ ማቋረጫዎችን ይጠቀማል። በስርዓቱ ውስጥ ተጨማሪ የፎቶ ማቋረጫዎችን ማከል መሞከር አስደሳች ሊሆን ይችላል።

የሚመከር: