ዝርዝር ሁኔታ:

ራስ -ሰር የስልክ ባትሪ መሙያ 6 ደረጃዎች (ከስዕሎች ጋር)
ራስ -ሰር የስልክ ባትሪ መሙያ 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ራስ -ሰር የስልክ ባትሪ መሙያ 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ራስ -ሰር የስልክ ባትሪ መሙያ 6 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Ethiopia:- የልደት ቀን እና ባህሪ በኮከብ ቆጠራ የተወለዱበት ወር ስለ እርሶ ይናገራል | Nuro Bezede Girls 2024, ሀምሌ
Anonim
ራስ -ሰር የስልክ ባትሪ መሙያ
ራስ -ሰር የስልክ ባትሪ መሙያ

“ይህ አስተማሪ የተፈጠረው በደቡብ ፍሎሪዳ ዩኒቨርሲቲ የሜካኮርስን የፕሮጀክት መስፈርት በማሟላት (www.makecourse.com)”

ከዚህ ፕሮጀክት በስተጀርባ ያለው ሀሳብ ስልኩን ሊያስከፍል የሚችል መሣሪያን መፍጠር ፣ እና ስልኩ 100%ሲደርስ መንቀል ነው። ይህ ከመጠን በላይ የመሙላት ጉዳዮችን ያቆማል።

ደረጃ 1 የፕላስቲክ ክፍሎች

የፕላስቲክ ክፍሎች
የፕላስቲክ ክፍሎች
የፕላስቲክ ክፍሎች
የፕላስቲክ ክፍሎች
የፕላስቲክ ክፍሎች
የፕላስቲክ ክፍሎች
የፕላስቲክ ክፍሎች
የፕላስቲክ ክፍሎች

3 ዲ የታተሙ ያገለገሉ አንዳንድ ክፍሎች ነበሩ። እነዚህ አካላት መሠረቱን ፣ የኃይል መሙያውን መያዣ ፣ የመደርደሪያ እና የፒንዮን ማርሽ ስብስብ (መደበኛ ማርሽ እና መዞሩን ወደ መስመራዊ እንቅስቃሴ የሚቀይር መስመራዊ ቁራጭ) ፣ እና ለሁሉም የሚሠራበት መሠረት። እነዚህ ክፍሎች በሚከተሉት አንቀጾች ውስጥ ይብራራሉ። በተግባራዊነት ቅደም ተከተል

የባትሪ መሙያ መያዣ

የዚህ ዓላማው የስልክ መሙያውን ለመያዝ ወይም ቢያንስ በላዩ ላይ የተሻለ እና ደረጃ መሠረት እንዲሰጥ ማድረግ ነው።

መሠረት

መሠረቱ ለስልክ መያዣው ቀለበቶች እንዲሁም ለ ማርሽ ስብስብ ዱካ አለው።

የስልክ መያዣ

ስልኩን ይይዛል ፣ በግልጽ

የስልክ ክንድ

ይንቀሳቀሳል እና ስልኩን ይይዛል

Rack እና Pinion Gear Set

የስልክ መሙያውን ወደ ፊት እና ወደ ፊት ለማንቀሳቀስ ያገለግል ነበር

ደረጃ 2 - በ 3 ዲ ያልታተሙ ክፍሎች ይሰብሩ

እነዚህ ለፕሮጀክቱ የተገዙ ወይም ቀድሞውኑ በባለቤትነት የተያዙ አካላት ናቸው። ለአንዳንድ ክፍሎች በእነሱ/ተመሳሳይ ዕቃዎች በአማዞን ላይ አገናኘኋቸው ፣ ግን በማንኛውም ቦታ ለማግኘት ነፃነት ይሰማዎ።

ማይክሮ ሰርቮ

መደበኛ 0-180 ሰርቪ-https://www.amazon.com/Futaba-FUTM0031-S3003-Stand…

HC-05 የብሉቱዝ ተከታታይ ሞጁል

የስልክ እና የስልክ ባትሪ መሙያ

አርዱinoኖ

የዳቦ ሰሌዳ

ለመሠረት ሳጥን ወይም መያዣ

የንክኪ ዳሳሽ

ደረጃ 3 ኤሌክትሮኒክስ

ኤሌክትሮኒክስ
ኤሌክትሮኒክስ

