Tartalomjegyzék:
- 1. lépés: Műanyag alkatrészek
- 2. lépés: A nem 3D nyomtatott alkatrészek lebontása
- 3. lépés: Elektronika
- 4. lépés: Összeszerelés
- 5. lépés: Kód
- 6. lépés: Fájlok
Videó: Automatikus telefon töltő: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
"Ez az oktatóanyag a Dél -Floridai Egyetem Makecourse projektkövetelményének teljesítésével jött létre (www.makecourse.com)"
Ennek a projektnek az volt az ötlete, hogy létrehozzunk egy készüléket, amely képes tölteni a telefont, majd húzza ki a konnektorból, amikor a telefon eléri a 100%-ot. Ez megszüntetné a túltöltéssel kapcsolatos problémákat.
1. lépés: Műanyag alkatrészek
Néhány komponenst 3D -ben nyomtattak. Ezek az alkatrészek egy alapot, egy töltőtartót, egy fogasléces és fogaskerék -készletet (normál fogaskerék és egy lineáris darab, amely a forgást lineáris mozgásra változtatja) és egy alapot minden működéshez. Ezeket az összetevőket a következő bekezdések ismertetik. A megjelenés sorrendjében
Töltőtartó
Ennek célja az, hogy tartsa a telefon töltőjét, vagy legalábbis jobb és egyenletesebb alapot adjon neki.
Bázis
Az alap gyűrűkkel rendelkezik a telefontartó számára, valamint a fogaskerékkel.
Telefontartó
Nyilván tartja a telefont
Telefonkar
Mozgatja és tartja a telefont
Rack és fogaskerék fogaskerék
A telefon töltőjének előre -hátra mozgatására szolgál
2. lépés: A nem 3D nyomtatott alkatrészek lebontása
Ezek azok az alkatrészek, amelyeket vagy a projekthez vásároltak, vagy már birtokoltak. Néhány részhez, amelyet linkeltem hozzájuk/hasonló elemeket az amazonon, de bátran szerezze be őket bárhol.
Micro Servo:
Standard 0-180 szervó:
HC-05 Bluetooth soros modul:
Telefon és telefon töltő
Arduino
Kenyeretábla
Doboz vagy tartály az alaphoz
Érintésérzékelő:
3. lépés: Elektronika
Ennek a projektnek az áramköre azonban igényelhet néhányat, főleg a HC-05 modul miatt. Sok ilyen típusú modul nagyjából 3.3V -6V feszültségű, ami az Arduino működési tartományában van. Soros kommunikáció esetén azonban az Rx tű néha jobban működik, csak 3,3 V feszültséggel. Amint a fenti ábrán látható, a két szervó az Arduino Vin csapjához van csatlakoztatva. Ezt az extra feszültséget bármi szolgáltathatja, én 9 voltos akkumulátort használtam. Az érintésérzékelőt az Arduino 5V -os csatlakozójába dugták. Ennek oka az volt, hogy az összes komponensnek problémái voltak az azonos feszültségű kifutással. Az érintésérzékelő a 2 -es csaphoz van rögzítve, így csap megszakításként használható. Ezután a bluetooth modul csatlakozik az Rx és Tx érintkezőkhöz a soros kommunikációhoz. A modul Rx csapja és az Arduino Tx között 2 kilométeres ellenállás található, 1 kilométeres ellenállással a földhöz csatlakoztatva. Ez segít szabályozni a bemenő feszültséget.
4. lépés: Összeszerelés
Az összeszerelés meglehetősen egyszerű.
- néhány szuper ragasztóval szerelje fel szervóit a helyükre, egyet a fogaskerékhez az alapon lévő kivágásnál, a másikat pedig a telefon aljának közelében.
- Csatlakoztassa az érintésérzékelőt a telefontartóhoz, hogy tudja, mikor van a telefon.
- Ezután rögzítse a fogaskereket és a kart a megfelelő szervóhoz
- Győződjön meg arról, hogy a vezetékek ne zavarják a többi alkatrészt, amikor feltöltik az elektronikát
5. lépés: Kód
Három kódkészletet fogunk bemutatni, egy kódot az Arduino -hoz, amelyet az Arduino IDE -ben hoztak létre, és két kódot, amelyek az Android Stúdióban készültek. Az Android -alkalmazások ugyanazok, kivéve, ha az egyik a teljes alkalmazás, amely nyomon követi az akkumulátor élettartamát, és az egyik nem. A második tesztelésre szolgál.
Arduino kód
Ennek a kódnak a lényege az érintésérzékelő és a motorok működtetése, parancsot kap a telefontól, és hat rá.
#include // meghívja a szervokönyvtárat, hogy irányíthassuk a két szervótServo servo1; Servo servo2; // két szervo objektumot hoz létre minden szervomotorhoz int a = 0; // követési változó a teszteléshez int q = 0; // egy változó, amely lehetővé teszi a késleltetést, mielőtt a pluggin folyamat megkezdődik char c; // változó, amely a telefon void setup () {serialInterrupt (digitalPinToInterrupt (2), AH, FALLING) soros üzenetét tartalmazza (10); servo2.attach (9); // inicializálja a két szervót Serial.begin (9600); // a soros kommunikációt a Bluetooth szervo2.write (20) modulhoz hasonló sebességgel kezdi meg; // az automatikus szervókat egy kiindulási helyzet szervo1.write (180); }
void loop () {
if (Serial.available ()) {// ez ellenőrzi, hogy érkezik -e valami a telefonról a Tx és Rx soros érintkezőkön keresztül c = Serial.read (); // elolvassa, hogy mi jön be, ha (c == 't') {// ha a soros eszköz ekkor olvas, az azt jelenti, hogy a telefon teljesen fel van töltve, a kihúzási folyamat megkezdődik a servo2.write (120); // leválasztja a töltő késleltetését (5000); // várja, hogy meggyőződjön arról van idő az eltávolításra servo1.write (110); // függőleges helyzetbe helyezi a telefont, hogy jelezze //Serial.println ("itt"); attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // újracsatolja a megszakítást}} if (q == 1) {// ha a csatlakoztatás feltétele fennáll, akkor kezdődik a töltő késleltetésének csatolása (10000); servo2.write (0); // a szervót q = 0 helyzetbe helyezi; // visszaállítja a feltételt}}
void AH () {
//Serial.println("in "); servo1.write (180); // a telefon platformját töltési pozícióba ejti q = 1; // elindítja a feltételt a folyamat folytatásához // a = 1; detachInterrupt (digitalPinToInterrupt (2)); // leválasztja a megszakítást, hogy ne legyen probléma a megszakítás elindításával, amikor nem kellene}
Android -alkalmazás
Itt csak a megfelelő alkalmazást fogom megjeleníteni, de a tesztkód fájl is megadásra kerül, az egyetlen különbség a futtatható és a getBattery osztály eltávolítása lesz. Az említett sorozatkód az, amely szabványos a modulokhoz hasonló eszközökhöz csatlakozó telefonok esetében.
csomag com.example.daniel.make; import android.bluetooth. BluetoothAdapter; import android.bluetooth. BluetoothDevice; import android.bluetooth. BluetoothSocket; import android.os. Handler; import android.support.v7.app. AppCompatActivity; import android.os. Bundle; import android.content. Intent; import android.content. IntentFilter; import android.os. BatteryManager; import java.io. IOException; import java.io. OutputStream; import java.util. Set; import java.util. UUID;
public class MainActivity kiterjeszti az AppCompatActivity {
// szükséges objektumok létrehozása Kezelő kezelő; // segít a hurokban Runnable runnable; // folyamatosan fut BluetoothAdapter mBluetoothAdapter; BluetoothSocket mmSocket; BluetoothDevice mmDevice; OutputStream mmOutputStream; illékony logikai stopMunkás; privát OutputStream outputStream; privát záró karakterlánc DEVICE_NAME = "HC-05"; privát végső UUID PORT_UUID = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); privát BluetoothAdapter eszköz; saját BluetoothSocket aljzat; @Override protected void onCreate (Bundle savedInstanceState) {// utasításkészlet, amely az alkalmazás létrehozásakor fut super.onCreate (saveInstanceState); // displya creation setContentView (R.layout.activity_main); runnable = new Runnable () {@Override public void run () {// ismétlődően fut eléri a 100% próbát {getBT (); // csatlakozik az openBT () bluetooth modulhoz; // megnyitja azt sendData (); // elküldi a szükséges adatokat closeBT (); // bezárja az objektumot} catch (IOException ex) { }} handler.postDelayed (futtatható, 5000); // a delay}}; kezelő = new Handler (); handler.postDelayed (futtatható, 0); }
public float getBattery () {
Intent batteryIntent = registerReceiver (null, new IntentFilter (Intent. ACTION_BATTERY_CHANGED)); // létrehozza azt a műveletet, amely az akkumulátorhoz kapcsolódik int level = batteryIntent.getIntExtra (BatteryManager. EXTRA_LEVEL, -1); // megkapja a jobb szint int skáláját = batteryIntent.getIntExtra (BatteryManager. EXTRA_SCALE, -1); // megkapja az akkumulátor skáláját, ha (szint == -1 || skála == -1) {// hiba esetén 50,0f; } float batt = (szint/(lebegő) skála)*100.0f; // megkapja a megfelelő skála visszatérési ütemet; // visszaadja a szintet}
void getBT () {// megkapja a lehetséges bluetooth kapcsolatokat
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); // megkapja az adaptert, ha (! mBluetoothAdapter.isEnabled ()) {// gondoskodik arról, hogy a telefon kék foga legyen az Intent enableBluetooth = new Intent (BluetoothAdapter. ACTION_REQUEST_ENABLE); // kéri, hogy legyen bekapcsolva, ha nem startActivityForResult (enableBluetooth, 0); } Set pairedDevices = mBluetoothAdapter.getBondedDevices (); // megkapja a csatlakoztatott Bluetooth listáját, ha (pairedDevices.size ()> 0) {// meggyőződik arról, hogy vannak bizonyos eszközök a (BluetoothDevice device: pairedDevices) {// között eszközök if (device.getName (). egyenlő ("HC-05")) {// ellenőrzi, hogy az megfelelő-ea mmDevice = device; // elmenti a break; }}}}
void openBT () dob IOException {
UUID uuid = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); // Standard // SerialPortService ID mmSocket = mmDevice.createRfcommSocketToServiceRecord (uuid); // a megfelelő azonosítóval csatlakozik az eszközhöz mmSocket.connect (); // csatlakoztatja az mmOutputStream = mmSocket.getOutputStream (); // elindítja a küldés képességét adatok az arduino modulhoz}
A void sendData () IOException {// osztályt dob, amely elküldi a t az arduino -nak
mmOutputStream.write ('t'); }
void closeBT () dob IOException {// bezárja az arduino összes kapcsolatát
stopWorker = igaz; mmOutputStream.close (); mmSocket.close (); }}
6. lépés: Fájlok
Köszönjük, hogy elolvasta, mellékelve vannak a projektben használt fájlok
Ajánlott:
Kerékpárral hajtott telefon töltő: 6 lépés (képekkel)
Bike Powered Phone Charger: Ez egy Bike Powered telefon töltő, amely olcsó, 3D nyomtatható, könnyen elkészíthető és telepíthető, a telefon töltő pedig univerzális. Ez hasznos dolog, ha sokat biciklizik, és fel kell töltenie a telefont. A töltőt úgy tervezték és építették
Lego több eszköz töltő dokkoló, telefon táblagép: 15 lépés (képekkel)
Lego több eszköz töltő dokkoló, telefon táblagép: készítse el saját lego töltő dokkolóját
Iron Throne telefon töltő: 17 lépés (képekkel)
Iron Throne telefon töltő: Nagyon izgatott vagyok a Trónok harca 7. évadának megjelenése miatt, egy kapcsolódó projektet kellett készítenem - egy Iron Throne telefon töltőt! Ellátási lista: USB töltő Műanyag koktélkardok Ezüst akril festék Bronz akril festék Fekete spray festék 2 mm hab Vastag foa
Egyszerű 5 perces USB napelemes töltő/túlélő USB töltő: 6 lépés (képekkel)
Egyszerű 5 perces USB napelemes töltő/túlélő USB töltő: Helló srácok! Ma elkészítettem (valószínűleg) a legegyszerűbb usb napelemes töltőt! Először is sajnálom, hogy nem töltöttem fel valami tanulságosat, srácok .. Az elmúlt hónapokban néhány vizsgát kaptam (valójában nem néhány, talán egy hétig ..). De
Autós telefon töltő csavarog-laza-elment: 4 lépés (képekkel)
Autós telefon töltő Wiggle-Loose-Be-Gone: Íme egy egyszerű módja annak, hogy az autós töltők csatlakoztatva legyenek a járműhöz; tegyen egy maszkolószalagot a végére, mielőtt csatlakoztatja