ዝርዝር ሁኔታ:
- ደረጃ 1: ክፍሎች እና መሣሪያዎች
- ደረጃ 2 - ቁርጥራጮችን እና ስብሰባን መቁረጥ
- ደረጃ 3 ሶፍትዌር - (አርዱinoኖ)
- ደረጃ 4 - ሶፍትዌር - ሮቦት ላፕቶፕ (ዌብ ሰርቨር)
- ደረጃ 5 - ሶፍትዌር - (ድረ -ገጽ)
- ደረጃ 6: ተጠናቅቋል
ቪዲዮ: ከድር ጋር የተገናኘ ሮቦት ይስሩ (ለ 500 ዶላር ያህል) (አርዱዲኖ እና ኔትቡክ በመጠቀም) 6 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:34
ይህ አስተማሪ የራስዎን የድር የተገናኘ ሮቦት እንዴት እንደሚገነቡ (የአርዱዲኖ ማይክሮ መቆጣጠሪያ እና የ Asus eee pc ን) እንዴት እንደሚገነቡ ያሳየዎታል። ከድር ጋር የተገናኘ ሮቦት ለምን ይፈልጋሉ? በእርግጥ ለመጫወት። ከስካይፕ እና ከድር አሳሽ (በመቆጣጠሪያ ኮምፒዩተሩ ላይ የሚጫን ምንም ነገር) ሳይጠቀሙ ሮቦትዎን ከክፍሉ ወይም ከመላ አገሪቱ ይንዱ። ከዛ በኋላ? በሶፍትዌሩ ውስጥ ቆፍረው እንደፈለጉት ያስተካክሉት ፣ እርስዎ በካርታ ላይ የሚነዱበትን ለማየት እንዲችሉ ፣ ጂፒኤስ ያክሉ ፣ በቤትዎ ውስጥ የሙቀት መጠቆሚያዎችን የካርታ የሙቀት መጠቆሚያዎችን ያክሉ ፣ ወይም በድር ላይ ላይ መቆጣጠሪያዎችን ለማከል የሶናር ዳሳሾች አሽከርካሪዎች ወደ ውስጥ መሮጥ እና አይችሉም። ዋና መለያ ጸባያት:
- ርካሽ - (~ $ 500 ሁሉንም ክፍሎች አዲስ ከገዙ እና በክፍሎችዎ ውስጥ ቢቆፍሩ በጣም ርካሽ ከሆነ)
- አንዴ ሮቦቱን መቆጣጠር እና ማስኬድ የድር አሳሽ ብቻ ይፈልጋል - (እና እርስዎ የሚነዱበትን ለማየት ከፈለጉ ስካይፕ)
- ክፍት ምንጭ እና በቀላሉ ሊስማማ የሚችል - (የአርዱዲኖ ማይክሮ መቆጣጠሪያን ይጠቀማል ፣ ለድር አገልጋዩ ማቀናበር እና ሁሉም ሶፍትዌሮች በሊኑክስ ላይ ሊሠሩ ይችላሉ (ሁሉም ኮዶች እንዲሁ ዘልለው ለመግባት እና ነገሮችን ለመለወጥ በጣም አስተያየት ተሰጥተዋል))
- ሞዱል ዲዛይን (ሙሉ በሙሉ የተቀናጀ ስርዓት አይደለም ፣ ምንም የማይጨነቅ የተለየ የቪዲዮ ኮንፈረንስ አገልግሎት ለመጠቀም ከፈለጉ ፣ ወይም ከአርዱዲኖ ይልቅ መሰረታዊ ማህተም ካለዎት ትንሽ የኮድ ቁራጭ በትክክል ያስገቡ እና ያስገቡት)
የእኔ ድር የተገናኘው ሮቦት ከኩሽና ሲወጣ ፈጣን ቪዲዮ እነሆ።
ደረጃ 1: ክፍሎች እና መሣሪያዎች
ጥቂት ክፍሎች ብቻ ያስፈልጋሉ - ሮቦት - አርዱinoኖ ቁጥጥር የሚደረግበት ሰርቮ ሮቦት - (SERB) ($ 175 @ oomlout.com) ወይም (የራስዎን ያድርጉ)
አርዱዲኖ ማይክሮ መቆጣጠሪያን እንደ አንጎል የሚጠቀም ክፍት ምንጭ ሮቦት።
(አርዱዲኖ ያለው ማንኛውም ባለሁለት servo ሮቦት መድረክ ጥቅም ላይ ሊውል ይችላል (አማራጭ 1) (እባክዎን ሌሎች አማራጮችን ካገኙ ይላኩልኝ) ኮምፒተር - Asus eee PC 4G ($ 280) (@Best Buy)
ለዚህ ዓላማ ፍጹም የሆነ አነስተኛ ርካሽ ላፕቶፕ።
(ማናቸውንም ላፕቶፕ (ወይም በዴስክቶፕ በ chord መሮጥ ከፈለጉ) ንድፎችን የማቀናበር ችሎታ ያለው) የላፕቶፕ ዴስክቶፕ - ሌዘር ቁረጥ አክሬሊክስ ($ 25 (@ oomlout)) ወይም (የራስዎን ደረጃ 3 ይገንቡ)
በላፕቶ laptop ላይ የሚቀመጥበትን ዴስክ ለመስጠት በ (SERB) ላይ የሚጣበቁ ጥቂት ተጨማሪ አክሬሊክስ ቁርጥራጮች።
ለውዝ እና ቦል ((በቤት መጋዘን ይገኛል)
- 3 ሚሜ x 10 ሚሜ መቀርቀሪያ (x4)
- 3 ሚሜ x 15 ሚሜ መቀርቀሪያ (x4)
- 3 ሚሜ ለውዝ (x8)
ደረጃ 2 - ቁርጥራጮችን እና ስብሰባን መቁረጥ
ለላፕቶፕ ዴስክዎ ቁርጥራጮችን ለማግኘት ሶስት አማራጮች አሉ። የመቁረጥ አማራጭ 1 ((ከ oomlout.com መግዛት)
ሌዘር የተቆረጠ የዴስክ ቁርጥራጮች እና አስፈላጊው ሃርድዌር ከ $ 25 ዶላር (እዚህ) ይገኛል
አማራጭ 2 ((በእራስዎ የሌዘር መቁረጫ ወይም Ponoko.com ላይ መቁረጥ)
- ከዚህ በታች ያለውን ፋይል ያውርዱ (03-WEBB-Acrylic Parts.cdr ወይም 03-WEBB-Acrylic Parts (Ponoko P2).eps)
- ከ 3 ሚሜ (1/8 ኢንች) አሲሪሊክ ይቁረጡ
አማራጭ 3 (ማሸብለል አይቷል)
- የማሸብለያውን ንድፍ ከዚህ በታች ያውርዱ (03-WEBB-ScrollSaw Pattern (A4).pdf (ለ A4 መጠን ወረቀት) ወይም 03-WEBB-ScrollSaw Pattern (ደብዳቤ).pdf (ለደብዳቤ መጠን ወረቀት))
- በሚታተምበት ጊዜ እንዳልተመጣጠነ ሁለቴ ያረጋግጡ (የታተሙትን ገዥዎች በመለካት)
- በ 3 ሚሜ (1/8 ኢንች) አክሬሊክስ ላይ ተጣብቆ ቁርጥራጮቹን ይቁረጡ።
መሰብሰብ-የስብሰባውን መመሪያ (04-WEBB-Assembly Guide.pdf) ከዚህ በታች ያውርዱ እና የጭን ኮምፒውተሩን ጠረጴዛ አንድ ላይ ያኑሩ።
ደረጃ 3 ሶፍትዌር - (አርዱinoኖ)
ለአርዱዲኖ አዲስ ለሆኑት በአርዱዲኖ ላይ ከሚሠራው ሶፍትዌር በመጀመሪያ በአርዱዲኖ.ሲሲ ላይ የመጀመሪያውን የማስጀመሪያ መመሪያን ይመልከቱ። እሱ በጣም ቀላል ፕሮግራም ነው ፣ አርዱinoኖ የሚያደርገው የሚያደርገውን ተከታታይ ወደብ ለመከታተል ነው። እሱ የሚፈልገው ውይይት 5 ባይት ርዝመት አለው።
- ባይት 1-3 (ባይት «AAA» ን ይመልከቱ)
- ባይት 4 ትዕዛዝ (አርዱinoኖ ምን ማድረግ እንዳለበት ይነግረዋል) (የሚደገፉ ትዕዛዞች ‹ኤፍ› - ወደፊት ፣ ‹ቢ› - ወደኋላ ፣ ‹ኤል› - ግራ ፣ ‹አር› - ቀኝ ፣ ‹ኤስ› - ፍጥነት ፣ ‹ኤክስ› - SetSpeedLeft ፣ 'Y' - SetSpeedRight ፣ 'C' - አቁም)
- ባይት 5 መለኪያ - ለመንቀሳቀስ ትዕዛዞች ይህ እንደ የጊዜ ክፍተት (Parameter * 100 ms) ይተረጎማል ፣ እና ለፍጥነት ከ 0-100 መቶኛ ያዛል።
ኮዱ በጥልቀት አስተያየት ተሰጥቶታል እና ይህን ማዕቀፍ የተሰጠው ተጨማሪ ትዕዛዞችን ማከል ቀላል መሆን አለበት።
- የተያያዘውን ዚፕ ፋይል ያውርዱ። (05-WEBB-Arduino Code.zip)
- ወደ Arduino Sketch ማውጫዎ ያላቅቁ። (ነባሪ: የእኔ ሰነዶች / Arduino)
- የአሩዲኖ ልማት አከባቢዎን ይክፈቱ እና ወደ አርዱinoኖ ይስቀሉ።
ለመቅዳት እና ለጥፍ
- ኮዱን ከታች ይቅዱ።
- ወደ አርዱዲኖ ልማት አከባቢ ይለጥፉ።
- ወደ የእርስዎ አርዱinoኖ ይስቀሉ።
አባሪ - የአርዱዲኖ ፕሮግራም
/ * * አርዱinoኖ ቁጥጥር የሚደረግበት ድር የተገናኘ ሮቦት (WEBB) - ተከታታይ አስተናጋጅ * ለተጨማሪ ዝርዝሮች ይጎብኙ https://www.oomlout.com/serb * * ባህሪ ፦ አርዱinoኖ በትዕዛዝ * በሴራ ወደብ ያዳምጣል * በ 254 ቅርጸት ፣ 88 ፣ 88 ፣ (ትዕዛዝ) ፣ (ጊዜ) * የሚደገፉ ትዕዛዞች - & aposF & apos - 70 - ወደፊት * & aposB & apos - 66 - ወደ ኋላ * & aposL & apos - 76 - ግራ * & aposR & apos - 82 - Right * & aposS & apos - 83 - Speed * & aposX & apos - 88 - SetSpeedL * & aposY & apos - 89 - SetSpeedRight * & aposC & apos - 67 - Stop * የሚደገፉ ጊዜዎች - 0 - 255 (ከ 0 እስከ 25.5 ሰከንድ) እሴት * 100 ሚሊሰከንዶች * sp * ሽቦ - ትክክለኛ Servo ሲግናል - ፒን 9 * የግራ Servo ምልክት - ፒን 10 * * ፈቃድ: ይህ ሥራ በ Creative Commons * Attribution-Share Alike 3.0 Unported License ስር ፈቃድ ተሰጥቶታል። የዚህን ፈቃድ ቅጂ ለማየት * https://creativecommons.org/licenses/by-sa/3.0/ * ን ይጎብኙ ወይም ለ Creative Commons ፣ 171 Second * Street ፣ Suite 300 ፣ ሳን ፍራንሲስኮ ፣ ካሊፎርኒያ 94105 ፣ * አሜሪካ። * */// ----------------------------------------------------- ---------------------------- // የአርዱኑኖ ሰርተሪ ፕሪመር ጅምር // ከእያንዳንዱ ትዕዛዝ ጋር የሚዛመዱ ቋሚዎችን መግለፅ (እንዲሁም የአሲዲ ኮድ ቁጥር))#ወደ ፊት 70 /// F#የኋላ ጀርባ 66 // ቢ#መግለፅ LEFT 76 // L#ፍቺ 82 /R#መግለፅ SETSPEED 83 // S#መግለፅ አቁም 67 // C#መግለፅ 88 /X #መግለፅ SETSPEEDRIGHT 89 // ያ/ *ሦስቱ የቼክ ባይት (ሮቦቱ በዘፈቀደ ተከታታይ *ውሂብ ላይ ምላሽ እንዳይሰጥ ለማድረግ ጥቅም ላይ ውሏል) በአሁኑ ጊዜ “AAA” */#ቼክ ፍቺByte1 65 // “ሀ”#ፍተሻ ቼክ ቢት 2 65 // “ሀ "#ጥራት ያለው ፍተሻByte3 65 //" ሀ "// -------------------------------------- ------------------------------------ // የአርዱኡኖ ቁጥጥር ሰርቨር ሮቦት (ሰርቨር) ቅድመ ዝግጅት#ጅምር#ያካትቱ #መግለፅ LEFTSERVOPIN 10 // የግራ ሰርቪው ፒን ተገናኝቷል#RIGHTSERVOPIN 9 ን ይግለጹ // የቀኝ servo ፒን ከ Servo leftServo ጋር ተገናኝቷል ፣ Servo rightServo; int leftSpeed = 50; // የሮቦቶችን ፍጥነት ይይዛል Servo // በ 0 እና 100int rightSpeed = 100 መካከል መቶኛ; // የሮቦቶቹን ፍጥነት ይይዛል Servo // በ 0 እና 100 መካከል መቶኛ/// የአርዲኡኖ ቁጥጥር ሰርቨር ሮቦት (SERB) PREAMBLE መጨረሻ // ------------------- -------------------------------------------------- ----- // ሁሉንም ነገር ያነሳል እና ከማቀናበር ይቆጠቡ () {Serial.begin (9600); // ተከታታይ ወደብ serbSetup () ይጀምራል; // የሁሉንም አስፈላጊ // ፒኖች ሁኔታ ያዘጋጃል እና በስዕሎችዎ ላይ ስቶሶዎችን ያክላል} // ዋናው ፕሮግራም loopvoid loop () {serbPollSerialPort (); // በተከታታይ ወደብ ይመለከታል // መረጃ ካለ እሱ ያስኬዳል} // ------------------------------ ----------------------------------------- // የአርዱኡኖ ሰርቨር ሰርቨርስ ሩጫዎች/ጅምር/ * * የአርዲኖ እና የአፖስ ተከታታይ ወደብ */ባዶ ባዶ serbPollSerialPort () {int dta; // ተለዋዋጭ (ተከታታይ) የሚገኝ ከሆነ (Serial.available ()> = 5) {// 5 ባይት በማጠራቀሚያው ውስጥ ከሆነ (ሙሉ ጥያቄ ርዝመት pf) dta = Serial.read (); ከሆነ (dta = checkByte1) {// የመጀመሪያ ቼክ ባይት dta = Serial.read (); ከሆነ (dta = checkByte2) {// ለሁለተኛ ቼክ ባይት dta = Serial.read (); ከሆነ (dta = checkByte3) {// ለሦስተኛ ቼክ ባይት int ትእዛዝ = Serial.read (); // አራተኛ ባይት ትዕዛዙ ነው int param1 = Serial.read (); // አምስተኛው ባይት param1 የትርጓሜ ትእዛዝ ነው (ትእዛዝ ፣ ፓራ 1); // የተተነተነውን ጥያቄ ወደ እሱ ይልካል & aposs handler}}}}} * * * * ትዕዛዙን እና ግቤቱን ወስዶ ወደ ሮቦት */ባዶ ባዶ ትርጓሜ ያስተላልፋል (ትዕዛዝ (int command, int param1) {if (command == FORWARD) {goForward (); መዘግየት (param1 * 100); goStop ();} // ወደ ፊት ከሆነ (ትእዛዝ == ጀርባው) {goBackward (); መዘግየት (param1 * 100); goStop ();} // ወደኋላ ከሆነ (ትእዛዝ == LEFT) {goLeft (); መዘግየት (param1 * 100); goStop ();} // ከተተወ (ትእዛዝ == RIGHT) {goRight (); መዘግየት (param1 * 100); goStop ();} // ትክክል ከሆነ (ትዕዛዝ == SETSPEED) {setSpeed (param1);} // ቅንብር ፍጥነት ሌላ ከሆነ (ትዕዛዝ == አቁም) {goStop ();} // ሌላ ካቆመ (ትዕዛዝ == SETSPEEDLEFT) {setSpeedLeft (param1) ፤} // የግራ ፍጥነትን ሌላ ካዋቀረ (ትእዛዝ == SETSPEEDRIGHT) {setSpeedRight (param1) ፤} // ትክክለኛውን ፍጥነት ካቀናበረ ሌላ {// ያልታወቀ ትዕዛዝ ትንሽ ሽሚያ ቢያደርግ goLeft (); መዘግየት (150); goRight (); መዘግየት (150); goStop (); }} // ---------------------------------------------- -------------------------- // የ ARDUINO ቁጥጥር የተደረገባቸው ሰርቪስ ሮቦት (SERB) ROUTINES/ * * ጀምር የእርስዎን አርዲኢኖ በመጠቀም የእርስዎን አገልግሎት በመጠቀም አድራሻዎን ያዘጋጃል የተካተቱት የዕለት ተዕለት ተግባራት*/ባዶነት serbSetup () {setSpeed (leftSpeed); pinMode (LEFTSERVOPIN ፣ ውፅዓት); // የግራ servo ምልክት ፒን // ወደ ውፅዓት ፒን ሞዶ (RIGHTSERVOPIN ፣ OUTPUT) ያዘጋጃል ፤ // ትክክለኛውን servo ሲግናል ፒን // ወደ ውፅዓት leftServo.attach (LEFTSERVOPIN) ያዘጋጃል ፤ // የግራ servo rightServo.attach (RIGHTSERVOPIN) ያያይዛል ፤ // ትክክለኛውን servo goStop () ያያይዛል ፤}/ * * የሮቦቱን ፍጥነት በ 0- (ቆሟል) እና 100- (ሙሉ ፍጥነት) መካከል ያዘጋጃል * ማሳሰቢያ-ፍጥነት የአሁኑን ፍጥነት አይቀይረውም እርስዎ ፍጥነትን መቀየር አለብዎት * ከዚያም አንዱን ይደውሉ ለውጦች ከመከሰታቸው በፊት የመሄጃ ዘዴዎች።*/ void setSpeed (int newSpeed) {setSpeedLeft (newSpeed); // ያዘጋጃል የግራ ፍጥነት ስብስብSpeedRight (newSpeed); // ትክክለኛውን ፍጥነት ያዘጋጃል}/ * * የግራ ጎማውን ፍጥነት ያዘጋጃል */ባዶ ባዶ setSpeedLeft (int newSpeed) {ከሆነ (newSpeed> = 100) {newSpeed = 100;} // ፍጥነቱ ከ 100 // በላይ ከሆነ/ያድርጉት 100 ከሆነ (newSpeed = 100) {newSpeed = 100;} // ፍጥነት ከ 100 // በላይ ከሆነ (newSpeed <= 0) {newSpeed = 0;} // ፍጥነቱ ከ 0 ያነሰ ከሆነ // it 0 rightSpeed = newSpeed * 0.9; // የመሆን ፍጥነቱን ያሰፋል}/ * * ሮቦቱን ወደ ፊት */void goForward () {leftServo.write (90 + leftSpeed) ይልካል ፤ rightServo.write (90 - rightSpeed);} / * * ሮቦቱን ወደ ኋላ * /ባዶ ባዶ goBackward () {leftServo.write (90 - leftSpeed) ይልካል ፤ rightServo.write (90 + rightSpeed) ፤} / * * ሮቦቱን ወደ ቀኝ * /ባዶ ባዶ goRight () {leftServo.write (90 + leftSpeed) ይልካል ፤ rightServo.write (90 + rightSpeed);}/ * * ሮቦቱን ወደ ግራ */ባዶ ባዶ goLeft () {leftServo.write (90 - leftSpeed) ይልካል ፤ rightServo.write (90 - rightSpeed);}/ * * ሮቦቱን ያቆማል */void goStop () {leftServo.write (90); rightServo.write (90);} // የአርዱኡኖ ቁጥጥር ሰርቨር ሮቦት (ሰርቨር) ሩቶች መጨረሻ/// ---------------------------- ----------------------------------------------
ደረጃ 4 - ሶፍትዌር - ሮቦት ላፕቶፕ (ዌብ ሰርቨር)
(ማቀነባበር ለመጀመር በጣም ቀላል የሆነ ክፍት ምንጭ የፕሮግራም ቋንቋ እና አከባቢ ነው። ለተጨማሪ ዝርዝሮች ሂደትን ይጎብኙ) በሮቦት ላፕቶፕ ላይ የሚሠራው ሶፍትዌር እንዲሁ በጣም ቀላል ነው። እሱ ቀልጣፋ ድር-አገልጋይ (ከድር አሳሽ የድረ-ገጽ ጥያቄዎችን ማዳመጥ) ፣ ትንሽ የተጠቃሚ በይነገጽ (ለማዋቀር) እና ከድር አገልጋዩ ወደ አርዱinoኖ የተቀበሉትን ትዕዛዞች ለማስተላለፍ መገልገያዎች ነው። በፍጥነት ለመጫን (በመስኮቶች ላይ)
- የዚፕ ፋይሉን ከዚህ በታች ያውርዱ (06-WEBB-Processing Webserver (windows exe).zip)
- ይንቀሉት እና የ.exe ፋይልን (_WEBB_WebServer_RobotComputer.exe) ያሂዱ
በሂደት ላይ ለማርትዕ ፦
- የዚፕ ፋይሉን ከዚህ በታች ያውርዱ (06-WEBB-Processing Webserver (የምንጭ ፋይሎች).zip)
- በኮምፒተርዎ ላይ በማንኛውም ቦታ ይንቀሉ።
- የሂደቱን አከባቢ ይክፈቱ እና ይክፈቱ (_WEBB_WebServer_RobotComputer.pde)
ለመፈተን:
- ፕሮግራሙን ያሂዱ።
- በሳጥን ቁጥር 1 በኮምፒተርዎ ላይ የሚገኙ የኮም ወደቦች ዝርዝር ይኖራል (አርዱዲኖ በተገናኘበት ላይ ጠቅ ያድርጉ። (ኮምፒተርዎ ሲገናኝ ሮቦትዎ ጥቂት ጊዜ ይንቀጠቀጣል ፣ እና ከተመረጠው ጎን አንድ የሳይን ነጥብ ይታያል። ኮም ወደብ)
- የእርስዎ አርዱinoኖ የተገናኘ መሆኑን ለማየት በሳጥን ቁጥር 2 ሙከራ ውስጥ። አንዱን ቀስቶች ጠቅ ያድርጉ እና ሮቦትዎ በተጫነው አቅጣጫ ለግማሽ ሰከንድ እንደሚንቀሳቀስ ተስፋ እናደርጋለን።
- በሳጥን #3 ውስጥ የድር አገልጋዩን ለመጀመር የ “ጀምር” ቁልፍን ጠቅ ያድርጉ።
- የድር አሳሽ ይክፈቱ (በሮቦት ላፕቶፕ ላይ) እና https://127.0.0.1:12345/ControlPage.html ን ይጎብኙ (በእሱ ላይ አዝራሮች ያሉት የቁጥጥር ድር ገጽ ይታያል ብለን ተስፋ እናደርጋለን) -በሚቀጥለው ገጽ ይህንን ገጽ እንዴት እንደሚጠቀሙበት ዝርዝሮች -
ምን እየተፈጠረ ነው:
- የድር አገልጋዩ ለ http ጥያቄዎች ወደብ 12345 ያዳምጣል (የድር ገጽ አድራሻ ሲያስገቡ የሚላከው)
- እሱ የሚመልሰው ሁለት ዓይነት ጥያቄዎች አሉ።
1. እሱ “ControlPage.html” ን ያዳምጣል እና የቁጥጥር ድረ -ገጹን ይልካል 2. የቅጹን ጥያቄዎች ያዳምጣል”/ጥያቄ? ትእዛዝ = F & param1 = 100” (እነዚህ ትዕዛዞች ተንትነው ወደ አርዱinoኖ ይላካሉ (ይህ ምሳሌ ያስከትላል ለ 10 ሰከንዶች ወደፊት በሚሄድ ሮቦት ውስጥ) አባሪ ((ለድር አገልጋዩ ኮድ)
/ * * አርዱinoኖ ቁጥጥር የሚደረግበት ድር የተገናኘ ሮቦት (WEBB) - ዌብሳይቨር * ለተጨማሪ ዝርዝሮች ይጎብኙ https://www.oomlout.com/serb * * ባህሪ - ፕሮግራሙ በቅጽ ውስጥ የ http (ድረ -ገጽ) ጥያቄዎችን ያዳምጣል *”/ጥያቄ ? command = F & param1 = 100 "እና ከዚያ ወደ * አርዱinoኖ * የሚደገፉ ትዕዛዞች - & aposF & apos - 70 - ወደፊት * & aposB & apos - 66 - ወደ ኋላ * & aposL & apos - 76 - ግራ * & aposR & apos - 82 - Right * & aposS & apos - 83 - Speed * & aposX & aposX - 88 - SetSpeedLeft * & aposY & apos - 89 - SetSpeedRight * & aposC & apos - 67 - Stop * param1 & aposs - 0 - 255 (ከ 0 እስከ 25.5 ሰከንዶች) እሴት * 100 ሚሊሰከንዶች * * እንዲሁም ControlPage.html * * ን ከጠየቁ የቁጥጥር ድረ -ገጹን ለአሳሹ ያገለግላል። ክዋኔ - 1. አርዱኢኖዎ ከ * 2. የተገናኘውን Comm Comm port ላይ ጠቅ ያድርጉ። አርዱinoኖ እያዳመጠ መሆኑን ለማየት የሙከራ ቁልፎቹን ይጠቀሙ * (ለግማሽ ሰከንድ ጠቅ በተደረገው አቅጣጫ ይንቀሳቀሳል) * 3. ጀምርን ጠቅ ያድርጉ እና የድር አገልጋይዎ ያደርጋል ለጥያቄዎች ማዳመጥ * * * ፈቃድ ይህ ሥራ በ Creative Commons * Attribu ስር ፈቃድ ተሰጥቶታል tion-Share Alike 3.0 ያልታወቀ ፈቃድ። የዚህን ፈቃድ ቅጂ ለማየት * https://creativecommons.org/licenses/by-sa/3.0/ * ን ይጎብኙ ወይም ለ Creative Commons ፣ 171 Second * Street ፣ Suite 300 ፣ ሳን ፍራንሲስኮ ፣ ካሊፎርኒያ 94105 ፣ * አሜሪካ። * */የማስመጣት ሂደት. // ተከታታይን (ከአርዱዲኖ ጋር ለመነጋገር) የማስመጣት ፕሮሰስን.net ን ለመጠቀም ተከታታይ ቤተመጽሐፍት ያስመጡ።*; // አገልጋዩን ለመጠቀም (ከበይነመረቡ ጋር ለመነጋገር)/ * ተከታታይ ወደብ ተዛማጅ ተለዋዋጮች */int serialPortIndex = -1; // እኛ በ Serial.list () listString commOptions ውስጥ የምንጠቀምበት ተከታታይ ወደብ መረጃ ጠቋሚ; // Serial.list () ን ለማከማቸት ተለዋዋጭ ስለዚህ እኛ እሱን ለማክበር በፈለግን ቁጥር/ተከታታይ ወደቦችን/የምርጫ ጣቢያዎችን/የምርጫ ጣቢያዎችን ማቃለል አያስፈልግም (የምርጫ ጣቢያው በአርዱዲኖ ሰርቮስ ውስጥ መዝለልን ያስከትላል) ተከታታይ serialPort; // በዚህ ረቂቅ/ * ግራፊክ እና አገናኝ ተዛማጅ ተለዋዋጮች */PFont ቅርጸ -ቁምፊ ውስጥ ተከታታይ ወደቡን አድራሻ የሚሰጥ ያደርገዋል። // ቅርጸ-ቁምፊን ይፋ ያደርገዋል ስለዚህ አንድ ጊዜ ብቻ መጫን ያስፈልገዋል (Arial-72)/ * Network related Variables */Server wServer; // የድር ጥያቄን ወደብ የሚያስተናግድ አገልጋይ = 12345; // አገልጋዩ የቶንት ዑደት ቆጠራ = 0; // የስዕሉ loop የሚፈፀሙበትን ጊዜ ብዛት ይቆጥራል (“የ” ሩጫውን ጽሑፍ // ለማነቃቃት ያገለገለ)/ * መገልገያ ተለዋዋጮች */PImage bg ፤ // የበስተጀርባ ምስል በአሁኑ ጊዜ / WEBB-background.png/ * * አዝራር ተዛማጅ ተለዋዋጮች * (አዝራሮች በጣም በግምት ይተገበራሉ ፣ የታሰሩ ሳጥኖች ተከማችተዋል እና ግራፊክ እና ጽሑፍ * ከበስተጀርባ ምስል ላይ ተቀርፀዋል) ማለትም። የሚንቀሳቀስ አዝራር ተለዋዋጮች የአዝራሮች */የአዝራር comm1 ን ገጽታ አይያንቀሳቅሱም። አዝራር comm2; አዝራር comm3; አዝራር comm4; // ትክክለኛውን ተከታታይ ወደብ ለመምረጥ ቁልፎቹ አዝራሩን ወደ ላይ; አዝራር ትክክል; አዝራር ቀርቷል ፤ አዝራር ወደ ታች; // ሮቦቱ ምላሽ እየሰጠ መሆኑን ለመፈተሽ የአቅጣጫ ቁልፎች አዝራር የድር አገልጋይ // የድር አገልጋዩን/ * * ለመጀመር ቁልፉ ማንኛውንም ነገር */ባዶ ባዶ ማዋቀር () {frameRate (5) ያዘጋጃል ፤ // በስርዓቱ bg = loadImage (“WEBB-background.png”) ላይ እንደ ግብር እንዳይሆን ንድፉን ትንሽ ወደ ታች ያዘገየዋል ፤ // የበስተጀርባውን ምስል (በስዕል አቃፊው ውስጥ የተከማቸ) መጠን (700 ፣ 400) ይጭናል ፤ // የስዕል መስኮት ቅርጸ ቁምፊ = loadFont («ArialMT-72.vlw») መጠን ያዘጋጃል ፤ // በዚህ ንድፍ commoptions = Serial.list () በኩል የምንጠቀምበትን ቅርጸ -ቁምፊ ይጭናል። // ተከታታይ ወደቦችን ይመርጣል እና የሚገኙትን ወደቦች ዝርዝር ያገኛል // (ይህንን ማድረግ አንድ ጊዜ ብቻ ሮቦቱን እንዳያንቀጠቅጥ እና አፖስ // ተከታታይ ወደብ ሲመረመር) ቁልፎችን (); // ለእያንዳንዱ የአዝራር ዳራ (bg) የድንበር ሳጥኖችን ይገልፃል ፤ // የበስተጀርባውን ምስል ይቀባል (ይህ ምስል በላዩ ላይ ሁሉም የአዝራር ግራፊክስ አለው)}/ * ንድፎቹ ዋና ዑደት */ባዶ ባዶ () (ከሆነ (cycleCount == 0) {//- የጥሪ ስዕል አሰራሮች drawCommBox (); // በ Comm ሣጥን (ሳጥኑ 1) drawTestBox () ውስጥ ኢሜሎቹን ይሳሉ። // በሙከራ ሳጥኑ ውስጥ ያሉትን ሁሉንም ንጥረ ነገሮች ይሳሉ (ሳጥን 2) drawWebServerBox (); // በዌብ ሰርቨር ሣጥን ውስጥ ያሉትን ሁሉንም ንጥረ ነገሮች (ሣጥን 3)} // ይደውሉ- የሥራ አሠራሮችን ይደውሉ pollWebServer (); // ማንኛውም ጥያቄዎች በአውታረ መረቡ በኩል መግባታቸውን ለማየት የድር አገልጋዩን ድምጽ ይስጡ} // ------------------------------ ---------------------------------------------- // ጅማሬ በኮምፒተር ሳጥን (ንጥል 1) */ባዶ ባዶ ኮምሞቦክስ () {ሙላ (0 ፣ 0 ፣ 0) ውስጥ የዕቃ ማዘመኛ አዘውትሮ (ለማንበብ ኮዱን ይበልጥ ቆንጆ ለማድረግ ብቻ ይከፋፈላል)/ * * የስዕሉ ዝመና መደበኛ (እያንዳንዱ ዑደት ተከናውኗል)።; // መሙላቱን ወደ ጥቁር ጽሑፍ ያዘጋጁ (ቅርጸ -ቁምፊ ፣ 15); // ለ (int i = 0; i 0) {run = running + ".»;} // የነጥቦች ብዛት በ ዑደት ቁጥር ላይ የተመሠረተ ከሆነ ((ዑደት ቁጥር /1)> 1) { እየሮጠ = ሩጫ + ", 210); } ዑደት ቁጥር ++; // በዑደት በሄደ ቁጥር ቁጥሩ በአንድ ይጨምራል/// የስዕል ልምዶች መጨረሻ // ------------------------------- ------------------------------ // ------------------ ------------------------------------------- // የአገልግሎት ልምዶች መጀመሪያ/ አይጤ በተጫነ ቁጥር * * አይጤፕሬስ ይባላል። updateSerialPort (0);} // በ Serial.list () ውስጥ ጠቋሚ 0 ላይ በኮም ወደብ ላይ የሚደረጉ ለውጦች (comm2.pressed ()) {updateSerialPort (1) ፤} // በተከታታይ ማውጫ 1 ላይ በኮም ወደብ ላይ የተደረጉ ለውጦች ዝርዝር;} // በ Serial.list () ሌላ (በመደመር (በመጫን)) {sendRobotCommand (“F” ፣ 5) ከሆነ) በኮም ወደብ ላይ ለውጦች 3) ፣ // // ሮቦቱን ወደ 0.5 ለማዘዋወር ትእዛዝ ይልካል ሌላ ሰከንዶች ከሆነ (ግራ። ተጭኗል ()) {sendRobotCommand (“L” ፣ 5) ፤} / /(በቀኝ. ተጭኖ ()) {sendRobotCommand ("R", 5) ከሆነ;) // ሮቦቱን በቀኝ ለ 0.5 ሰከንዶች (ወደ ታች ከሆነ) ለማዘዋወር ትእዛዝ ይልካል። ተጭኗል ()) {sendRobotCommand (“ለ” ፣ 5) ፤} // ሮቦቱን ወደ ሌላ 0.5 ሴኮንድ ወደ ኋላ ለማዘዋወር ትእዛዝ ይልካል (webServer.pressed ()) {startWebServer () ፤} // የዌብ ሰርቨር ኡደት ቁጥር = ይጀምራል 0; ዳራ (bg); // የበስተጀርባውን ምስል ያስተካክላል (ይህ ምስል በላዩ ላይ ሁሉም የአዝራር ግራፊክስ አለው) ይሳሉ ();}/ * * አንድ ጊዜ ሲፈጽም አገልጋዩን የሚጠብቅ ማንኛውም የመጠባበቂያ ግንኙነቶች ካሉ * የሚጠብቅ ግንኙነት ካለ ይጎትታል። ተጨማሪ ጽሑፍን ለማውጣት ጥያቄውን አውጥቶ ለ parseRequest (String) * የዕለት ተዕለት ተግባር ያስተላልፋል። ይህ ተገቢውን የድርጊት መርሃ ግብር ለመጥራት (ማለትም መመሪያዎችን ወደ ሮቦት ለመላክ) ወደ የትርጓሜ ጥያቄ (ሕብረቁምፊ) የዕለት ተዕለት ተግባር ይላካል።* * የኮምፒውተሮችን አድራሻ እና ወደብ በድር አሳሽ ውስጥ በማስገባት አንድ ጥያቄ ይተላለፋል * ለአካባቢያዊ ማሽን “https://127.0.0.1:12345/request?command=F¶m1=100” * * ምሳሌ ጥያቄ * * ያግኙ/ይጠይቁ? command = F & param1 = 100 HTTP/1.1 * ተጠቃሚ-ወኪል: ሞዚላ/5.0 (ዊንዶውስ ፣ ዩ ፣ ዊንዶውስ NT 5.1 ፣ en-US) AppleWebKit/525.19 (ኬኤችቲኤም ፣ ልክ እንደ ጌኮ) * ተቀበል ፦ * // * * ተቀበል-ቋንቋ en-US ፣ en * Accept-Charset: ISO-8859-1 ፣ * ፣ utf-8 * Accept-Encoding: gzip ፣ deflate ፣ bzip2 * አስተናጋጅ: 127.0.0.1:12345 * ግንኙነት ፦ ያኑሩ * * ምሳሌ መልስ (ለሂደት ጥያቄ) * ኤችቲቲፒ/1.1 200 እሺ * ግንኙነት ፦ ዝጋ * የይዘት ዓይነት-ጽሑፍ/html * * ትዕዛዝ-F param1: 100 */ባዶ ባዶ ምርጫ ድር አገልጋይ () {ከሆነ (wServer! = ባዶ) {// የድር አገልጋዩ ከሆነ የደንበኛ ጥያቄን = wServer.available () እያሄደ ነው ፤ // የሚቀጥለውን ደንበኛ በ/አገልጋዩ ውስጥ በመስመር ላይ ይጫኑ (ጥያቄ ካልጠየቀ ባዶ ነው) ከሆነ (ጥያቄ! = ባዶ) {// የጥያቄ ሂደት ካለ ሕብረቁምፊ fullRequest = request.readString (); // የመደብር ጥያቄ ይዘቶችን እንደ ሕብረቁምፊ String ip = request.ip (); // የደንበኞቹን ip አድራሻ እንደ ሕብረቁምፊ ያከማቹ ሕብረቁምፊ ጥያቄString = parseRequest (fullRequest.toUpperCase ()); // የጥያቄ ሕብረቁምፊን (ከ GET በኋላ ጽሑፍን) ብቻ ይተዉት/ሁሉንም (// ሕብረቁምፊ ሙከራን ቀላል ለማድረግ ወደ ከፍተኛው ክፍል ይቀይራል) ከሆነ (requestString.indexOf (“ጥያቄ?”)! = -1) { // ጥያቄው “ጥያቄ?” ካለው ይፈትሻል። ሕብረቁምፊ መልስ = የትርጓሜ ጥያቄ (requestString); // ጥያቄውን ወደ ጥያቄው አስተርጓሚ ጥያቄ ይልካል። ይፃፉ ("ኤችቲቲፒ/1.1 200 እሺ / n ግንኙነት: ዝጋ / n ይዘት-ዓይነት: ጽሑፍ/html / n / n" + መልስ); // ጥያቄው ተይ //ል/ተይዞለታል እና የ "መልስ" ሕብረቁምፊ እንደ መልስ wServer.disconnect (ጥያቄ) በማለት መልሱን 200 ይልካል ፤ // ደንበኛውን ያቋርጣል} ሌላ ከሆነ (requestString.indexOf ("CONTROLPAGE")! = -1) {// ጥያቄው ለቁጥጥር ድር ገጽ ከሆነ ሕብረቁምፊ webPageArray = loadStrings ("WEBB -ControlPage.html"); // የቁጥጥር ድር ገጹን ከ / data / WEBB-ControlPage.html // (እንደ መስመሮች ድርድር የተጫነ) ድርጣቢያ ድር = ""; // አርትዖትን ለማቃለል ድረ -ገጹ በ // የመስመር እረፍቶች ቀርቷል ፣ ስለዚህ ይህ ለሉፕ እነዚያን መስመሮች (int i = 0; i portIndex) ያሰናክላል {// ያለፈው ወደብ ኢንዴክስ በ Serial.list ውስጥ ትክክለኛ መረጃ ጠቋሚ ከሆነ () // (ማለትም በሁለት ዝርዝር ውስጥ አማራጭ ሶስት አይደለም) serialPortIndex = portIndex; // የ serialPortIndex ተለዋዋጭን ወደ አዲሱ serialport መረጃ ጠቋሚ // ያዋቅሩ // (ይህ ከገቢር ወደብ አጠገብ ያለውን ነጥብ ለማሳየት)} (serialPortIndex! = -1) {// አንድ ወደብ ቀደም ብሎ ከተመረጠ ያረጋግጡ። (serialport) // ከ Arduino 9600 Baud} ጋር ለመገናኘት አዲስ ተከታታይ ነገር ይፍጠሩ}/ * * የጥያቄ ሕብረቁምፊ ይወስዳል (ለምሳሌ ፦ “ጥያቄ? ትእዛዝ = F & param1 = 100”) እና ትዕዛዙን * እና param1 ን ያወጣል እና ለ አርዱዲኖ (ተጨማሪ ልኬቶችን ወይም የአርዱዲኖ ትዕዛዞችን ማከል እዚህ ይደረጋል) */ሕብረቁምፊ interpreRequest (String requestString) {String returnValue = "OK"; // የመመለሻ እሴት ተለዋዋጭ ሕብረቁምፊ ትእዛዝ ያዘጋጃል ፤ // ቀጣዮቹ ሶስት መስመሮች እሴቱን ከ “ትእዛዝ =” // በኋላ ያወጡታል (የትእዛዝ መለኪያው በጥያቄው // መጨረሻ ላይ ከሆነ እና አንድ እና ካልሆነ (requestString.indexOf (“COMMAND =”)))! = -1) {command = requestString.substring (requestString.indexOf ("COMMAND =") + "COMMAND =". ርዝመት ());} ሌላ {command = "Z";} ከሆነ (command.indexOf (" & ")! = -1) {command = command.substring (0, command.indexOf (" & "));} ሌላ {command = command;} string param1String; // ቀጥሎ ያሉት ሶስት መስመሮች ዋጋውን ከ param1 = በኋላ ያወጡታል "// (ተጨማሪው መስመር የትእዛዝ መለኪያው በጥያቄው መጨረሻ // ላይ ከሆነ እና አንድ እና ካልተከተለ (requestString.indexOf (" PARAM1 = ")! = -1) {param1String = requestString.substring (requestString.indexOf ("PARAM1 =") + "PARAM1 =". ርዝመት ());} ሌላ {param1String = "0";} ከሆነ (param1String.indexOf ("&")! = -1) {param1String = param1String. Sububstring (0, param1String.indexOf ("&"));} ሌላ {param1String = param1String;} int param1 = Integer.parseInt (param1String); // param1 String ን ወደ ኢንቲጀር sendRobotCommand (ትዕዛዝ ፣ param1); // ትዕዛዙን ወደ አርዱinoኖ መመለሻ እሴት = “ትዕዛዝ” + ትዕዛዝ +”param1:” + param1; // በአሁኑ ጊዜ የተተነተነ ትዕዛዙ ብቻ ነው ፣ ግን ቅርጸት መመለስን እሴት ለማካተት እንዲቻል // እንደ html መላክ ፤}/ * * ትዕዛዝ (በአሁኑ ጊዜ አንድ ፊደል) እና ግቤት (አንድ ባይት 0-255) ወስዶ ወደ እሱ ይልካል። አርዱinoኖ * የሚያዳምጥ እና የሚያረካ * በአሁኑ ጊዜ የሚደገፉ ትዕዛዞች * F - */ባዶ ባዶ sendRobotCommand (የስትሪንግ ትእዛዝ ፣ int param1) {println (“ትእዛዝ:” + ትእዛዝ + “ጊዜ:” + param1) ፤ ሕብረቁምፊ checkString = "AAA"; ከሆነ (serialPort! = ባዶ) {serialPort.write (checkString + command) ፤ serialPort.write (ባይት (param1)); }} // የማዋቀር መጨረሻ/በጣም በተለምዶ የዕለት ተዕለት ተብሎ አይጠራም // ----------------------------------- -------------------------------------------------- // ምሳሌ አዝራር እና የ “RectButton” ኮድ ከ processing.org ምሳሌ በአንዳንድ ለውጦች // በአኒሜሽን ላይ ጥቅልን ለማቅለል እና ለማስወገድ የተደረገው // https://processing.org/learning/topics/buttons.html (2008-09-23) የክፍል አዝራር {int x, y; int ስፋት ፣ ቁመት; አዝራር (int ix ፣ int iy ፣ int iwidth ፣ int iheight) {x = ix; y = iy; ስፋት = iwidth; ቁመት = iheight; } ቡሊያን ተጭኗል () (ከሆነ (overRect ()) {እውነት ይመለሱ ፤ } ሌላ {የሐሰት መመለስ ፤}} የቦሊያን overRect () {ከሆነ (mouseX> = x && mouseX = y && mouseY <= y+ቁመት) {እውነት ይመለሱ ፤ } ሌላ {ሐሰት መመለስ ፤ }}}
ደረጃ 5 - ሶፍትዌር - (ድረ -ገጽ)
ደህና ፣ እኛ ከሮቦትዎ ጋር መነጋገር ብቻ የቀረውን ጨርሰናል። ማውራት ለማግኘት (በአካባቢያዊ አውታረ መረብ -በመስኮቶች ላይ)
- የላፕቶፕ ኮምፒተርን አካባቢያዊ አይፒ አድራሻ ያግኙ። ይህንን ለማድረግ ወደ “ጀምር / ፕሮግራሞች / አክሲዮኖች / ትዕዛዝ ፈጣን” ይሂዱ እና የተርሚናል መስኮት ሲከፈት “ipconfig” ይተይቡ። “አይፒ አድራሻ” ይፃፉ እና በአከባቢዎ አውታረ መረብ ላይ ወደ ሌላ ኮምፒተር ይሂዱ።
- የድር አሳሽ ይክፈቱ ፣ “https:// (ሮቦት ኮምፒተር አይፒ): 12345/ControlPage.html” ብለው ይተይቡ
- የመቆጣጠሪያው ድረ -ገጽ መጫን አለበት ፣ በ “አይፒ አድራሻ” ሳጥን ውስጥ የሮቦት ኮምፒተሮችን አይፒ ይተይቡ።
- ሮቦትዎን መቆጣጠር ይጀምሩ።
ማውራት ለማግኘት (በበይነመረብ በኩል) አሁን በአከባቢው እየሠራ በበይነመረብ ላይ እንዲናገር ማድረግ ጥቂት አጭር ደረጃዎች ብቻ ይቀራሉ።
- (በጣም አስቸጋሪው ደረጃ) ወደብ ማስተላለፍን ያዋቅሩ - ኮምፒተርዎ ከአከባቢው አውታረ መረብ ይልቅ በይነመረቡን ማዳመጥ አለበት። ይህንን ለማድረግ የተወሰኑ ጥያቄዎችን ሮቦቱን ወደሚቆጣጠረው ኮምፒተር እንዲያስተላልፍ ለራውተርዎ መንገር አለብዎት። ይህ ትንሽ የተወሳሰበ እና ከዚህ አስተማሪ ወሰን እጅግ የራቀ ነው። ሆኖም Portforward.com ን ከጎበኙ ራውተርዎን ስለማዋቀር ማወቅ ያለብዎትን ሁሉ ይሰጡዎታል (ወደብ 12345 ወደ ሮቦት ላፕቶፕዎ ማስተላለፍ ያስፈልግዎታል)
- በመቀጠል የበይነመረብዎን አይፒ ያግኙ (WhatIsMyIP.com ን ይጎብኙ)
- በመጨረሻም የቪዲዮ ጥሪን በስካይፕ ያዋቅሩ እና የሚያነጋግሩትን ሰው https:// (internet IP): 12345/ControlPage.html ን እንዲጎበኙ ያድርጉ
- በመቆጣጠሪያ ድረ -ገጹ ውስጥ ባለው “አይፒ አድራሻ” ሳጥን ውስጥ የበይነመረብ አይፒን ይተይቡ እና የእርስዎ ድር የተገናኘ ሮቦት ከሩቅ እየተነዳ ነው።
ደረጃ 6: ተጠናቅቋል
በቃ ያ ነው። ሮቦትዎን ከሩቅ በማሽከርከር አስደሳች ጊዜ እንደሚያሳልፉ ተስፋ አደርጋለሁ። በሶፍትዌሩ ወይም በሃርድዌር ላይ ማንኛውም ችግር ካለዎት አስተያየት ለመተው ነፃነት ይሰማዎት እና እሞክራለሁ እና እረዳዎታለሁ። የበለጠ ንጹህ ፕሮጀክቶችን ለመጎብኘት ከፈለጉ oomlout.com
የሚመከር:
ከ 80 ዶላር በታች የእራስዎን ዘመናዊ መስታወት ይስሩ - Raspberry Pi ን በመጠቀም 6 ደረጃዎች (ከስዕሎች ጋር)
ከ 80 ዶላር በታች የእራስዎን ዘመናዊ መስታወት ይስሩ - Raspberry Pi ን መጠቀም - በዚህ ፕሮጀክት ውስጥ ጠዋት ሲዘጋጁ ጠቃሚ መረጃን የሚያሳይዎ ዘመናዊ መስታወት እንገነባለን። ለአብዛኞቹ ሰዎች በተመጣጣኝ ዋጋ ተመጣጣኝ እንዲሆን ይህ ሁሉ ከ $ 80 በታች መሆን አለበት። ይህ መመሪያ ብቻ ያስተምርዎታል
ከድር ጋር የተገናኘ SMART LED እነማ ሰዓት በድር ላይ የተመሠረተ የቁጥጥር ፓነል ፣ የጊዜ አገልጋይ ተመሳስሏል 11 ደረጃዎች (ከስዕሎች ጋር)
ከድር ጋር የተገናኘ SMART LED እነማ ሰዓት በድር ላይ የተመሠረተ የቁጥጥር ፓነል ፣ የጊዜ አገልጋይ ተመሳስሏል-የዚህ ሰዓት ታሪክ ወደ ኋላ ይመለሳል-ከ 30 ዓመታት በላይ። አባቴ ይህንን ሀሳብ በአቅeeነት ያገለገለው ገና የ 10 ዓመት ልጅ ሳለሁ ፣ ከ LED አብዮት በፊት - ወደ LED መቼ 1/1000 የአሁኑ ዓይነ ስውር ብሩህነት ብሩህነት ነው። እውነተኛ
በዓመት እስከ 20 ዶላር ያህል ድር ጣቢያ ይገንቡ!: 8 ደረጃዎች
በዓመት ለ 20 ዶላር ያህል ድር ጣቢያ ይገንቡ !: በዚህ አስተማሪ ውስጥ ፣ በጣም ዝቅተኛ ዋጋ ላለው ታላቅ ድር ጣቢያ ለመፍጠር ማወቅ ያለብዎትን ሁሉ እሸፍናለሁ! አንዳንድ ስራዎቼን ለመመልከት ከፈለጉ ወደ ላይ ይሂዱ-Webshawty.com የሚፈልጓቸው ሁለት ነገሮች--የበይነመረብ መዳረሻ-አዲስ ኮምፕ
የእራስዎን ጥሩ ስሜት ያለው EeePC / Netbook ኪስ ለ 8 ዶላር ያህል ያድርጉ (እና ከሬድማሎ ከመግዛት ይልቅ $ 91 ን ያስቀምጡ) 5 ደረጃዎች (ከስዕሎች ጋር)
የእራስዎን ጥሩ ስሜት ያለው EeePC / Netbook ኪስ ለ 8 ዶላር ያህል ያድርጉ (እና ከሬድማሎ ከመግዛት ይልቅ $ 91 ን ይቆጥቡ) - ይህ አስተማሪ የራስዎን እንዴት እንደሚሠሩ ፣ በጣም ጥሩ እና ጥሩ የሚመስል ላፕቶፕ ወይም እንዲያውም የተሻለ የኔትቡክ ቦርሳ ያሳያል። እሱ ኔትቡክዎን ያከማቻል ፣ የመዳፊት ሰሌዳ ፣ ልዩ ፣ ጥሩ እና በእጅ የተሰራ ነገር የመጠቀም ስሜትን እና የጎስ ስሜትን ይሰጥዎታል
ርካሽ ከድር ጋር የተገናኘ ቴርሞስታት 12 ደረጃዎች (ከስዕሎች ጋር)
ርካሽ ከድር ጋር የተገናኘ ቴርሞስታት-በብዙ ቤተሰቦች ውስጥ የገቡት የመጀመሪያው የነገሮች ምርቶች አንዱ ብልጥ ቴርሞስታት ነው። እነሱ እንዲሞቁ ቤትዎን ሲወዱ እና ምን የክፍል ሙቀት አብዛኛውን ጊዜ እንደሚፈለግ መማር ይችላሉ። በጣም አሪፍ ነገር እነሱ እንዲሁ ይችላሉ