የዚህ ፕሮጀክት ወረዳ አንዳንድ ሊፈልግ ይችላል ፣ በዋናነት በኤች.ሲ.-05 ሞዱል ምክንያት። ብዙዎቹ የዚህ ዓይነት ሞጁሎች በአርዲኖ የአሠራር ክልል ውስጥ ካለው ከ 3.3 ቪ እስከ 6 ቮ ድረስ ተመን አላቸው። ግን ፣ ለተከታታይ ግንኙነት የ Rx ፒን አንዳንድ ጊዜ በተሻለ ሁኔታ በ 3.3 ቪ ብቻ ይሰራል። ከላይ ባለው ሥዕላዊ መግለጫ ላይ እንደሚታየው ሁለቱ ሰርዶዎች በአርዱዲኖ ላይ ካለው የቪን ፒን ጋር ተጣብቀዋል። ይህ ተጨማሪ ቮልቴጅ በማንኛውም ነገር ሊቀርብ ይችላል ፣ እኔ የ 9 ቮልት ባትሪ ተጠቅሜያለሁ። የንክኪ ዳሳሽ በአርዱዲኖ ላይ በ 5 ቪ ውስጥ ተሰክቷል። ይህ የሆነበት ምክንያት ሁሉም ክፍሎቹ ከተመሳሳይ voltage ልቴጅ የመውጣት ችግር ስለነበራቸው ነው። የንክኪ ዳሳሽ ከፒን 2 ጋር ተያይ isል ስለዚህ እንደ ፒን ማቋረጫ ሊያገለግል ይችላል። ከዚያ የብሉቱዝ ሞጁል ለተከታታይ ግንኙነት ከ Rx እና Tx ፒኖች ጋር ተገናኝቷል። በሞጁሉ ላይ ባለው የ Rx ፒን እና በአርዱዲኖ ላይ በ Tx መካከል 1 ኪሎ ohm ከመሬት ጋር የሚገናኝ 2 ኪሎ ohm resistor ነው። ይህ ወደ ውስጥ የሚገባውን ቮልቴጅ ለመቆጣጠር ይረዳል።

ደረጃ 4 - ስብሰባ

ስብሰባ
ስብሰባ

ስብሰባው በጣም ቀላል ነው።

  1. ከአንዳንድ እጅግ በጣም ሙጫ ጋር አገልጋዮችዎን በቦታዎቻቸው ላይ በመጫን ፣ አንዱ በመሣሪያው ላይ ባለው ተቆርጦ አንድ እና የስልኩ መሠረት ባለበት አቅራቢያ።
  2. የንክኪ ዳሳሹን ከስልክ መያዣው ጋር ያያይዙ ፣ ስለዚህ ስልኩ መቼ እንደሚገኝ ማወቅ ይችላል።
  3. ከዚያ ማርሽ እና ክንድ በየራሳቸው servos ላይ ያያይዙ
  4. ኤሌክትሮኒክስዎን በሚሞሉበት ጊዜ ሽቦዎች በሌሎች አካላት ውስጥ ጣልቃ እንዳይገቡ ያረጋግጡ

ደረጃ 5 ኮድ

የሚቀርቡት ሶስት የኮድ ስብስቦች አሉ ፣ አንድ ኮድ ለ አርዱዲኖ ፣ በአርዱዲኖ አይዲኢ ውስጥ የተፈጠረው እና በ Android ስቱዲዮ ውስጥ የተሰሩ ሁለት ኮዶች። የባትሪ ዕድሜን የሚከታተል እና አንዱ የማያደርግ ሙሉ መተግበሪያ ካልሆነ በስተቀር የ Android መተግበሪያዎች አንድ ናቸው። ሁለተኛው ለሙከራ ዓላማዎች ነው።

የአርዱዲኖ ኮድ

የዚህ ኮድ ዋና ነጥብ የንክኪ ዳሳሽ እና ሞተሮችን መሥራት ነው ፣ ከስልክ ትእዛዝ ይቀበላል እና በእሱ ላይ ይሠራል።

