Orodha ya maudhui:
- Hatua ya 1: Vipengele vya plastiki
- Hatua ya 2: Kuvunja Vitu visivyochapishwa vya 3D
- Hatua ya 3: Elektroniki
- Hatua ya 4: Mkutano
- Hatua ya 5: Kanuni
- Hatua ya 6: Faili
Video: Chaja ya Simu ya Moja kwa Moja: Hatua 6 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
"Hii inaweza kufundishwa iliundwa kutimiza mahitaji ya mradi wa Makecourse katika Chuo Kikuu cha Florida Kusini (www.makecourse.com)"
Wazo la mradi huu lilikuwa kuunda kifaa ambacho kinaweza kuchaji simu, na kisha uiondoe wakati simu inafikia 100%. Hii ingesimamisha maswala ya malipo zaidi.
Hatua ya 1: Vipengele vya plastiki
Kulikuwa na vifaa ambavyo vilitumiwa ambavyo vilichapishwa na 3D. Vipengele hivi vilikuwa na msingi, mmiliki wa chaja, rack na seti ya gia ya pinion (gia ya kawaida na kipande cha laini ambacho hubadilisha mzunguko kuwa harakati laini), na msingi wa kila kitu cha kufanya kazi. Vipengele hivi vitaelezewa katika aya zifuatazo. Kwa utaratibu wa kuonekana
Mmiliki wa Chaja
Kusudi la hii ni kushikilia chaja ya simu, au angalau ipatie msingi bora na wa kiwango.
Msingi
Msingi una pete kwa mmiliki wa simu na pia wimbo wa seti ya gia.
Mmiliki wa Simu
Anashikilia simu, ni wazi
Simu ya Simu
Husogea na kushikilia simu
Rack na Pinion Set Gear
Inatumika kuhamisha chaja ya simu nyuma na mbele
Hatua ya 2: Kuvunja Vitu visivyochapishwa vya 3D
Hizi ndizo vifaa ambavyo vilinunuliwa kwa mradi au tayari inamilikiwa. Kwa sehemu zingine nilizoziunganisha / vitu sawa kwenye amazon, lakini jisikie huru kuzipata mahali popote.
Servo ndogo: https://www.amazon.com/J-Deal-Micro-Helicopter-Air …….
Kiwango 0-180 Servo: https://www.amazon.com/Futaba-FUTM0031-S3003-Stand …….
Moduli ya Serial ya HC-05 ya Bluetooth:
Chaja ya simu na simu
Arduino
Bodi ya mkate
Sanduku au pipa kwa msingi
Sensor ya Kugusa:
Hatua ya 3: Elektroniki
Mzunguko wa mradi huu unaweza kuhitaji hata hivyo, haswa kwa sababu ya moduli ya HC-05. Moduli nyingi za aina hii ni kiwango cha takriban 3.3V hadi 6V, ambayo iko katika anuwai ya kazi ya Arduino. Lakini, kwa mawasiliano ya serial pini ya Rx wakati mwingine inafanya kazi vizuri na 3.3V tu. Kama inavyoonekana kwenye mchoro hapo juu, servos mbili zimeunganishwa kwenye pini ya Vin kwenye Arduino. Voltage hii ya ziada inaweza kutolewa na chochote, nilitumia betri 9 ya volt. Sensor ya kugusa ilikuwa imeingizwa kwenye 5V kwenye Arduino. Hii ilikuwa kwa sababu vifaa vyote vilikuwa na shida kukimbia kwa voltage sawa. Sensor ya kugusa imeambatanishwa na pini 2 ili iweze kutumiwa kama pingamizi la pini. Kisha moduli ya bluetooth imeunganishwa na pini za Rx na Tx kwa mawasiliano ya serial. Kati ya pini ya Rx kwenye moduli na Tx kwenye Arduino kuna kipimaji cha kilo 2 ohm na kilo 1 ohm inayounganisha ardhini. Hii inasaidia kudhibiti voltage inayoingia.
Hatua ya 4: Mkutano
Mkutano ni rahisi sana.
- ukiwa na gundi moja kubwa panda servos zako katika nafasi zao, moja kwa gia kwa njia ya kukata kwenye msingi na moja karibu na mahali msingi wa simu ulipo.
- Ambatisha sensa ya kugusa kwa mmiliki wa simu, ili iweze kujua wakati simu iko.
- Kisha ambatisha gia na mkono kwa servos zao
- Hakikisha waya haziingilii na vifaa vingine unapojaza vifaa vyako vya elektroniki
Hatua ya 5: Kanuni
Kuna seti tatu za nambari ambazo zitawasilishwa, nambari moja ya Arduino, ambayo iliundwa katika IDE ya Arduino na nambari mbili ambazo zilifanywa katika Studio ya Android. Programu za Android ni sawa isipokuwa moja ni programu kamili inayofuatilia maisha ya betri na moja haina. Ya pili ni kwa madhumuni ya kupima.
Msimbo wa Arduino
Jambo kuu la nambari hii ni kutumia sensorer ya kugusa na motors, inapokea amri kutoka kwa simu na kuifanya.
# pamoja na // inaita maktaba ya servo ili tuweze kudhibiti servosServo servo1 mbili; Servo servo2; // huunda vitu viwili vya servo kwa kila servo motor int a = 0; // kutofautisha kwa kupima int q = 0; variable ambayo ina ujumbe wa serial kutoka kwa usanidi batili wa simu () {attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); (10); // Servo2.attach (9); // inazindua servos mbili Serial.begin (9600); nafasi ya kuanza servo1. andika (180); }
kitanzi batili () {
ikiwa (Serial haipatikani ()) {// hii inachunguza ikiwa kuna kitu chochote kinachoingia kutoka kwa simu juu ya pini za serial Tx na Rx c = Serial.read (); // inasoma kile kinachokuja kutoka ikiwa (c == 't') {// ikiwa kifaa cha serial kinasomeka wakati huo hiyo inamaanisha kuwa simu imeshtakiwa kabisa, mchakato wa kufungulia huanza servo2. andika (120); kuna wakati wa kuondolewa kwa servo1.write (110); ambatanishaInterrupt (digitalPinToInterrupt (2), AH, FALLING); // servo2.write (0); // inahamasisha servo katika nafasi q = 0;
utupu AH () {
//Serial.println ("ndani"); servo1.write (180); // anatupa jukwaa la simu kwenye nafasi ya kuchaji q = 1; // huanza hali ya kuendelea na mchakato // a = 1; detachInterrupt (digitalPinToInterrupt (2));
Programu ya Android
Hapa nitaonyesha programu inayofaa tu lakini faili ya nambari ya majaribio pia itapewa, tofauti pekee itakuwa kuondolewa kwa darasa linaloweza kukimbia na kupataBattery. Nambari ya nambari iliyotajwa ni ile ambayo ni ya kawaida kwa simu zinazounganishwa na vifaa kama moduli.
kifurushi com.mfano.daniel.make; kuagiza android.bluetooth. BluetoothAdapter; kuagiza android.bluetooth. BluetoothDevice; kuagiza android.bluetooth. BluetoothSocket; kuagiza android.os. Handler; kuagiza android.support.v7.app. AppCompatActivity; kuagiza android.os. Bundle; kuagiza android.content. Intent; kuagiza android.content. IntentFilter; kuagiza android.os. BatteryManager; kuagiza java.io. IOException; kuagiza java.io. OutputStream; kuagiza java.util. Set; kuagiza java.util. UUID;
darasa la umma MainActivity inaongeza AppCompatActivity {
// kuunda vitu vya lazima Handler handler; BluetoothSocket mmSocket; Kifaa cha Bluetooth mmDevice; PatoStream mmOutputStream; stop boolean stopWorker; Pato la kibinafsiStream outputStream; Kamba ya mwisho ya faragha DEVICE_NAME = "HC-05"; mwisho wa kibinafsi UUID PORT_UUID = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); kifaa cha kibinafsi cha BluetoothAdapter; tundu la kibinafsi la BluetoothSocket; @Override ililindwa tupu onCreate (Bundle savedInstanceState) {// ni seti ya maagizo ambayo hutumika wakati programu imeundwa super.onCreate (savedInstanceState); // dislya creation setContentView (R.layout.activity_main); runnable = new Runnable () {@Override public void run () {// inaendesha mara kwa mara int level = (int) getBattery (); // anapata kiwango cha sasa cha betri ikiwa (level == 100) {// ikiwa kiwango cha betri ifikia 100% jaribu {getBT (); // inaunganisha kwa moduli ya bluetooth openBT (); // inafungua sendData (); // inapeleka data muhimu karibuBT (); }} kishikaji.chapisho Imecheleweshwa (inayoweza kuendeshwa, 5000); // kucheleweshwa}}; handler = mshughulikiaji mpya (); iliyobebwa (postnable, 0); }
kuelea kwa umma kupataBattery () {
Nia ya betriIntent = rejista Mpokeaji (null, IntentFilter mpya (Intent. ACTION_BATTERY_CHANGED)); batteryIntent.getIntExtra (BatteryManager. EXTRA_SCALE, -1); } batt ya kuelea = (kiwango / (kuelea) kiwango) * 100.0f; // anapata kipigo cha kurudisha mizani; // anarudisha kiwango}
batili GetBT () {// inapata muunganisho wa bluetooth
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); // anapata adapta ikiwa (! mBluetoothAdapter.isEnabled ()) {// inahakikisha simu ina jino la samawati kwenye Intent enableBluetooth = Intent mpya (BluetoothAdapter. ACTION_REQUEST_ENABLE); // inaomba iwe imewashwa ikiwa sio startActivityForResult (wezeshaBluetooth, 0); } Weka pairedDevices = mBluetoothAdapter.getBondedDevices (); // hupata orodha ya Bluetooth iliyofungwa ikiwa (pairedDevices.size ()> 0) {// inahakikisha kuwa kuna vifaa vya vifaa kama }}}}
batili openBT () inatupa IOException {
UUID uuid = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); // Standard // SerialPortService ID mmSocket = mmDevice.createRfcommSocketToServiceRecord (uuid); // inaunganisha kwenye kifaa na id sahihi mmSocket.connect (); data kwa moduli ya arduino}
batili sendData () hutupa IOException {// darasa linalotuma t kwa arduino
mmOutputStream.write ('t'); }
batili karibuBT () inatupa IOException {// inafunga viunganisho vyote kwa arduino
stopWorker = kweli; mmOutputStream. karibu (); mmSocket. karibu (); }}
Hatua ya 6: Faili
Asante kwa kusoma, zimeambatanishwa na faili ambazo zilitumika katika mradi huu
Ilipendekeza:
Mlishaji wa Kiwanda cha Moja kwa Moja cha WiFi Pamoja na Hifadhi - Usanidi wa Kilimo cha Ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Hatua 21
Kilima cha Kiwanda cha Kiotomatiki cha WiFi kilicho na Hifadhi - Kuweka Kilimo cha ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Katika mafunzo haya tutaonyesha jinsi ya kuanzisha mfumo wa kulisha mimea ya ndani / nje ambayo hunyunyizia mimea moja kwa moja na inaweza kufuatiliwa kwa mbali kutumia jukwaa la Adosia
Jinsi ya kutengeneza Chaja ya Batri ya 12V Moja kwa Moja: Hatua 16 (na Picha)
Jinsi ya kutengeneza Chaja ya Batri ya 12V Moja kwa Moja: Hei! kila mtu jina langu ni Steve.Leo nitakuonyesha Jinsi ya kutengeneza Chaja ya Betri ya 12v Bonyeza hapa ili uone Video Acha tuanze
Kubadilisha simu ya simu kwa simu ya rununu: Hatua 7 (na Picha)
Kubadilisha simu ya mkononi kwa simu ya rununu: Na Bill Reeve ([email protected]) Imechukuliwa kwa maagizo na Panya kuchukua. Ikiwa haifanyi kazi, au ukivunja kitu, sio m
Kilishi cha Mbwa Raspberry Pi Moja kwa Moja na Kijirusha Video Moja kwa Moja: Hatua 3
Feeder ya mbwa ya Raspberry Pi moja kwa moja & Kijirisho cha Moja kwa Moja cha Video: Hii ni Raspberry PI yangu inayowezesha feeder ya mbwa moja kwa moja. Nilikuwa nikifanya kazi kutoka asubuhi 11am hadi 9pm. Mbwa wangu huenda wazimu ikiwa sikumlisha kwa wakati. Iliyotafutwa google kununua feeders moja kwa moja ya chakula, hazipatikani India na kuagiza ghali op
Tengeneza Chaja ya Simu ya USB kwa Karibu Simu yoyote ya Kiini !: Hatua 4
Tengeneza Chaja ya Simu ya USB kwa Karibu Simu yoyote ya Kiini !: Chaja yangu imeungua, kwa hivyo nilifikiri, "Kwanini usijenge yako mwenyewe?"