Spisu treści:
- Krok 1: Elementy z tworzyw sztucznych
- Krok 2: Rozbicie komponentów innych niż drukowane w 3D
- Krok 3: Elektronika
- Krok 4: Montaż
- Krok 5: Kod
- Krok 6: Pliki
Wideo: Automatyczna ładowarka do telefonu: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
„Ta instrukcja została stworzona w celu spełnienia wymagań projektowych Makecourse na University of South Florida (www.makecourse.com)”
Ideą tego projektu było stworzenie urządzenia, które mogłoby ładować telefon, a następnie odłączyć go, gdy telefon osiągnie 100%. To powstrzymałoby problemy z nadmiernym ładowaniem.
Krok 1: Elementy z tworzyw sztucznych
Wykorzystano kilka komponentów, które zostały wydrukowane w 3D. Te elementy składały się z podstawy, uchwytu na ładowarkę, zębatki i zębatki (normalna przekładnia i element liniowy, który zmienia ruch obrotowy na ruch liniowy) oraz podstawy do wszystkiego, na czym można było operować. Te elementy zostaną wyjaśnione w kolejnych akapitach. W kolejności pojawiania się
Uchwyt ładowarki
Celem tego jest trzymanie ładowarki telefonu lub przynajmniej nadanie jej lepszej i równej podstawy.
Baza
Podstawa posiada pierścienie do uchwytu telefonu oraz tor na zestaw narzędzi.
Posiadacz telefonu
Oczywiście trzyma telefon
Uzbrojenie telefonu
Porusza i trzyma telefon
Zestaw zębatek i zębatek
Służy do przesuwania ładowarki telefonu tam iz powrotem
Krok 2: Rozbicie komponentów innych niż drukowane w 3D
Są to komponenty, które zostały zakupione do projektu lub już posiadane. W przypadku niektórych części, które połączyłem z nimi/podobnymi przedmiotami na amazon, możesz je kupić w dowolnym miejscu.
Micro Servo:
Serwo standardowe 0-180:
Moduł szeregowy Bluetooth HC-05:
Telefon i ładowarka do telefonu
Arduino
Deska do krojenia chleba
Pudełko lub kosz na podstawę
Czujnik dotykowy:
Krok 3: Elektronika
Układ do tego projektu może jednak wymagać trochę, głównie ze względu na moduł HC-05. Wiele modułów tego typu ma napięcie od około 3,3 V do 6 V, co mieści się w zakresie działania Arduino. Ale w przypadku komunikacji szeregowej pin Rx czasami działa lepiej przy tylko 3,3 V. Jak widać na powyższym schemacie, dwa serwa są podłączone do pinu Vin w Arduino. To dodatkowe napięcie może być dostarczane przez wszystko, użyłem baterii 9 woltów. Czujnik dotykowy został podłączony do 5V na Arduino. Wynikało to z tego, że wszystkie komponenty miały problemy z odprowadzeniem tego samego napięcia. Czujnik dotykowy jest podłączony do pinu 2, dzięki czemu może być używany jako przerwanie pinu. Następnie moduł bluetooth jest podłączony do pinów Rx i Tx w celu komunikacji szeregowej. Pomiędzy pinem Rx na module a Tx na Arduino znajduje się rezystor 2 kiloomów z 1 kiloomem podłączonym do masy. Pomaga to regulować napięcie wchodzące.
Krok 4: Montaż
Montaż jest dość prosty.
- za pomocą super kleju zamontuj serwa na swoich pozycjach, jeden na koło zębate przy wycięciu w podstawie, a drugi w pobliżu podstawy telefonu.
- Przymocuj czujnik dotykowy do uchwytu telefonu, aby wiedział, kiedy telefon się tam znajduje.
- Następnie przymocuj sprzęt i ramię do odpowiednich serw
- Upewnij się, że przewody nie kolidują z innymi komponentami podczas napełniania elektroniki
Krok 5: Kod
Zaprezentowane zostaną trzy zestawy kodu, jeden kod dla Arduino, który został stworzony w Arduino IDE i dwa kody, które zostały wykonane w Android Studio. Aplikacje na Androida są takie same, z wyjątkiem jednej pełnej aplikacji, która śledzi żywotność baterii, a jedna nie. Drugi służy do celów testowych.
Kod Arduino
Głównym celem tego kodu jest obsługa czujnika dotykowego i silników, odbiera polecenie z telefonu i działa na nim.
#include //wywołuje bibliotekę serwo, dzięki czemu możemy sterować dwoma serwomechanizmamiServo servo1; Servo servo2;//tworzy dwa obiekty serwo dla każdego serwosilnika int a=0;//zmienna śledząca do testowania int q=0;//zmienna pozwalająca na opóźnienie przed rozpoczęciem procesu podłączania char c;// zmienna zawierająca komunikat szeregowy z telefonu void setup() { attachInterrupt(digitalPinToInterrupt(2), AH, FALLING);// dołącza przerwanie opadające, aby dokładnie wiedzieć, kiedy czujnik dotyku widzi, kiedy telefon jest wyłączony na servo1.attach (10); servo2.attach(9);// inicjuje dwa serwa Serial.begin(9600);// rozpoczyna komunikację szeregową z szybkością podobną do szybkości modułu bluetooth servo2.write(20);//auto ustawia serwa na pozycja startowa servo1.write(180); }
pusta pętla () {
if (Serial.available()){// to sprawdza, czy coś przychodzi z telefonu przez styki szeregowe Tx i Rx c=Serial.read();//odczytuje, co przychodzi z if (c== 't'){//jeśli urządzenie szeregowe odczyta to oznacza to, że telefon jest w pełni naładowany, rozpoczyna się proces odłączania servo2.write(120);//odłącza opóźnienie ładowarki (5000);//czeka, aby się upewnić jest czas na usunięcie servo1.write(110);// ustawia telefon w pozycji pionowej, aby zasygnalizować //Serial.println("tu"); attachInterrupt(digitalPinToInterrupt(2), AH, FALLING);//ponownie dołącza przerwanie } } if (q==1){//jeśli warunek podłączenia jest spełniony, zacznij od dołączenia opóźnienia ładowarki (10000); servo2.write(0);//przenosi serwo na pozycję q=0;//resetuje warunek } }
nieważne AH() {
//Serial.println("w"); servo1.write(180);// ustawia platformę telefoniczną w pozycji ładowania q=1;//uruchamia warunek kontynuacji procesu //a=1; detachInterrupt (digitalPinToInterrupt(2));//odłącza przerwanie, dzięki czemu nie będzie żadnych problemów z uruchomieniem przerwania, kiedy nie powinno }
Aplikacja na Androida
Tutaj wyświetlę tylko odpowiednią aplikację, ale zostanie również podany plik z kodem testowym, jedyną różnicą będzie usunięcie klas runnable i getBattery. Wspomniany kod seryjny to ten, który jest standardem dla telefonów łączących się z urządzeniami takimi jak moduł.
pakiet com.przyklad.daniel.make; importuj android.bluetooth. BluetoothAdapter; importuj android.bluetooth. BluetoothDevice; importuj android.bluetooth. BluetoothSocket; importuj android.os. Handler; importuj android.support.v7.app. AppCompatActivity; importuj android.os. Bundle; importuj android.treść. Intent; importuj android.content. IntentFilter; importuj android.os. BatteryManager; import java.io. IOException; import java.io. OutputStream; import java.util. Set; import java.util. UUID;
klasa publiczna MainActivity rozszerza AppCompatActivity {
// tworzenie potrzebnych obiektów Handler handler;//pomaga w pętli Runnable runnable;//działa w sposób ciągły BluetoothAdapter mBluetoothAdapter; BluetoothGniazdo mmGniazdo; BluetoothUrządzenie mmUrządzenie; Strumień wyjściowy mm Strumień wyjściowy; lotny stop logicznyWorker; prywatny OutputStream outputStream; prywatny końcowy String DEVICE_NAME="HC-05"; prywatny końcowy UUID PORT_UUID=UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); prywatne urządzenie BluetoothAdapter; prywatne gniazdo BluetoothSocket; @Override protected void onCreate(Bundle savedInstanceState) {//to zestaw instrukcji uruchamianych podczas tworzenia aplikacji super.onCreate(savedInstanceState);//displya creation setContentView(R.layout.activity_main); runnable = new Runnable() { @Override public void run() {//uruchamia się wielokrotnie int level = (int) getBattery();// pobiera aktualny poziom baterii if (level==100){//jeśli poziom baterii osiąga 100% try { getBT();//łączy się z modułem bluetooth openBT();//otwiera go sendData();//wysyła niezbędne dane closeBT();//zamyka obiekt } catch (IOException ex) { } } handler.postDelayed(runnable, 5000);//a opóźnienie } }; handler = nowy Handler(); handler.postDelayed(uruchamialny, 0); }
public float pobierzBattery() {
Intent batteryIntent= registerReceiver(null, new IntentFilter(Intent. ACTION_BATTERY_CHANGED));// tworzy akcję, która łączy się z poziomem baterii int = batteryIntent.getIntExtra(BatteryManager. EXTRA_LEVEL, -1);//pobiera poziom ulepszenia int scale = batteryIntent.getIntExtra(BatteryManager. EXTRA_SCALE, -1);//pobiera skalę baterii if (poziom == -1 || scale == -1) {//w przypadku błędnego kroku zwróć 50.0f; } float batt = (level/(float)scale)*100.0f;//pobiera odpowiednią skalę zwraca batt;//zwraca poziom }
void getBT(){//pobiera możliwe połączenia bluetooth
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();//pobiera adapter if(!mBluetoothAdapter.isEnabled()) {//upewnia się, że telefon ma niebieski ząb w trybie Intent enableBluetooth = new Intent(BluetoothAdapter. ACTION_REQUEST_ENABLE);//prosi o to włączone, jeśli nie startActivityForResult(enableBluetooth, 0); } Set pairedDevices = mBluetoothAdapter.getBondedDevices();//pobiera listę połączonych urządzeń bluetooth if(pairedDevices.size() > 0) {//upewnia się, że są jakieś urządzenia dla(BluetoothDevice device: pairedDevices) {//przechodzi przez devices if(device.getName().equals("HC-05")) {//sprawdza, czy jest to właściwe mmDevice = device;//zapisuje przerwanie; } } } }
void openBT() wyrzuca IOException {
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); //Standard //SerialPortService ID mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid);//łączy się z urządzeniem o odpowiednim identyfikatorze mmSocket.connect();//connects mmOutputStream = mmSocket.getOutputStream();//uruchamia możliwość wysyłania dane do modułu arduino }
void sendData() wyrzuca IOException {//klasa, która wysyła t do arduino
mmOutputStream.write('t'); }
void closeBT() wyrzuca IOException {//zamyka wszystkie połączenia z arduino
stopWorker = prawda; mmOutputStream.close(); mmSocket.zamknij(); } }
Krok 6: Pliki
Dziękuję za przeczytanie, w załączeniu pliki, które zostały wykorzystane w tym projekcie
Zalecana:
Ładowarka do telefonu zasilana rowerem: 6 kroków (ze zdjęciami)
Ładowarka do telefonu zasilana rowerem: jest to ładowarka do telefonu zasilana rowerem, która jest tania, drukowana w 3D, łatwa do wykonania i instalacji, a ładowarka do telefonu jest uniwersalna. Przydaje się, jeśli dużo jeździsz na rowerze i musisz naładować telefon.Ładowarka została zaprojektowana i zbudowana
Ładowarka do telefonu Iron Throne: 17 kroków (ze zdjęciami)
Ładowarka do telefonu Iron Throne: Jestem tak podekscytowany siódmym sezonem Game of Thrones, że musiałem zrobić powiązany projekt - ładowarka do telefonu Iron Throne! Lista dostaw: ładowarka USBPlastikowe miecze koktajloweSrebrna farba akrylowaBrązowa farba akrylowaCzarna farba w sprayuPianka 2mmGruba pianka
Łatwa 5-minutowa ładowarka solarna USB / ładowarka USB Survival: 6 kroków (ze zdjęciami)
Easy 5 Minut USB Solar Charger/Survival USB Charger: Cześć chłopaki! Dzisiaj właśnie zrobiłem (chyba) najłatwiejszą ładowarkę do paneli słonecznych USB! Po pierwsze, przepraszam, że nie przesłałem żadnych instrukcji dla was. W ciągu ostatnich kilku miesięcy dostałem kilka egzaminów (właściwie nie kilka, może tydzień lub więcej…). Ale
DIY SOLAR JACKET (ładowarka do telefonu USB): 9 kroków (ze zdjęciami)
DIY KURTKA SŁONECZNA (Ładowarka do telefonu USB): bardzo prosta i łatwa do zrobienia kurtka i torba do ładowania telefonu słonecznego, które możesz wykonać nawet w domu. ładuje telefon, aby zapewnić sok, którego potrzebujesz w sytuacjach awaryjnych, aby uzyskać pełny projekt nie zapomnij sprawdzić tego
DIY bezprzewodowa ładowarka do telefonu i sterowanie LED: 11 kroków (ze zdjęciami)
DIY Bezprzewodowa ładowarka do telefonu i sterowanie LED: W tej instrukcji pokażę, jak zrobić bezprzewodową ładowarkę do telefonu i aktywowane diody LED. ładowarka do telefonu.Uwaga specjalna: Nie