ሁለቱንም servosServo servo1 ን መቆጣጠር እንድንችል #ያካትቱ / /ወደ servo ቤተ -መጽሐፍት ይደውላል። Servo servo2; // ለእያንዳንዱ የ servo ሞተር int a = 0; // የመከታተያ ተለዋዋጭ ለመፈተሽ int q = 0; // የመሰካት ሂደት ከመዘግየቱ በፊት መዘግየት እንዲኖር የሚፈቅድ ተለዋዋጭ ቻር ይጀምራል c; // ከስልክ ባዶነት ቅንብር () {attachInterrupt (digitalPinToInterrupt (2) ፣ AH ፣ FALLING)) ተከታታይ መልዕክትን የያዘ ተለዋዋጭ/ // የንክኪ ዳሳሽ ስልኩ በ servo1.attach ላይ ሲወጣ በትክክል ለማወቅ የመውደቅ መቋረጥ ያያይዘዋል። (10); servo2.attach (9); // ሁለቱን ሰርቪስ Serial.begin (9600) ያስጀምራል ፣ // ተከታታይ ግንኙነቱን ከብሉቱዝ ሞዱል servo2.write (20) ጋር በሚመሳሰል ፍጥነት ይጀምራል። መነሻ ቦታ servo1. ጻፍ (180); }

