Sisukord:
- Samm: plastkomponendid
- 2. toiming: mitte -3D -prinditud komponentide lagunemine
- 3. samm: elektroonika
- 4. samm: kokkupanek
- Samm: kood
- 6. samm: failid
Video: Automaatne telefonilaadija: 6 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
"See juhend on loodud Lõuna -Florida ülikooli Makecourse'i projektinõude täitmiseks (www.makecourse.com)"
Selle projekti idee oli luua seade, mis suudaks telefoni laadida, ja seejärel ühendage see vooluvõrgust lahti, kui telefon jõuab 100%-ni. See peatab ülelaadimise probleemid.
Samm: plastkomponendid
Kasutati mõningaid komponente, mis trükiti 3D -vormingus. Need komponendid koosnesid alusest, laadija hoidikust, hammasratta ja hammasrataste komplektist (tavaline käik ja lineaarne tükk, mis muudab pöörlemise lineaarseks liikumiseks) ja aluse kõigeks toimimiseks. Neid komponente selgitatakse järgmistes lõikudes. Esinemise järjekorras
Laadija hoidik
Selle eesmärk on hoida telefoni laadijat või vähemalt anda sellele parem ja tasasem alus.
Alus
Alusel on rõngad telefonihoidjale ja käigukasti komplekt.
Telefonihoidja
Ilmselgelt hoiab telefoni käes
Telefoni arm
Liigutab ja hoiab telefoni
Hammasrataste ja hammasrataste komplekt
Kasutatakse telefoni laadija edasi -tagasi liigutamiseks
2. toiming: mitte -3D -prinditud komponentide lagunemine
Need on komponendid, mis on projekti jaoks ostetud või juba omanduses. Mõne osa jaoks, mille ma nendega linkisin/sarnased üksused Amazonis, kuid võite need vabalt hankida.
Mikroservo:
Standard 0-180 servo:
HC-05 Bluetoothi jadamoodul:
Telefon ja telefoni laadija
Arduino
Leivalaud
Aluse jaoks kast või prügikast
Puuteandur:
3. samm: elektroonika
Selle projekti vooluahel võib mõnda siiski nõuda, peamiselt HC-05 mooduli tõttu. Paljud seda tüüpi moodulid töötavad umbes 3.3V kuni 6V, mis on Arduino tööpiirkonnas. Kuid jadakommunikatsiooni jaoks töötab Rx -pin mõnikord paremini ainult 3,3 V juures. Nagu ülaltoodud diagrammilt näha, on kaks servot ühendatud Arduino Vini tihvtiga. Seda lisapinget võib pakkuda kõik, kasutasin 9 -voldist akut. Puuteandur ühendati Arduino 5V -ga. Selle põhjuseks oli asjaolu, et kõigil komponentidel oli probleeme sama pingega. Puuteandur on kinnitatud tihvti 2 külge, nii et seda saab kasutada tihvti katkestusena. Seejärel ühendatakse Bluetooth -moodul jadaühenduseks Rx- ja Tx -kontaktidega. Mooduli Rx -tihvti ja Arduino Tx vahel on 2 -kilone oomi takisti, mille 1 -kilone oom on ühendatud maaga. See aitab reguleerida sissetulevat pinget.
4. samm: kokkupanek
Kokkupanek on üsna lihtne.
- mõne superliimiga kinnitage oma servod oma asendisse, üks hammasratta jaoks aluse väljalõike ääres ja teine telefoni aluse lähedal.
- Kinnitage puuteandur telefonihoidiku külge, et see saaks teada, millal telefon on olemas.
- Seejärel kinnitage hammasratas ja käepide vastavatele servodele
- Veenduge, et juhtmed ei segaks elektroonika täitmisel teisi komponente
Samm: kood
Esitatakse kolm koodikomplekti, üks Arduino kood, mis loodi Arduino IDE -s ja kaks koodi, mis tehti Android Stuudios. Androidi rakendused on samad, välja arvatud üks - täisrakendus, mis jälgib aku kasutusaega ja teine mitte. Teine on testimiseks.
Arduino kood
Selle koodi peamine mõte on puutetundliku anduri ja mootorite juhtimine, see saab telefonilt käsu ja toimib selle järgi.
#include // kutsub servoteegi, et saaksime juhtida kahte servotServo servo1; Servo servo2; // loob iga servomootori jaoks kaks servoobjekti int a = 0; // jälgimismuutuja testimiseks int q = 0; // muutuja, mis võimaldab viivitust enne pistikuprotsessi algust char c; // muutuja, mis sisaldab telefoni void setupi seeriasõnumit () {attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // lisab langeva katkestuse, et täpselt teada, millal puuteandur näeb, kui telefon on väljas servo1.attach (10); servo2.attach (9); // initsialiseerib kaks servot Serial.begin (9600); // alustab jadaühendust kiirusega, mis on sarnane Bluetooth -mooduli servo2.write (20) kiirusega; // määrab servod automaatselt lähteasend servo1.write (180); }
void loop () {
if (Serial.available ()) {// see kontrollib, kas telefonist tuleb jadaühenduste Tx ja Rx kaudu midagi sisse c = Serial.read (); // loeb, mis saabub, kui (c == t eemaldamiseks on aega servo1.write (110); // viib telefoni püstiasendisse, et märku anda //Serial.println(" siin "); attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // ühendab katkestuse uuesti}} if (q == 1) {// kui pistikühenduse tingimus on kindel, alustage laadija viivituse lisamisega (10000); servo2.write (0); // liigutab servo asendisse q = 0; // lähtestab tingimuse}}
tühine AH () {
//Serial.println("in "); servo1.write (180); // langetab telefoni platvormi laadimisasendisse q = 1; // käivitab tingimuse protsessi jätkamiseks // a = 1; detachInterrupt (digitalPinToInterrupt (2)); // eemaldab katkestuse, nii et katkestusega ei tekiks probleeme, kui see ei peaks}
Androidi rakendus
Siin näitan ainult õiget rakendust, kuid antakse ka testikoodi fail, ainus erinevus on jooksva ja getBattery klassi eemaldamine. Mainitud seerianumber on standardne telefonidele, mis ühenduvad selliste seadmetega nagu moodul.
pakett com.example.daniel.make; impordi android.bluetooth. BluetoothAdapter; impordi 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; importige java.io. IOException; importige java.io. OutputStream; import java.util. Set; importige java.util. UUID;
avalik klass MainActivity laiendab AppCompatActivity {
// vajalike objektide loomine Käitleja käitleja; // aitab silmusel Runnable runnable; // töötab pidevalt BluetoothAdapter mBluetoothAdapter; BluetoothSocket mmSocket; Bluetoothseade mmDevice; OutputStream mmOutputStream; lenduv boolean stopTöötaja; privaatne OutputStream outputStream; privaatne lõppstring DEVICE_NAME = "HC-05"; privaatne lõplik UUID PORT_UUID = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); privaatne BluetoothAdapter -seade; privaatne Bluetooth -pistikupesa; @Override protected void onCreate (Bundle savedInstanceState) {// on juhiste kogum, mis käivitatakse rakenduse loomisel super.onCreate (saveInstanceState); // displya creation setContentView (R.layout.activity_main); runnable = new Runnable () {@Override public void run () {// töötab korduvalt int level = (int) getBattery (); // saab praeguse aku taseme, kui (tase == 100) {// kui aku on tühi jõuab 100% proovi {getBT (); // ühendub bluetooth mooduliga openBT (); // avab selle sendData (); // saadab vajalikud andmed closeBT (); // sulgeb objekti} catch (IOException ex) { }} handler.postDelayed (käivitatav, 5000); // viivitus}}; käitleja = uus käitleja (); handler.postDelayed (käivitatav, 0); }
public float getBattery () {
Intent batteryIntent = registerReceiver (null, uus IntentFilter (Intent. ACTION_BATTERY_CHANGED)); // loob toimingu, mis ühendub akuga int level = batteryIntent.getIntExtra (BatteryManager. EXTRA_LEVEL, -1); // saab parema taseme int skaala = batteryIntent.getIntExtra (BatteryManager. EXTRA_SCALE, -1); // saab aku skaala, kui (tase == -1 || skaala == -1) {// eksimuste korral 50,0f; } float batt = (level/(float) skaala)*100.0f; // saab õige skaala tagastamise batt; // tagastab taseme}
void getBT () {// saab võimalikud bluetooth -ühendused
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); // saab adapteri, kui (! mBluetoothAdapter.isEnabled ()) {// hoolitseb selle eest, et telefonil oleks sinine hammas kavatsusel enableBluetooth = new Intent (BluetoothAdapter. ACTION_REQUEST_ENABLE); // nõuab, et see oleks sisse lülitatud, kui mitte startActivityForResult (enableBluetooth, 0); } Set pairedDevices = mBluetoothAdapter.getBondedDevices (); // saab ühendatud Bluetoothi loendi, kui (pairedDevices.size ()> 0) {// tagab, et (BluetoothDevice seade: pairedDevices) jaoks on mõned seadmed {// silmused läbi seadmed if (device.getName (). võrdub ("HC-05")) {// kontrollib, kas see on õige üks mmDevice = device; // salvestab selle pausi; }}}}
void openBT () viskab IOExceptioni {
UUID uuid = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); // Standard // SerialPortService ID mmSocket = mmDevice.createRfcommSocketToServiceRecord (uuid); // ühendub seadmega õige ID -ga mmSocket.connect (); // ühendab mmOutputStream = mmSocket.getOutputStream (); // käivitab võime saata andmed arduino moodulisse}
void sendData () viskab IOException {// klassi, mis saadab t arduinole
mmOutputStream.write ('t'); }
void closeBT () viskab IOException {// sulgeb kõik arduino ühendused
stopWorker = tõsi; mmOutputStream.close (); mmSocket.close (); }}
6. samm: failid
Täname lugemise eest. Lisatud on failid, mida selles projektis kasutati
Soovitan:
Android -telefonilaadija jaoks elektriliini filtri kavandamine ja ehitamine: 5 sammu
Toiteliinifiltri projekteerimine ja ehitamine Android -telefonilaadija jaoks: selles juhendis näitan, kuidas võtta tavaline USB -mini -USB -kaabel, eraldada see keskel ja sisestada filtriahel, mis vähendab liigset müra või räsi, mis on toodetud tüüpilise androidi toiteallikaga. Mul on kaasaskantav m
Kaasaskantav telefonilaadija-illustreeritud juhend: 5 sammu
Kaasaskantav telefonilaadija-illustreeritud juhend: Kirjeldus: Järgnev on illustreeritud juhend, kuidas tavalisest Altoids-konteinerist paari lihtsa sammuga teisaldatav mobiiltelefoni laadija teha. See aku sobib suurepäraselt õpilastele, professionaalidele või väljas liikuvatele meestele. Time N
Jalgrattaga telefonilaadija: 6 sammu (piltidega)
Jalgrattal töötav telefonilaadija: see on jalgrattaga töötav telefonilaadija, mis on odav, 3D -printitav, hõlpsasti valmistatav ja paigaldatav ning telefonilaadija on universaalne. See on kasulik, kui sõidate jalgrattaga palju ja peate telefoni laadima. Laadija on projekteeritud ja ehitatud
Raudtrooni telefonilaadija: 17 sammu (koos piltidega)
Raudse trooni telefonilaadija: Ma olen troonimängu seitsmenda hooaja väljatulekust nii vaimustuses, pidin tegema seotud projekti - Iron Throne'i telefoni laadija! Pakkumiste loend: USB -laadija Plastikkokteilimõõgad Hõbedane akrüülvärv Pronksist akrüülvärv Must pihustusvärv 2 mm vaht Paks foa
DIY juhtmeta telefonilaadija ja LED -juhtimine: 11 sammu (piltidega)
DIY juhtmeta telefonilaadija ja LED -juhtimine: selles juhendis tutvustan, kuidas teha mobiiltelefoni laadijat ja aktiveeritud LED -e. Lisan koodi, PDF -failid, juhtmestiku skeemid ja Gerberi failid ning materjalide nimekirja oma traadita ühenduse loomiseks telefoni laadija. Eriline märkus: mitte