Obsah:
- Krok 1: Plastové součásti
- Krok 2: Rozdělení komponent, které nejsou vytištěny ve 3D
- Krok 3: Elektronika
- Krok 4: Sestavení
- Krok 5: Kód
- Krok 6: Soubory
Video: Automatická nabíječka telefonu: 6 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
„Tento instruktáž byl vytvořen za účelem splnění požadavku projektu Makecourse na University of South Florida (www.makecourse.com)“
Myšlenkou tohoto projektu bylo vytvořit zařízení, které by mohlo nabíjet telefon, a poté jej odpojit, když telefon dosáhne 100%. Tím by se zastavily problémy s nadměrným nabíjením.
Krok 1: Plastové součásti
Byly použity některé komponenty, které byly vytištěny 3D. Tyto součásti se skládaly ze základny, držáku pro nabíječku, ozubeného soukolí a pastorku (normální ozubené kolo a lineární díl, který mění rotaci na lineární pohyb) a základny, na které lze vše provozovat. Tyto součásti budou vysvětleny v následujících odstavcích. V pořadí podle vzhledu
Držák nabíječky
Účelem je držet nabíječku telefonu nebo jí alespoň dát lepší a rovný základ.
Základna
Základna má kroužky pro držák telefonu a dráhu pro sadu převodovek.
Držák telefonu
Samozřejmě drží telefon
Rameno telefonu
Pohybuje a drží telefon
Soukolí a pastorek sada
Slouží k pohybu nabíječky telefonu tam a zpět
Krok 2: Rozdělení komponent, které nejsou vytištěny ve 3D
Jedná se o součásti, které byly buď zakoupeny pro projekt, nebo již vlastněné. U některých dílů jsem na ně navázal/podobné položky na amazonu, ale klidně je pořiďte kdekoli.
Micro Servo:
Standardní servo 0-180:
Sériový modul Bluetooth HC-05:
Telefon a nabíječka telefonu
Arduino
Prkénko
Krabice nebo koš na základnu
Dotykový senzor:
Krok 3: Elektronika
Obvod pro tento projekt však může některé vyžadovat, hlavně kvůli modulu HC-05. Mnoho modulů tohoto typu je vybaveno zhruba 3,3 V až 6 V, což je v provozním rozsahu Arduina. Pro sériovou komunikaci však pin Rx někdy funguje lépe pouze s 3,3 V. Jak je vidět na výše uvedeném diagramu, dvě serva jsou připojena ke kolíku Vin na Arduinu. Toto extra napětí může dodávat cokoli, použil jsem 9voltovou baterii. Dotykový senzor byl zapojen do 5V na Arduinu. Důvodem bylo, že všechny součásti měly problém s vybitím stejného napětí. Dotykový senzor je připojen ke kolíku 2, takže jej lze použít jako přerušení kolíku. Poté je modul bluetooth připojen k pinům Rx a Tx pro sériovou komunikaci. Mezi pinem Rx na modulu a Tx na Arduinu je 2k ohmový odpor s 1 kiloohm připojením k zemi. To pomáhá regulovat vstupující napětí.
Krok 4: Sestavení
Sestavení je celkem jednoduché.
- s nějakým super lepidlem namontujte svá serva do jejich poloh, jedno pro převodovku výřezem na základně a druhé poblíž místa, kde je základna telefonu.
- Připojte dotykový senzor k držáku telefonu, aby věděl, kdy je tam telefon.
- Poté připojte zařízení a rameno k příslušným servům
- Při plnění elektroniky zajistěte, aby vodiče nepřekážely jiným součástem
Krok 5: Kód
K dispozici budou tři sady kódů, jeden kód pro Arduino, který byl vytvořen v Arduino IDE, a dva kódy, které byly vytvořeny v Android Studio. Aplikace pro Android jsou stejné, kromě jedné je plná aplikace, která sleduje výdrž baterie a jedna ne. Druhá je pro testovací účely.
Arduino kód
Hlavním bodem tohoto kódu je ovládání dotykového senzoru a motorů, přijímá příkaz z telefonu a působí na něj.
#include // volá knihovnu serv, abychom mohli ovládat dvě servosServo servo1; Servo servo2; // vytvoří dva servo objekty pro každý servomotor int a = 0; // sledovací proměnná pro testování int q = 0; // proměnná, která umožňuje, aby došlo ke zpoždění před zahájením procesu pluggin char c; // proměnná, která obsahuje sériovou zprávu z telefonu void setup () {attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // připojí klesající přerušení, aby přesně věděla, kdy dotykový senzor vidí, kdy je telefon venku na servo1.attach (10); servo2.attach (9); // inicializuje dvě serva Serial.begin (9600); // zahájí sériovou komunikaci rychlostí podobnou rychlosti modulu bluetooth servo2.write (20); // automaticky nastaví serva na výchozí pozice servo1.write (180); }
prázdná smyčka () {
if (Serial.available ()) {// toto zkontroluje, zda něco přichází z telefonu přes sériové piny Tx a Rx c = Serial.read (); // čte, co přichází z if (c == 't') {// pokud sériové zařízení čte poté, znamená to, že je telefon plně nabitý, proces odpojení začne servo2.write (120); // odpojí zpoždění nabíječky (5000); // čeká, aby se ujistil je čas na odebrání servo1.write (110); // přesune telefon do vzpřímené polohy, aby signalizoval //Serial.println("here "); attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // znovu připojí přerušení}} if (q == 1) {// pokud je podmínka pro připojení plug -inu k dispozici, pak začněte s připojením zpoždění nabíječky (10 000); servo2.write (0); // přesune servo do polohy q = 0; // resetuje podmínku}}
neplatné AH () {
//Serial.println("in "); servo1.write (180); // upustí platformu telefonu do nabíjecí polohy q = 1; // spustí kondici pro pokračování procesu // a = 1; detachInterrupt (digitalPinToInterrupt (2)); // odpojí přerušení, takže s přerušením, kdy by nemělo být, nebude žádný problém}
Aplikace pro Android
Zde zobrazím pouze správnou aplikaci, ale bude uveden také soubor testovacího kódu, jediným rozdílem bude odstranění třídy runnable a getBattery. Uvedený sériový kód je standardní pro telefony připojující se k zařízením, jako je modul.
balíček com.example.daniel.make; import android.bluetooth. BluetoothAdapter; importovat android.bluetooth. BluetoothDevice; import android.bluetooth. BluetoothSocket; import android.os. Handler; importovat android.support.v7.app. AppCompatActivity; import android.os. Bundle; import android.content. Intent; importovat android.content. IntentFilter; import android.os. BatteryManager; import java.io. IOException; import java.io. OutputStream; import java.util. Set; import java.util. UUID;
veřejná třída MainActivity rozšiřuje AppCompatActivity {
// vytváření potřebných objektů Handler handler; // pomáhá se smyčkou Runnable runnable; // běží nepřetržitě BluetoothAdapter mBluetoothAdapter; BluetoothSocket mmSocket; BluetoothDevice mmDevice; OutputStream mmOutputStream; volatile boolean stopWorker; soukromý OutputStream outputStream; soukromý koncový řetězec DEVICE_NAME = "HC-05"; soukromé konečné UUID PORT_UUID = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); soukromé zařízení BluetoothAdapter; soukromá zásuvka Bluetooth; @Override protected void onCreate (Bundle savedInstanceState) {// je sada instrukcí, které se spustí při vytvoření aplikace super.onCreate (saveInstanceState); // displya creation setContentView (R.layout.activity_main); runnable = new Runnable () {@Override public void run () {// opakovaně běží int level = (int) getBattery (); // získá aktuální úroveň baterie if (level == 100) {// pokud úroveň baterie dosáhne 100% zkusit {getBT (); // připojí se k bluetooth modulu openBT (); // otevře to sendData (); // odešle potřebná data closeBT (); // zavře objekt} catch (IOException ex) { }} handler.postDelayed (spustitelný, 5000); // zpoždění}}; handler = nový Handler (); handler.postDelayed (spustitelný, 0); }
public float getBattery () {
Intent batteryIntent = registerReceiver (null, new IntentFilter (Intent. ACTION_BATTERY_CHANGED)); // vytvoří akci, která se připojí k úrovni int baterie = batteryIntent.getIntExtra (BatteryManager. EXTRA_LEVEL, -1); // získá lepší úroveň int scale = batteryIntent.getIntExtra (BatteryManager. EXTRA_SCALE, -1); // získá měřítko baterie if (level == -1 || scale == -1) {// v případě chybného kroku návrat 50.0f; } float batt = (level/(float) scale)*100.0f; // získá správné měřítko return batt; // vrátí úroveň}
void getBT () {// získá možná bluetooth připojení
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); // získá adaptér, pokud (! mBluetoothAdapter.isEnabled ()) {// zajistí, aby telefon ahs modrý zub na Intent enableBluetooth = nový záměr (BluetoothAdapter. ACTION_REQUEST_ENABLE); // požaduje, aby byl zapnuto, pokud není startActivityForResult (enableBluetooth, 0); } Nastavit pairedDevices = mBluetoothAdapter.getBondedDevices (); // získá seznam vázaných bluetooth if (pairedDevices.size ()> 0) {// zajistí, že pro (BluetoothDevice device: pairedDevices) {// prochází některá zařízení devices if (device.getName (). equals ("HC-05")) {// zkontroluje, zda je to správné mmDevice = device; // uloží jej break; }}}}
void openBT () hodí IOException {
UUID uuid = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); // Standard // SerialPortService ID mmSocket = mmDevice.createRfcommSocketToServiceRecord (uuid); // připojí se k zařízení se správným ID mmSocket.connect (); // spojí mmOutputStream = mmSocket.getOutputStream (); // spustí schopnost odesílat data do modulu arduino}
void sendData () vyvolá třídu IOException {//, která odešle t do arduina
mmOutputStream.write ('t'); }
void closeBT () vyvolá IOException {// zavře všechna připojení k Arduinu
stopWorker = true; mmOutputStream.close (); mmSocket.close (); }}
Krok 6: Soubory
Děkujeme za přečtení, v příloze jsou soubory, které byly použity v tomto projektu
Doporučuje:
Nabíječka telefonu na kolo: 6 kroků (s obrázky)
Nabíječka telefonů na kolo: Jedná se o nabíječku telefonů poháněnou na kole, která je levná, lze ji tisknout 3D, snadno vyrobit a nainstalovat a nabíječka telefonu je univerzální. Je to užitečná věc, pokud hodně jezdíte na kole a potřebujete nabít telefon. Nabíječka byla navržena a vyrobena
Nabíječka telefonu Iron Throne: 17 kroků (s obrázky)
Nabíječka telefonu Iron Throne: Jsem tak nadšený, že vychází 7. sezóna Game of Thrones, musel jsem vytvořit související projekt - nabíječku telefonu Iron Throne! Seznam dodávek: USB nabíječkaPlastové koktejlové mečeStříbrná akrylová barvaBronzová akrylová barvaBarva ve spreji2mm pěnaHustá foa
Snadná 5minutová USB solární nabíječka/přežití USB nabíječka: 6 kroků (s obrázky)
Snadná 5minutová solární nabíječka USB/nabíječka USB pro přežití: Ahoj kluci! Dnes jsem právě vyrobil (pravděpodobně) nejjednodušší USB nabíječku solárních panelů! Nejprve se omlouvám, že jsem pro vás nenahrál nějaké instrukce, kluci .. Během několika měsíců jsem dostal nějaké zkoušky (vlastně ne několik, možná týden nebo tak ..). Ale
DIY SOLÁRNÍ BUNDA (USB nabíječka telefonu): 9 kroků (s obrázky)
DIY SOLÁRNÍ BUNDA (USB nabíječka telefonu): Velmi jednoduchá a snadno vyrobitelná bunda a taška na solární telefon, kterou si můžete vyrobit i doma. Nabíjí váš telefon, aby poskytl šťávu, kterou potřebujete v nouzových situacích, pro úplný detailní pohled na projekt nezapomeňte zkontrolovat tento
DIY bezdrátová nabíječka telefonu a ovládání LED: 11 kroků (s obrázky)
DIY bezdrátová nabíječka telefonu a ovládání LED: V tomto návodu předvedu, jak vyrobit bezdrátovou nabíječku telefonu a aktivované diody LED. Zahrnu kód, soubory PDF, schémata zapojení a soubory Gerber a také kusovník materiálů pro vytvoření vlastní bezdrátové sítě nabíječka telefonu. Zvláštní poznámka: Ne