Mündəricat:
- Addım 1: Plastik komponentlər
- Addım 2: 3D Çap olunmamış Qismənləri Yıxın
- Addım 3: Elektronika
- Addım 4: Montaj
- Addım 5: Kod
- Addım 6: Fayllar
Video: Avtomatik telefon şarj cihazı: 6 addım (şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
"Bu təlimat, Cənubi Florida Universitetindəki Makecourse (www.makecourse.com) layihə tələbinin yerinə yetirilməsi üçün yaradılmışdır."
Bu layihənin arxasında duran fikir, telefonu şarj edə biləcək bir cihaz yaratmaq və sonra telefon 100%-ə çatanda onu elektrikdən ayırmaq idi. Bu, həddindən artıq yükləmə problemini dayandıracaq.
Addım 1: Plastik komponentlər
İstifadə olunan bəzi komponentlər var idi, bunlar 3D çap idi. Bu komponentlər bir baza, şarj cihazı tutucusu, bir raf və pinion dişli dəsti (normal bir dişli və fırlanmanı xətti hərəkətə çevirən xətti bir parça) və hər şeyin işləməsi üçün bir bazadan ibarət idi. Bu komponentlər aşağıdakı bəndlərdə izah ediləcəkdir. Görünüş sırasına görə
Şarj tutucusu
Bunun məqsədi telefon şarj cihazını tutmaq və ya heç olmasa daha yaxşı və səviyyəli bir baza verməkdir.
Baza
Baza telefon tutacağı üçün üzüklər və dişli dəsti üçün bir izə malikdir.
Telefon Tutacağı
Telefonun əlində olduğu aydındır
Telefon qolu
Telefonu hərəkətə gətirir və saxlayır
Rack və Pinion dişli dəsti
Telefon şarj cihazını irəli və irəli aparmaq üçün istifadə olunur
Addım 2: 3D Çap olunmamış Qismənləri Yıxın
Bunlar ya layihə üçün alınmış, ya da artıq sahibi olan komponentlərdir. Amazonda oxuduğum bəzi hissələr üçün/oxşar əşyalar, amma hər yerdə əldə etməkdən çəkinməyin.
Mikro Servo:
Standart 0-180 Servo:
HC-05 Bluetooth Serial Modulu:
Telefon və Telefon Şarj Cihazı
Arduino
Çörək lövhəsi
Baza üçün qutu və ya qutu
Toxunma sensoru:
Addım 3: Elektronika
HC-05 modulu səbəbiylə bu layihə üçün bəzi dövrlər tələb oluna bilər. Bu tip bir çox modul, Arduinonun iş diapazonunda olan təxminən 3.3V -dan 6V -a qədərdir. Ancaq serial ünsiyyət üçün Rx pin bəzən yalnız 3.3V ilə daha yaxşı işləyir. Yuxarıdakı diaqramda göründüyü kimi, iki servo Arduino üzərindəki Vin pininə bağlanmışdır. Bu əlavə gərginlik hər şeylə təmin edilə bilər, 9 voltluq bir batareya istifadə etdim. Toxunma sensoru Arduino -da 5V -ə qoşuldu. Bunun səbəbi, bütün komponentlərin eyni gərginlikdən qaçmaqda çətinlik çəkməsidir. Toxunma sensoru pin 2 -ə bərkidilir, buna görə də pin kəsilməsi kimi istifadə oluna bilər. Daha sonra bluetooth modulu serial rabitə üçün Rx və Tx pinlərinə qoşulur. Moduldakı Rx pimi ilə Arduino üzərindəki Tx arasında, yerə bağlanan 1 kilo ohm olan 2 kilo ohm müqavimətçi var. Bu, daxil olan gərginliyi tənzimləməyə kömək edir.
Addım 4: Montaj
Montaj olduqca sadədir.
- bəzi super yapışqan ilə servolarınızı mövqelərinə monte edin, biri bazadakı kəsiklə dişli üçün, biri də telefonun əsasının yerləşdiyi yerə yaxındır.
- Telefonun nə vaxt olduğunu bilmək üçün toxunma sensorunu telefon tutucusuna bağlayın.
- Sonra dişli və qolu müvafiq servolarına bağlayın
- Elektronikanı doldurarkən tellərin digər komponentlərə müdaxilə etmədiyinə əmin olun
Addım 5: Kod
Təqdim ediləcək üç kod dəsti var, Arduino IDE -də yaradılan bir Arduino kodu və Android Studio -da hazırlanmış iki kod. Android tətbiqləri eynidır, biri batareya ömrünü izləyən, digəri olmayan tam tətbiqdir. İkincisi sınaq məqsədlidir.
Arduino kodu
Bu kodun əsas məqamı toxunma sensoru və mühərrikləri idarə etməkdir, telefondan bir əmr alır və ona əməl edir.
#include // servo kitabxanasını çağırır ki, iki servoServo servo1 idarə edə bilək; Servo servo2; // hər bir servo mühərrik üçün iki servo obyekt yaradır int a = 0; // int q = 0 sınamaq üçün izləmə dəyişən; // pluggin prosesinin başlamazdan əvvəl gecikməyə imkan verən dəyişən char c; // telefonun boşluq qurma () {serialInterrupt (digitalPinToInterrupt (2), AH, FALLING); (10); servo2.attach (9); // iki servo Serial.begin (9600) başlatır; // bluetooth modulu servo2.write (20) ilə eyni sürətlə serial ünsiyyətə başlayır; // avtomatik olaraq servoları başlanğıc mövqeyi servo1.write (180); }
boşluq döngəsi () {
if (Serial.available ()) {// bu, telefondan Tx və Rx c = Serial.read () seriyalı pinləri üzərindən bir şeyin daxil olub olmadığını yoxlayır; // (c == 't') {// əgər serial cihaz oxuyursa, bu telefonun tam doldurulduğunu bildirir, ayırma prosesi servo2.write (120); // şarj cihazının gecikməsini (5000) çıxarır; // əmin olmaq üçün gözləyir aradan qaldırılması üçün vaxt var servo1.write (110); // siqnal vermək üçün telefonu dik vəziyyətdə hərəkət etdirir //Serial.println("burada "); attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // fasiləni yenidən bağlayır}} if (q == 1) {// pluggin şərti düzgündürsə, şarj cihazının gecikməsini (10000) bağlamağa başlayın; servo2.write (0); // servo q = 0 mövqeyinə keçir; // vəziyyəti sıfırlayır}}
boş AH () {
//Serial.println("in "); servo1.write (180); // telefon platformasını q = 1 şarj vəziyyətinə salır; // prosesi davam etdirmək üçün şərti işə salır // a = 1; detachInterrupt (digitalPinToInterrupt (2)); // fasiləni ayırır, belə ki, kəsilməməsi lazım olan vaxt başlayanda heç bir problem olmayacaq}
Android Tətbiqi
Burada yalnız uyğun proqramı göstərəcəyəm, amma test kodu faylı da veriləcək, yeganə fərq qaça bilən və getBattery sinifinin silinməsi olacaq. Adı çəkilən serial kodu, modul kimi cihazlara qoşulan telefonlar üçün standartdır.
com.example.daniel.make paketi; android.bluetooth. BluetoothAdapteri idxal edin; android.bluetooth. BluetoothDevice idxal edin; android.bluetooth. BluetoothSocket idxal edin; android.os. Handler idxal edin; android.support.v7.app. AppCompatActivity idxal edin; android.os. Bundle idxal edin; android.content. Intent idxal edin; android.content. IntentFilter idxal edin; android.os. BatteryManager idxal edin; java.io. IOException idxal edin; java.io. OutputStream idxal edin; java.util. Set idxal edin; java.util. UUID idxal edin;
ictimai sinif MainActivity, AppCompatActivity -ni genişləndirir {
// lazımlı obyektlərin işlənməsi işləyicisi; // Runnable runnable döngəsinə kömək edir; // davamlı olaraq BluetoothAdapter mBluetoothAdapter çalışır; Bluetooth yuvası mmSocket; Bluetooth Cihazı mmDevice; Çıxış axını mmOutputStream; uçucu boolean stopWorker; xüsusi OutputStream outputStream; xüsusi son String DEVICE_NAME = "HC-05"; şəxsi son UUID PORT_UUID = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); xüsusi Bluetooth Adapter cihazı; özəl BluetoothSocket yuvası; @Override qorunan boşluğu onCreate (Bundle saveInstanceState) {// tətbiq yaradıldıqda işləyən təlimatlar toplusudur super.onCreate (saveInstanceState); // displya yaradılması setContentView (R.layout.activity_main); runnable = new Runnable () {@Override public void run () {// dəfələrlə çalışır int level = (int) getBattery (); // əgər batareya səviyyəsi varsa 100% cəhd edin {getBT (); // bluetooth moduluna qoşulur openBT (); // açar sendData (); // lazımi məlumatları göndərir closeBT (); // obyekti bağlayır} tutmaq (IOException ex) { }} handler.postDelayed (runnable, 5000); // bir gecikmə}}; işləyici = yeni Handler (); handler.postDelayed (runnable, 0); }
ictimai float getBattery () {
Intent = registerReceiver (null, yeni IntentFilter (Intent. ACTION_BATTERY_CHANGED)); // batareyaya int səviyyəsi = batteryIntent.getIntExtra (BatteryManager. EXTRA_LEVEL, -1) bağlanan hərəkəti yaradır; // daha yaxşı səviyyəli int miqyasını alır = batteryIntent.getIntExtra (BatteryManager. EXTRA_SCALE, -1); } float batt = (level/(float) miqyaslı)*100.0f; // müvafiq miqyaslı qaytarma vuruşunu alır; // səviyyəni qaytarır}
void getBT () {// mümkün bluetooth əlaqələrini alır
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); // əgər adapteri alırsa (! mBluetoothAdapter.isEnabled ()) {// telefonun Intent enableBluetooth = yeni Niyyət (BluetoothAdapter. ACTION_REQUEST_ENABLE) üzərində mavi diş olmasını təmin edər; // olmasını istəyir startActivityForResult olmadıqda aktivdir (enableBluetooth, 0); } Set pairedDevices = mBluetoothAdapter.getBondedDevices (); // (pairedDevices.size ()> 0) {// bluetooth siyahısını alırsa (BluetoothDevice cihazı: pairedDevices) {// üçün bəzi cihazların olduğundan əmin olur. cihazlar if (device.getName (). bərabərdir ("HC-05")) {// uyğun olduğunu yoxlayır mmDevice = cihaz; // qırılmasını saxlayır; }}}}
void openBT () IOException atır {
UUID uuid = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); // Standart // SerialPortService ID mmSocket = mmDevice.createRfcommSocketToServiceRecord (uuid); // cihaza mmSocket.connect () uyğun id ilə qoşulur; // mmOutputStream = mmSocket.getOutputStream (); // göndərmə qabiliyyətinə başlayır arduino moduluna verilən məlumatlar}
void sendData () tu arduinoya göndərən IOException {// sinifini atır
mmOutputStream.write ('t'); }
void closeBT () IOException atır {// arduino ilə bütün əlaqələri bağlayır
stopWorker = doğru; mmOutputStream.close (); mmSocket.close (); }}
Addım 6: Fayllar
Oxuduğunuz üçün təşəkkür edirik, bu layihədə istifadə olunan fayllar əlavə olunur
Tövsiyə:
Velosipedlə işləyən telefon şarj cihazı: 6 addım (şəkillərlə birlikdə)
Bike Powered Telefon Şarj Cihazı: Bu ucuz, 3D çap edilə bilən, hazırlanması və quraşdırılması asan olan ve telefon şarj cihazı universal olan bir Velosiped Güclü telefon şarj cihazıdır. Velosipedinizi çox sürürsünüzsə və telefonunuzu doldurmalısınızsa, bu faydalı bir şeydir. Şarj cihazı dizayn edilmiş və qurulmuşdur
Avtomatik 12V Batareya Şarj Cihazı Necə Hazırlanır: 16 Addım (Şəkillərlə birlikdə)
Avtomatik 12V Batareya Şarj Cihazı Necə Hazırlanır: Hey! hamı Mənim adım Steve.Bu gün sizə 12v batareya şarj cihazının necə hazırlanacağını göstərəcəyəm Videoya baxmaq üçün bura basın
Dəmir taxt telefon şarj cihazı: 17 addım (şəkillərlə birlikdə)
Iron Throne Telefon Şarj Cihazı: Game of Thrones -un 7 -ci mövsümü haqqında çox darıxıram, əlaqədar bir layihə - Demir Taxt telefon şarj cihazı hazırlamalı oldum! Təchizat siyahısı: USB şarj cihazı Plastik kokteyl qılıncları
Asan 5 Dəqiqə USB Günəş Şarj Cihazı/Survival USB Şarj Cihazı: 6 Addım (Şəkillərlə birlikdə)
Asan 5 Dəqiqə USB Günəş Şarj Cihazı/Survival USB Şarj Cihazı: Salam uşaqlar! Bu gün (bəlkə də) ən asan usb günəş paneli şarj cihazı etdim! Əvvəlcə sizin üçün təlimat verən bir şey yükləmədiyim üçün üzr istəyirəm .. Son bir neçə ayda bir neçə imtahan aldım (əslində bir neçə həftə də ola bilməz ..). Amma
Avtomatik 12v batareya şarj cihazı necə hazırlanır: 6 addım (şəkillərlə birlikdə)
Avtomatik 12v Batareya Şarj Cihazı Necə Hazırlanır: Hər kəsə bu təlimatlarda sizə avtomatik batareya şarj cihazının necə hazırlanacağını göstərəcəyəm