İçindekiler:
- Adım 1: Plastik Bileşenler
- 2. Adım: 3D Yazdırılmamış Bileşenlerin Parçalanması
- Adım 3: Elektronik
- Adım 4: Montaj
- Adım 5: Kod
- 6. Adım: Dosyalar
Video: Otomatik Telefon Şarj Cihazı: 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
"Bu talimat, Güney Florida Üniversitesi'ndeki (www.makecourse.com) Makecourse'un proje gereksinimini yerine getirmek için oluşturuldu"
Bu projenin arkasındaki fikir, bir telefonu şarj edebilecek ve ardından telefon %100'e ulaştığında fişini çekebilecek bir cihaz oluşturmaktı. Bu, aşırı şarj sorunlarını durduracaktır.
Adım 1: Plastik Bileşenler
Kullanılan 3D baskılı bazı bileşenler vardı. Bu bileşenler bir taban, şarj cihazı için bir tutucu, bir kremayer ve pinyon dişli takımı (normal bir dişli ve dönüşü doğrusal harekete değiştiren doğrusal bir parça) ve her şeyin üzerinde çalışabileceği bir tabandan oluşuyordu. Bu bileşenler aşağıdaki paragraflarda açıklanacaktır. Görünüş sırasına göre
şarj tutucu
Bunun amacı, telefon şarj cihazını tutmak veya en azından üzerinde olması için daha iyi ve düz bir taban sağlamaktır.
Temel
Tabanda telefon tutucusu için halkaların yanı sıra dişli takımı için bir ray bulunur.
Telefon Tutucu
Telefonu tutar açıkçası
Telefon Kolu
Telefonu hareket ettirir ve tutar
Raf ve Pinyon Dişli Takımı
Telefon şarj cihazını ileri geri hareket ettirmek için kullanılır
2. Adım: 3D Yazdırılmamış Bileşenlerin Parçalanması
Bunlar, proje için satın alınan veya zaten sahip olunan bileşenlerdir. Amazon'da onlara/benzer öğelere bağladığım bazı parçalar için, ancak bunları herhangi bir yerden satın almaktan çekinmeyin.
Mikro Servo:https://www.amazon.com/J-Deal-Micro-Helicopter-Air…
Standart 0-180 Servo:https://www.amazon.com/Futaba-FUTM0031-S3003-Stand…
HC-05 Bluetooth Seri Modülü:https://www.amazon.com/HC-05-Bluetooth-Pass-throug…
Telefon ve Telefon Şarj Cihazı
Arduino
ekmek tahtası
Baz için kutu veya kutu
Dokunmatik Sensör:https://www.amazon.com/Digital-Sensor-capacitive-s…
Adım 3: Elektronik
Bu proje için devre, esas olarak HC-05 modülü nedeniyle biraz gerektirebilir. Bu tipteki modüllerin çoğu, Arduino'nun çalışma aralığında olan kabaca 3,3V ila 6V arasında oranlıdır. Ancak seri iletişim için Rx pini bazen sadece 3.3V ile daha iyi çalışır. Yukarıdaki şemada görüldüğü gibi, iki servo Arduino üzerindeki Vin pinine bağlanmıştır. Bu ekstra voltaj her şeyle sağlanabilir, ben 9 voltluk bir pil kullandım. Dokunmatik sensör Arduino'daki 5V'a takıldı. Bunun nedeni, tüm bileşenlerin aynı voltajdan kaçarken sorun yaşamasıydı. Dokunmatik sensör, pin kesme olarak kullanılabilmesi için pin 2'ye bağlanmıştır. Ardından bluetooth modülü seri haberleşme için Rx ve Tx pinlerine bağlanır. Modül üzerindeki Rx pini ile Arduino üzerindeki Tx arasında toprağa bağlanan 1 kilo ohm'luk 2 kilo ohm'luk bir direnç bulunur. Bu, giren voltajı düzenlemeye yardımcı olur.
Adım 4: Montaj
Montaj oldukça basittir.
- bazı süper yapıştırıcı ile servolarınızı konumlarına monte edin, biri tabandaki oyuktaki dişli için ve diğeri telefonun tabanının olduğu yere yakın.
- Telefonun ne zaman orada olduğunu bilmesi için dokunmatik sensörü telefon tutucuya takın.
- Ardından dişliyi ve kolu ilgili servolara takın
- Elektroniklerinizi doldururken kabloların diğer bileşenlere karışmadığından emin olun.
Adım 5: Kod
Arduino IDE'de oluşturulan Arduino için bir kod ve Android Studio'da yapılan iki kod olmak üzere üç kod seti sunulacaktır. Android uygulamaları, birinin pil ömrünü izleyen tam uygulama olması ve birinin izlememesi dışında aynıdır. İkincisi test amaçlıdır.
Arduino Kodu
Bu kodun asıl amacı dokunmatik sensör ve motorları çalıştırmaktır, telefondan bir komut alır ve ona göre hareket eder.
#include // iki servoyu kontrol edebilmemiz için servo kitaplığını çağırırServo servo1; Servo servo2;//her servo motor için iki servo nesne oluşturur int a=0;//test için izleme değişkeni int q=0;//takma işlemi başlamadan önce gecikme olmasını sağlayan bir değişken char c;// telefondan gelen seri mesajı içeren değişken void setup() { AttachInterrupt(digitalPinToInterrupt(2), AH, FALLING);// servo1.attach'ta dokunmatik sensörün telefonun ne zaman dışarıda olduğunu tam olarak ne zaman gördüğünü bilmek için düşen bir kesme ekler (10); servo2.attach(9);// iki servoyu başlatır Serial.begin(9600);// bluetooth modülü servo2.write(20) ile benzer bir hızda seri iletişimi başlatır;//otomatik servoları ayarlar bir başlangıç konumu servo1.write(180); }
boşluk döngüsü () {
if (Serial.available()){// bu, Tx ve Rx seri pinleri üzerinden telefondan herhangi bir şey gelip gelmediğini kontrol eder c=Serial.read();// if (c=='den gelenleri okur) 't'){//seri cihaz o sırada okursa, telefonun tamamen şarj olduğu anlamına gelir, fişten çekme işlemi başlar servo2.write(120);//şarj gecikmesini çıkarır (5000);//emin olmak için bekler kaldırma için zaman var servo1.write(110);//telefonu dik konuma getirerek //Serial.println("burada"); AttachInterrupt(digitalPinToInterrupt(2), AH, FALLING);//kesmeyi yeniden ekler } } if (q==1){//eğer eklenti için koşul varsa, şarj gecikmesini (10000) takmakla başlayın; servo2.write(0);//servoyu q=0 konumuna taşır;//koşulu sıfırlar } }
geçersiz AH(){
//Serial.println("in"); servo1.write(180);// telefon platformunu şarj konumuna düşürür q=1;//işlemi devam ettirmek için koşulu başlatır //a=1; detachInterrupt (digitalPinToInterrupt(2));//kesmeyi ayırır, böylece kesilmemesi gerektiğinde başlamasıyla ilgili herhangi bir sorun olmaz }
Android uygulaması
Burada sadece uygun uygulamayı göstereceğim ama test kod dosyası da verilecek, tek fark runnable ve getBattery sınıfının kaldırılması olacak. Bahsedilen seri kod, modül gibi cihazlara bağlanan telefonlar için standart olandır.
paket com.example.daniel.make; android.bluetooth. BluetoothAdapter'ı içe aktarın; android.bluetooth. BluetoothDevice'i içe aktar; android.bluetooth. BluetoothSocket'i içe aktarın; android.os. Handler'ı içe aktar; android.support.v7.app. AppCompatActivity'yi içe aktarın; android.os. Bundle'ı içe aktar; android.content. Intent'i içe aktarın; android.content. IntentFilter'ı içe aktarın; android.os. BatteryManager'ı içe aktarın; java.io. IOException'ı içe aktarın; java.io. OutputStream'i içe aktarın; java.util. Set'i içe aktar; java.util. UUID'yi içe aktarın;
public class MainActivity, AppCompatActivity'yi genişletir {
// gerekli nesneleri oluşturma İşleyici işleyicisi;//Runnable runnable döngüsüne yardımcı olur;//sürekli çalışır BluetoothAdapter mBluetoothAdapter; BluetoothSocket mmSocket; BluetoothCihaz mmCihaz; OutputStream mmOutputStream; uçucu boolean stopWorker; özel OutputStream outputStream; özel son Dize DEVICE_NAME="HC-05"; özel son UUID PORT_UUID=UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); özel BluetoothAdapter cihazı; özel BluetoothSocket soketi; @Override protected void onCreate(Bundle saveInstanceState) {//uygulama oluşturulduğunda çalışan bir dizi talimat super.onCreate(savedInstanceState);//displya oluşturma setContentView(R.layout.activity_main); runnable = new Runnable() { @Override public void run() {//tekrar tekrar çalışır int level = (int) getBattery();// şu anki pil seviyesini alır if (level==100){//eğer pil seviyesi %100'e ulaşır try { getBT();//bluetooth modülüne bağlanır openBT();//onu açar sendData();//gerekli verileri gönderir closeBT();//nesneyi kapatır } catch (IOException ex) { } } handler.postDelayed(runnable, 5000);//bir gecikme } }; işleyici = yeni İşleyici(); handler.postDelayed(runnable, 0); }
genel şamandıra getBattery() {
Intent batteryIntent= registerReceiver(null, new IntentFilter(Intent. ACTION_BATTERY_CHANGED));// pile bağlanan eylemi oluşturur int level = batteryIntent.getIntExtra(BatteryManager. EXTRA_LEVEL, -1);//daha iyi seviyeyi alır int ölçeği = pilIntent.getIntExtra(BatteryManager. EXTRA_SCALE, -1);//eğer (seviye == -1 || ölçek == -1) pilin ölçeğini alır {//yanlış adım durumunda dönüş 50.0f; } float batt = (level/(float)scale)*100.0f;//uygun ölçek dönüş battını alır;//seviyeyi döndürür }
void getBT(){//olası bluetooth bağlantılarını alır
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();//bağdaştırıcıyı alır if(!mBluetoothAdapter.isEnabled()) {//telefonun Intent etkinleştirmede mavi dişe sahip olduğundan emin olurBluetooth = new Intent(BluetoothAdapter. ACTION_REQUEST_ENABLE);//olmasını ister startActivityForResult(enableBluetooth, 0); değilse açılır; } pairedDevices = mBluetoothAdapter.getBondedDevices();//bağlı bluetooth listesini alır if(pairedDevices.size() > 0) {//(BluetoothDevice device: pairedDevices) için bazı cihazlar olduğundan emin olur {// cihazlar if(device.getName().equals("HC-05")) {//uygun olup olmadığını kontrol eder mmDevice = device;//bozukluğunu kaydeder; } } } }
void openBT(), IOException {'yi atar
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); //Standart //SerialPortService Kimliği mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid);//uygun kimlikle cihaza bağlanır mmSocket.connect();//mmOutputStream'i bağlar = mmSocket.getOutputStream();//gönderme yeteneğini başlatır arduino modülüne veri }
void sendData(), t'yi arduino'ya gönderen IOException {//sınıfını atar
mmOutputStream.write('t'); }
void closeBT(), IOException'ı atar {//arduinoya olan tüm bağlantıları kapatır
stopWorker = doğru; mmOutputStream.close(); mmSocket.close(); } }
6. Adım: Dosyalar
Okuduğunuz için teşekkürler, bu projede kullanılan dosyalar ektedir.
Önerilen:
Bisikletle Çalışan Telefon Şarj Cihazı: 6 Adım (Resimlerle)
Bisikletle Çalışan Telefon Şarj Cihazı: Bu, ucuz, 3D yazdırılabilir, yapımı ve kurulumu kolay, Bisikletle Çalışan bir telefon şarj cihazıdır ve telefon şarj cihazı evrenseldir. Bisikletinizi çok kullanıyorsanız ve telefonunuzu şarj etmeniz gerekiyorsa sahip olmanız faydalı bir şeydir.Şarj cihazı tasarlanmış ve üretilmiştir
Otomatik 12V Pil Şarj Cihazı Nasıl Yapılır: 16 Adım (Resimlerle)
Otomatik 12V Pil Şarj Cihazı Nasıl Yapılır: Hey! herkes Benim adım Steve.Bugün size 12v Pil Şarj Cihazı Nasıl Yapılır onu göstereceğim Videoyu Görmek İçin Buraya Tıklayın Başlayalım
Kolay 5 Dakika USB Solar Şarj Cihazı/Hayatta Kalma USB Şarj Cihazı: 6 Adım (Resimlerle)
Kolay 5 Dakika USB Solar Şarj Cihazı/Hayatta Kalma USB Şarj Cihazı: Merhaba arkadaşlar! Bugün (muhtemelen) en kolay usb güneş paneli şarj cihazını yaptım! Öncelikle, sizin için bazı eğitici bilgiler yüklemediğim için üzgünüm çocuklar.. Geçtiğimiz birkaç ayda bazı sınavlarım var (aslında birkaç değil, belki bir hafta kadar..). Fakat
Otomatik 12v Pil Şarj Cihazı Nasıl Yapılır: 6 Adım (Resimlerle)
Otomatik 12v Pil Şarj Cihazı Nasıl Yapılır: Herkese merhaba bu talimatta size otomatik pil şarj cihazının nasıl yapıldığını göstereceğim
DIY GÜNEŞ CEKET (Usb Telefon Şarj Cihazı): 9 Adım (Resimlerle)
DIY SOLAR JACKET(Usb Phone Charger): Evinizde bile yapabileceğiniz, çok basit ve kolay diyebileceğimiz bir güneş enerjisi şarj ceketi ve çantası. proje bunu kontrol etmeyi unutmayın