ባዶነት loop () {

ከሆነ (Serial.available ()) {// ይህ በስልክ ፒኖች Tx እና Rx c = Serial.read () ላይ ከስልክ የሚመጣ ነገር ካለ ይፈትሻል ፤ // ከሆነ የሚመጣውን ያነባል (c == 't') {// ተከታታይ መሣሪያው ካነበበ ያ ማለት ስልኩ ሙሉ ኃይል ተሞላ ማለት ነው ፣ የማላቀቅ ሂደቱ servo2.write (120) ይጀምራል ፣ // የኃይል መሙያ መዘግየቱን (5000) ያላቅቃል ፤ // ለማረጋገጥ ይጠብቃል የማስወገድ ጊዜ አለ servo1.write (110) ፤ // ስልኩን ወደ ቀጥ ያለ አቀማመጥ ያንቀሳቅሳል //Serial.println (“እዚህ”); attachInterrupt (digitalPinToInterrupt (2) ፣ AH ፣ FALLING) ፤ // ማቋረጫውን ያያይዛል}} ከሆነ (q == 1) {// ለ pluggin ሁኔታው ture ከሆነ የባትሪ መሙያ መዘግየቱን (10000) በማያያዝ ይጀምራል። servo2.write (0); // servo ን ወደ ቦታው q = 0; // ሁኔታውን ዳግም ያስጀምራል}}

ባዶ AH () {

//Serial.println ("ውስጥ"); servo1.write (180); // የስልኩን መድረክ ወደ ኃይል መሙያ ቦታው ይጥለዋል q = 1; // ሂደቱን ለመቀጠል ኮንዲሽኑን ይጀምራል // a = 1; መቋረጥ በማይኖርበት ጊዜ ማናቸውም ችግሮች እንዳይኖሩ መገንጠሉን ያቋርጡ (ዲጂታል ፒንቶተርተር (2)) ፤ // ማቋረጫውን ያቋርጣል}

የ Android መተግበሪያ

እዚህ ተገቢውን መተግበሪያ ብቻ አሳያለሁ ነገር ግን የሙከራ ኮድ ፋይልም እንዲሁ ይሰጣል ፣ ብቸኛው ልዩነት የሚሮጥ እና የባትሪ ክፍልን ማስወገድ ብቻ ይሆናል። የተጠቀሰው ተከታታይ ኮድ እንደ ሞጁሉ ካሉ መሣሪያዎች ጋር ለሚገናኙ ስልኮች መደበኛ የሆነው ነው።

ጥቅል com.example.daniel.make; android.bluetooth. BluetoothAdapter አስመጣ; android.bluetooth. BluetoothDevice አስመጣ; android.bluetooth. BluetoothSocket አስመጣ; android.os. Handler አስመጣ; android.support.v7.app. AppCompatActivity ያስመጡ; android.os. Bundle አስመጣ; android.content. Intent; android.content. IntentFilter ያስመጡ; android.os. BatteryManager አስመጣ; ማስመጣት java.io. IOException; ማስመጣት java.io. OutputStream; አስመጪ java.util. Set; አስመጣ java.util. UUID;

የሕዝብ ክፍል MainActivity AppCompatActivity ን ያራዝማል {

// አስፈላጊ ነገሮችን መፍጠር ተቆጣጣሪ ተቆጣጣሪ ፣ // በሉፕ ይረዳል Runnable runnable; // ያለማቋረጥ ይሠራል ብሉቱዝ አስማሚ mBluetoothAdapter; ብሉቱዝ ሶኬት mmSocket; የብሉቱዝ መሣሪያ mmDevice; OutputStream mmOutputStream; ተለዋዋጭ የቡሊያን ማቆሚያ ሰራተኛ; የግል OutputStream outputStream; የግል የመጨረሻ ሕብረቁምፊ DEVICE_NAME = "HC-05"; የግል የመጨረሻ UUID PORT_UUID = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); የግል ብሉቱዝ አስማሚ መሣሪያ; የግል ብሉቱዝ ሶኬት ሶኬት; @Override የተጠበቀ ባዶነት onCreate (Bundle savedInstanceState) {// መተግበሪያው super.onCreate (saveInstanceState) ሲፈጠር የሚሄድ የመመሪያዎች ስብስብ ነው። runnable = new Runnable () {@Override public void run () {// runs often int level = (int) getBattery (); // የባትሪ ደረጃ ከሆነ (/ደረጃ == 100) {// የአሁኑን የባትሪ ደረጃ ያገኛል 100% ሞክሯል {getBT () ፤ // ከብሉቱዝ ሞዱል ጋር ይገናኛል openBT () ፤ // ይከፍታል sendData () ፤ // አስፈላጊውን ውሂብ ይልካል closeBT () ፤ // ነገሩን ይዘጋል} ይያዙ (IOException ex) { }} handler.postDelayed (runnable, 5000) ፤ // መዘግየት}}; ተቆጣጣሪ = አዲስ ተቆጣጣሪ (); handler.postDelayed (runnable, 0); }

የህዝብ ተንሳፋፊ getBattery () {

Intent batteryIntent = registerReceiver (ባዶ ፣ አዲስ IntentFilter (Intent. ACTION_BATTERY_CHANGED)); // ከባትሪው ጋር የሚገናኝ እርምጃን ይፈጥራል ደረጃ = batterIntent.getIntExtra (BatteryManager. EXTRA_LEVEL, -1); // የተሻለ ደረጃ int ልኬት = batterIntent.getIntExtra (BatteryManager. EXTRA_SCALE, -1) ፤ // የባትሪውን ልኬት (ደረጃ == -1 || ስኬል == -1) ካገኘ {// የተሳሳተ እርምጃ ከተመለሰ 50.0f; ተንሳፋፊ ባት = (ደረጃ/(ተንሳፋፊ) ልኬት)*100.0f ፤ // ተገቢውን የመመለሻ ውጊያ ያገኛል ፣ // ደረጃውን ይመልሳል}

ባዶነት getBT () {// ሊሆኑ የሚችሉ የብሉቱዝ ግንኙነቶችን ያገኛል

mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); // አስማሚውን ያገኛል (! ካልበራ በርቷል ActivityForResult (ብሉቱዝ አንቃ ፣ 0) } ተጣምሯልDevices = mBluetoothAdapter.getBondedDevices () ፤ // (pairedDevices.size ()> 0) ከሆነ/// አንዳንድ መሣሪያዎች መኖራቸውን (የብሉቱዝ መሣሪያ መሣሪያ ፦ ጥንድ መሣሪያዎች) {// loops through መሣሪያዎች (መሣሪያ. }}}}

ባዶ openBT () IOException ን ይጥላል {

UUID uuid = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); // መደበኛ // SerialPortService ID mmSocket = mmDevice.createRfcommSocketToServiceRecord (uuid); // ከመሣሪያው ጋር ከተገቢው መታወቂያ mmSocket.connect () ጋር ይገናኛል ፤ // mmOutputStream = mmSocket.getOutputStream () ፤ // ያገናኛል ውሂብ ወደ አርዱዲኖ ሞዱል}

ባዶነት sendData () ቲውን ወደ አርዱዲኖ የሚልክ IOException {// ክፍልን ይጥላል

mmOutputStream.write ('t'); }

ባዶነት closeBT () IOException ን ይጥላል {// ሁሉንም ወደ arduino ግንኙነቶች ይዘጋል

stopWorker = እውነት; mmOutputStream.close (); mmSocket.close (); }}

ደረጃ 6 - ፋይሎች

በማንበብዎ እናመሰግናለን ፣ በዚህ ፕሮጀክት ውስጥ ያገለገሉ ፋይሎች ተያይዘዋል

የሚመከር: