ዝርዝር ሁኔታ:
ቪዲዮ: Servodriver- ቦርድ ከ Python-GUI እና Arduino ጋር: 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
የፕሮቶታይፕንግ ወይም የሞዴል አውሮፕላኖችን ሲሠሩ ፣ ብዙውን ጊዜ ችግሩን ያጋጥሙዎታል ፣ ይህም የ servo ጉዞን መፈተሽ ወይም ሰርጎዎችን ወደ መካከለኛ ቦታ ማዘጋጀት አለብዎት።
መላውን የአርሲ-ሲስተምዎን ወይም ሙከራዎን ለመገንባት የማይችሉ ከሆነ ፣ ሰርቪሱን ምን ያህል መግፋት ወይም የመካከለኛው አቀማመጥ የት እንደሚገኝ ፣ ከዚያ ይህ ሰሌዳ ለእርስዎ ነው! አገልጋዩን ወደ ተለዩ ቦታዎች እንዲያንቀሳቅሱ ወይም ወደ ኋላ እና ወደ ፊት እንጓዝ።
በሚገርም ሁኔታ በጥሩ ሁኔታ ይሠራል ፣ በሎፕ ውስጥ ከአንዱ አቀማመጥ ወደ ሌላው በሚወዳደሩ 6 servos እንኳን።
እንዲሁም ፣ ተከታታይን በመጠቀም በ Python-GUI እና Arduino መካከል ስላለው ግንኙነት ለመማር ጥሩ ፕሮጀክት ነው።
ደረጃ 1: የሚያስፈልግዎ…
ለዚህ ፕሮጀክት የሚከተሉትን ያስፈልግዎታል
ሃርድዌር
- አርዱዲኖ ናኖ ከኬብል ጋር። እኔ ክሎኔን እጠቀም ነበር ፣ እና የፓይዘን ኮድ በእውነቱ የክሎኔን CH340-ቺፕ ይጠብቃል
- የፕሮቶታይፕ ቦርድ። 7x5 ሴ.ሜ በቂ ነው
- አንዳንድ 2 ፣ 54 ሚሜ ራስጌዎች እና ፒኖች
- 1-6 servos
- ለ servos የኃይል አቅርቦት (በ 4 ባትሪዎች የባትሪ ቦርሳ እጠቀም ነበር)
ሶፍትዌር
- Python 3:
- ዩኤስቢ-ነጂ ለ CH340-ቺፕስ-ለ google340 ሾፌሮች ለአሽከርካሪዎች ብቻ google
- አርዱዲኖ አይዲኢ
ደረጃ 2 ቦርዱን መሸጥ
በስዕሉ ላይ ባለው ፍሪቲንግ መሠረት የሽያጭ ሥራው በቀጥታ ወደ ፊት ቀጥሏል። ልክ እርግጠኛ ይሁኑ ፣ ሰርጎቹን በቀላሉ ወደ 3-ፒን-ረድፎች ማያያዝ ይችላሉ።
- ባለ 3-ፒን ረድፎች ከአርዱዲኖ ናኖ ዲጂታል ፒን 3 ፣ 5 ፣ 6 ፣ 9 ፣ 10 እና 11 ጋር ተያይዘዋል።
- ቀይ ሽቦ ከአርዱዲኖ 5V ፒን ጋር ተያይ isል
- ጥቁር ሽቦው ከአርዱዲኖው GND-pin ጋር ተገናኝቷል
- ከ 3-ፒን ረድፎች በታች ያሉት ጥንድ ጥንድዎች የተለመደው RC- ተቀባዩ የኃይል አቅርቦትን ለማያያዝ የታሰቡ ናቸው ፣ እንደፈለጉት ማያያዣዎችን ማከል ይችላሉ ፣ እንደ ተርሚናሎች ፣ ኤክስቲ-አያያctorsች ፣ JST ወይም… ወይም…
በግለሰብ ደረጃ አርዱዲኖን ለማስገባት የሴት ራስጌዎችን ረድፎች እወዳለሁ ፣ ግን ያ የእርስዎ ነው።
እባክዎን ያስተውሉ ፣ አጫጭር የሴት ራስጌዎች ለሙከራ ዓላማዎች የአርዲኖኖን 5 ቮ ምንጭ በመጠቀም ሰርቪሱን እንዲያቀርቡ የሚያስችል ዝላይ ነው። በጣም ካወጡት ፣ አርዱinoኖ እንደገና ይጀመራል እና ትክክለኛውን ፍጥነት ያራግፋል። ሌላ የኃይል አቅርቦት ከማያያዝዎ በፊት መወገድ አለባቸው።
ደረጃ 3: አርዱዲኖን ማቀናበር
የ Arduino IDE ን ይጫኑ እና አርዱዲኖ ናኖውን ከተያያዘው ስዕል ጋር ያብሩ።
ደረጃ 4 Python ን ማቀናበር
ካወረዱ በኋላ Python 3 ን ይጫኑ። “PATH”-ተለዋዋጭ ለመፍጠር አማራጩን መፈተሽዎን ያረጋግጡ።
ፒፕን በመጠቀም ሁለት ተጨማሪ ጥቅሎችን መጫን ያስፈልግዎታል። ለዚያ “ዊንዶውስ”-ቁልፍን ይጫኑ ፣ “cmd” ብለው ይተይቡ እና “አስገባ” ን ይምቱ። በትእዛዝ መጠየቂያ ውስጥ የሚከተሉትን ትዕዛዞች ይተይቡ
- pip ጭነት ተከታታይ
- piip pyserial ን ይጫኑ
- pip install tkinter
እንደሚመለከቱት ፣ pyserial ተከታታይን መተካት ስላለበት ፣ ምናልባት በጣም ቀልጣፋ ላይሆን የሚችል ሞጁሎች ተከታታይ እንዲሁም ፒሲየር እፈልጋለሁ። የሆነ ሆኖ ይሠራል እና እኔ ገና መማር እጀምራለሁ;).
በ IDE ውስጥ ፓይዘን-ስክሪፕቱን ይክፈቱ እና አያሂዱ ፣ ወይም ከተርሚናል በቀጥታ ያሂዱ።
በተቆልቋይ ምናሌ ውስጥ በሁለት ሁነታዎች መካከል “ቀጥታ ሂድ” እና “ፒንግ ፓንግ” መካከል መምረጥ ይችላሉ።
- ቀጥ ብለው ይሂዱ-በመጀመሪያው አምድ ውስጥ በማይክሮ ሰከንዶች ውስጥ ሰርቪ-አቀማመጥን ያስገቡ እና ሰርቪው ወደተጠቀሰው ቦታ እንዲሄድ “ጀምር” ን ይምቱ።
- ፒንግ ፓንግ - በሁለተኛው እና በሦስተኛው ዓምድ ውስጥ የታችኛው ወሰን እና የላይኛው ወሰን ያስገቡ። ያኛው አገልጋዩ ወደ ኋላ እና ወደ ኋላ የሚሄድበት የታችኛው እና የላይኛው አቀማመጥ ነው። በ “ፒንግ ፓንግ ሰዓት” አምድ ውስጥ አገልጋዩ የላይኛው ወይም የታችኛው ቦታ ላይ ሲደርስ የሚጠብቀውን በሚሊሰከንዶች ውስጥ አንድ ጊዜ መግለፅ ይችላሉ። “ጀምር” ን ይምቱ እና አገልጋዩ ወደ ኋላ እና ወደ ፊት መንቀሳቀስ ይጀምራል ፣ “አቁም” ን ይምቱ እና አገልጋዩ ያቆማል።
ደረጃ 5 አስማት በሚከሰትበት
በመጨረሻ ግን ቢያንስ በፒቶን እና በአርዱዲኖ መካከል ወደ ትንሽ ተከታታይ ግንኙነት ለመግባት ለሚፈልጉት አንዳንድ ዝርዝሮችን ኮዱን መጠቆም እፈልጋለሁ።
አሁን ፣ በ Python ፕሮግራም ውስጥ ምን ይሆናል?
በመጀመሪያ ደረጃ ፣ ፕሮግራሙ ይፈትሻል ፣ በዚህ መስመር ከ COM- ወደቦች ጋር የተገናኘውን እና ወደ ዝርዝር ያስቀምጠዋል።
self. COMPortsList = ዝርዝር (serial.tools.list_ports.comports ())
ከዚያም አንድ የታወቀ CH340-ቺፕ እስኪያገኝ ድረስ ዝርዝሩን ይፈትሻል ፣ ያስቀምጠዋል እና ከዚያ ከ ‹‹Lop›› በኋላ ተከታታይ ግንኙነት ይመሰርታል። ልብ ይበሉ ፣ የመጀመሪው CH340 እንደተገኘ ፎር-ሉፕ ይሰብራል።
ለፒ ውስጥ በራስ. COMPortsList: p "1 ውስጥ ከሆነ CH340" ከሆነ # Arduino Clone self በመፈለግ ላይ ።COMPort = p [0] ሌላ መስበር ሌላውን ማለፍ - ራስን ማለፍ - ሰር = ተከታታይ - ተከታታይ (ራስ. COMPort ፣ 57600)
ተከታታይ ግንኙነቱ ከ 57600 ባውድ ጋር ከኮም-ወደብ ጋር ተቋቋመ።
እና የአርዱዲኖ ኮድ ምን ያደርጋል? ደህና ፣ አርዱዲኖ አንድ ኮም-ወደብ ብቻ ስላለው ፣ ተከታታይ ግንኙነቱ አንድ መስመር ብቻ ነው-
Serial.begin (57600);
አሁን ለመገናኘት ሁለቱንም ወደቦች መጠቀም እንችላለን። በዚህ ሁኔታ ፣ ከፓይዘን እስከ አርዱinoኖ ያሉ መልእክቶች ብቻ። መልእክቶች እዚህ የተላኩት ከፓይዘን ነው። ተከታታይ ግንኙነት ባይት እንደ ነባሪ ያስተላልፋል። ያ ውሂብን ለመላክ ፈጣኑ መንገድ ነው እና እኔ እስከማውቀው ድረስ አሁንም በጣም የተስፋፋ ነው። ስለዚህ ለሴሩ ቁጥር (ለምሳሌ አርዱinoኖ የትኛው servo እንደሚንቀሳቀስ ያውቃል) እና በማይክሮ ሰከንዶች ውስጥ ያለው ቦታ ወደ ባይት ይቀየራል።
ትዕዛዝ = struct.pack ('> B' ፣ self. Place) # ውስጠ-ተለዋዋጭ "self. Place" ወደ ባይት ይቀየራል
self. Ser.write (ትዕዛዝ) # ባይት በ Serial-Port Command = int (self. ServoPos.get ()) ላይ መጻፍ/ > ለ '፣ ትዕዛዝ) # ውስጡን በባይት ራስን ማዞር። Ser.write (Command) # ባይት በ Serial-Port ላይ መጻፍ
እንዲሁም የመተንተን ውሂብ ጊዜን ይወስዳል (ለምሳሌ አራት ባይት “1” ፣ “2” ፣ “3” እና “0” ን እንደ int 1230 ፣ እንደ አራት የተለያዩ ቻርጆች መተርጎም) እና በአርዱዲኖ ላይ ካልሆነ ያንን ማድረጉ የተሻለ ነው።
በአርዱዲኖ ጎን በኩል የተላከው መረጃ እንደሚከተለው ይወሰዳል።
ከሆነ (Serial.available ()> 1) {// ተከታታይ ውሂብ የሚገኝ ከሆነ ፣ loop ገብቷል c = Serial.read (); // የመጀመሪያው ባይት (የ servo ቁጥር) ወደ ተለዋዋጭ ማይክሮስ = Serial.read () ይቀመጣል። // የ servo ቦታ እዚህ ተቀምጧል ማይክሮስ = ማይክሮስ * 10; }
የሚመከር:
MSP432 LaunchPad እና Python ን በመጠቀም 9 የሙቀት ደረጃዎች ዳሳሽ (TMP006) የቀጥታ መረጃን ማሴር 9 ደረጃዎች
MSP432 LaunchPad እና Python ን በመጠቀም የሙቀት ዳሳሽ (TMP006) የቀጥታ መረጃን ማሴር - TMP006 ከእቃው ጋር ግንኙነት ማድረግ ሳያስፈልግ የአንድን ነገር የሙቀት መጠን የሚለካ የሙቀት ዳሳሽ ነው። በዚህ መማሪያ ውስጥ Python ን በመጠቀም ከ BoosterPack (TI BOOSTXL-EDUMKII) የቀጥታ የሙቀት መረጃን እናሴራለን።
MIDI Drum Kit በ Python እና Arduino ላይ: 5 ደረጃዎች (ከስዕሎች ጋር)
MIDI Drum Kit በ Python እና Arduino ላይ - ከልጅነቴ ጀምሮ ሁል ጊዜ ከበሮ ኪት መግዛት እፈልግ ነበር። በዚያን ጊዜ ዛሬ እኛ ብዙ ስለሆንን ሁሉም የሙዚቃ መሣሪያዎች ሁሉም ዲጂታል አፕሊኬሽኖች አልነበሯቸውም ፣ ስለሆነም ዋጋዎች ከሚጠበቁት ጋር በጣም ከፍተኛ ነበሩ። በቅርብ ጊዜ ሐ / ሐ ለመግዛት ወሰንኩ
የፊት መታወቂያ እና መታወቂያ - አርዱዲኖ የፊት መታወቂያ OpenCV Python ን እና Arduino ን በመጠቀም።: 6 ደረጃዎች
የፊት መታወቂያ እና መታወቂያ | አርዱዲኖ የፊት መታወቂያ OpenCV Python ን እና Arduino ን በመጠቀም። - የፊት ለይቶ ማወቅ የ AKA የፊት መታወቂያ በአሁኑ ጊዜ በሞባይል ስልኮች ላይ በጣም አስፈላጊ ከሆኑት ባህሪዎች አንዱ ነው። ስለዚህ ፣ እኔ ጥያቄ ነበረኝ ለ ‹አርዱinoኖ› ፕሮጀክት የፊት መታወቂያ አለኝ? እና መልሱ አዎ ነው … ጉዞዬ እንደሚከተለው ተጀመረ - ደረጃ 1: እኛ ወደ እኛ መድረስ
ቀላል ግምታዊ ጨዋታ - Python + XBees + Arduino: 10 ደረጃዎች
ቀላል ግምታዊ ጨዋታ - Python + XBees + Arduino: ጨዋታው እንዴት እንደሚሰራ እነሆ - በ ‹ሀ› - ‹h› መካከል አንድ ፊደል ለመገመት 4 ሙከራዎች አሉዎት - > ትክክለኛውን ፊደል ይገምቱ - እርስዎ ያሸንፋሉ! ?->; የተሳሳተውን ፊደል ይገምቱ-ጨዋታው አብቅቷል?-> ከ ‹ሀ› - ‹h› ውጭ ሌላ ገጸ -ባህሪ ይገምቱ -ጨዋታው አልቋል? የእርስዎ አርዱኢኖ ይፈቅድልዎታል
የፊት መከታተያ መሣሪያ! Python & Arduino: 5 ደረጃዎች
የፊት መከታተያ መሣሪያ! ፓይዘን እና አርዱinoኖ - ይህንን አስተማሪ የሚያነቡ እዚያ ያሉ ሁሉ ሰላም ይሉዎታል። ይህ OpenCV በሚባል የፓይዘን ቤተ -መጽሐፍት ላይ የሚሠራ የፊት መከታተያ መሣሪያ ነው። ሲቪ ማለት ‘የኮምፒውተር ራዕይ’ ማለት ነው። ከዚያ በእኔ ፒሲ እና በአርዱዲኖ UNO መካከል ተከታታይ በይነገጽ አቋቋምኩ። ስለዚህ ይህ ማለት