Përmbajtje:
- Hapi 1: Komponentët plastikë
- Hapi 2: Prishja e Komponentëve Jo të Shtypur 3D
- Hapi 3: Elektronikë
- Hapi 4: Asambleja
- Hapi 5: Kodi
- Hapi 6: Skedarët
Video: Një karikues automatik i telefonit: 6 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:28
"Ky udhëzues u krijua në përmbushje të kërkesës së projektit të Makecourse në Universitetin e Floridës së Jugut (www.makecourse.com)"
Ideja që qëndron pas këtij projekti ishte krijimi i një pajisjeje që mund të karikonte një telefon dhe më pas ta shkëpuste atë kur telefoni të arrijë 100%. Kjo do të ndalonte çështjet e ngarkimit të tepërt.
Hapi 1: Komponentët plastikë
Kishte disa përbërës që u përdorën që u printuan 3D. Këta përbërës përbëheshin nga një bazë, një mbajtëse për karikuesin, një raft dhe një pajisje ingranazhi (një ingranazh normal dhe një pjesë lineare që ndryshon rrotullimin në lëvizje lineare) dhe një bazë për të funksionuar gjithçka. Këta përbërës do të shpjegohen në paragrafët e mëposhtëm. Me rendin e paraqitjes
Mbajtës i karikuesit
Qëllimi i kësaj është të mbani karikuesin e telefonit, ose të paktën t'i jepni atij një bazë më të mirë dhe të nivelit.
Baza
Baza ka unaza për mbajtësin e telefonit, si dhe një pistë për grupin e ingranazheve.
Mbajtës i telefonit
Mban telefonin, padyshim
Krahu i Telefonit
Lëviz dhe mban telefonin
Set Rack and Pinion Gear Set
Përdoret për të lëvizur ngarkuesin e telefonit mbrapa dhe me radhë
Hapi 2: Prishja e Komponentëve Jo të Shtypur 3D
Këto janë komponentët që ose janë blerë për projektin ose tashmë janë në pronësi. Për disa nga pjesët që lidha me to/artikuj të ngjashëm në amazon, por mos ngurroni t'i blini ato kudo.
Mikro Servo:
Servo standarde 0-180:
Moduli Serial HC-05 Bluetooth:
Karikues për telefon dhe telefon
Arduino
Breadboard
Kuti ose kosh për bazën
Sensori i Prekjes:
Hapi 3: Elektronikë
Qarku për këtë projekt mund të kërkojë disa, kryesisht për shkak të modulit HC-05. Shumë nga modulet e këtij lloji janë me një normë prej afërsisht 3.3V deri në 6V, e cila është në gamën e funksionimit të Arduino. Por, për komunikimin serik pini Rx nganjëherë funksionon më mirë me vetëm 3.3V. Siç shihet në diagramin e mësipërm, dy servos janë të lidhur në kunjin Vin në Arduino. Ky tension shtesë mund të furnizohet nga çdo gjë, unë kam përdorur një bateri 9 volt. Sensori i prekjes ishte i lidhur me 5V në Arduino. Kjo ishte për shkak se të gjithë përbërësit kishin probleme me rrjedhjen e të njëjtit tension. Sensori i prekjes është i bashkangjitur në kunjin 2, kështu që mund të përdoret si ndërprerës i kunjave. Pastaj moduli bluetooth lidhet me kunjat Rx dhe Tx për komunikim serik. Midis kunjit Rx në modul dhe Tx në Arduino është një rezistencë 2 kilogramë me një ohm 1 kilogram që lidhet me tokën. Kjo ndihmon për të rregulluar tensionin që hyn.
Hapi 4: Asambleja
Asambleja është mjaft e thjeshtë.
- me disa super ngjitës montoni servot tuaja në pozicionet e tyre, një për ingranazhin me prerjen në bazë dhe një pranë vendit ku është baza e telefonit.
- Bashkangjiteni sensorin e prekjes te mbajtësi i telefonit, në mënyrë që të dijë kur telefoni është atje.
- Pastaj lidhni ingranazhin dhe krahun në servot e tyre përkatëse
- Sigurohuni që telat të mos ndërhyjnë me përbërësit e tjerë ndërsa mbushni pajisjet elektronike
Hapi 5: Kodi
Ekzistojnë tre grupe kodesh që do të paraqiten, një kod për Arduino, i krijuar në Arduino IDE dhe dy kode që janë bërë në Android Studio. Aplikacionet Android janë të njëjta përveç që një është aplikacioni i plotë që ndjek jetën e baterisë dhe tjetri jo. E dyta është për qëllime testimi.
Kodi Arduino
Pika kryesore e këtij kodi është funksionimi i sensorit të prekjes dhe motorëve, ai merr një komandë nga telefoni dhe vepron mbi të.
#include // thërret servo bibliotekën që të mund të kontrollojmë dy servosServo servo1; Servo servo2; // krijon dy servo objekte për secilin servo motor int a = 0; // variabla përcjellëse për testimin int q = 0; // një ndryshore që lejon të ketë një vonesë para fillimit të procesit pluggin char c; // variabla që përmban mesazhin serik nga telefoni void setup () {attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // i bashkon një ndërprerje në rënie për të ditur saktësisht kur sensori i prekjes sheh kur telefoni është jashtë në servo1.attach (10); servo2.attach (9); // inicializon dy servos Serial.begin (9600); // fillon komunikimin serik me një ritëm të ngjashëm me atë të modulit bluetooth servo2.write (20); // auto i vendos servot në një pozicion fillestar servo1.shkruani (180); }
lak void () {
nëse (Serial.disponueshëm ()) {// kjo kontrollon nëse ka ndonjë gjë që vjen nga telefoni mbi kunjat serikë Tx dhe Rx c = Serial.read (); // lexon atë që vjen nga nëse (c == 't') {// nëse pajisja serike lexon atëherë kjo do të thotë që telefoni është plotësisht i ngarkuar, procesi i shkëputjes fillon servo2.write (120); // shkëput vonesën e karikuesit (5000); // pret për t'u siguruar ka kohë për heqjen servo1.write (110); // e lëviz telefonin në një pozicion të drejtë për të sinjalizuar //Serial.println("here "); attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // e bashkon ndërprerjen}} if (q == 1) {// nëse kushti për pluggin in është i tillë atëherë filloni me bashkimin e vonesës së ngarkuesit (10000); servo2.write (0); // zhvendos servo në pozicionin q = 0; // rivendos gjendjen}}
e pavlefshme AH () {
//Serial.println("in "); servo1.write (180); // e hedh platformën e telefonit në pozicionin e karikimit q = 1; // fillon gjendjen për të vazhduar procesin // a = 1; detachInterrupt (digitalPinToInterrupt (2)); // shkëput ndërprerjen, kështu që nuk do të ketë probleme me ndërprerjen duke filluar kur nuk duhet}
Aplikacioni Android
Këtu do të shfaq vetëm aplikacionin e duhur por skedari i kodit të testit gjithashtu do të jepet, ndryshimi i vetëm do të jetë heqja e klasës runnable dhe getBattery. Kodi serik i përmendur është ai që është standard për telefonat që lidhen me pajisje si moduli.
paketë com.shembull.daniel.make; import android.bluetooth. BluetoothAdapter; import android.bluetooth. BluetoothDevice; import android.bluetooth. BluetoothSocket; import android.os. Handler; importoni android.support.v7.app. AppCompatActivity; importoni android.os. Bundle; import android.mbajtja. Intent; import android.content. IntentFilter; import android.os. BatteryManager; import java.io. IOException; import java.io. OutputStream; import java.util. Set; importo java.util. UUID;
klasa publike MainActivity zgjeron AppCompatActivity {
// krijimi i objekteve të nevojshme Handler handler; // ndihmon me loop Runnable runnable; // funksionon vazhdimisht BluetoothAdapter mBluetoothAdapter; BluetoothSocket mmSocket; Pajisja Bluetooth mmPajisja; Rrjedha dalëse mmOutputStream; ndalues i paqëndrueshëm booleanPunëtor; privat OutputStream outputStream; vargu privat përfundimtar DEVICE_NAME = "HC-05"; privat përfundimtar UUID PORT_UUID = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); pajisje private BluetoothAdapter; prizë private BluetoothSocket; @Override mbrojtur zbrazëti onCreate (Pako e ruajturInstanceState) {// është një grup udhëzimesh që funksionojnë kur aplikacioni krijohet super.onCreate (ruajturInstanceState); // displya creation setContentView (R.layout.activity_main); runnable = i ri Runnable () {@Override public void run () {// shkon në mënyrë të përsëritur int level = (int) getBattery (); // merr nivelin aktual të baterisë nëse (niveli == 100) {// nëse niveli i baterisë arrin 100% try {getBT (); // lidhet me modulin bluetooth openBT (); // e hap sendData (); // dërgon të dhënat e nevojshme closeBT (); // mbyll objektin} kapjen (IOException ex) { }} handler.postDelayed (drejtohet, 5000); // një vonesë}}; mbajtës = Handler i ri (); handler.postDe vonuar (e drejtueshme, 0); }
noton publik getBattery () {
BatteryIntent = registerReceiver (null, IntentFilter i ri (Intent. ACTION_BATTERY_CHANGED)); // krijon veprimin që lidhet me nivelin e baterisë int = batteryIntent.getIntExtra (BatteryManager. EXTRA_LEVEL, -1); // merr nivelin më të mirë int shkallë = batteryIntent.getIntExtra (BatteryManager. EXTRA_SCALE, -1); // merr shkallën e baterisë nëse (niveli == -1 || shkalla == -1) {// në rast të kthimit të gabuar 50.0f; } float batt = (niveli/(float) shkalla)*100.0f; // merr shkallën e duhur të kthimit batt; // kthen nivelin}
void getBT () {// merr lidhjet e mundshme bluetooth
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); // merr përshtatësin nëse (! mBluetoothAdapter.isEnabled ()) {// sigurohet që telefoni të ketë dhëmb blu në Intent enableBluetooth = Synimi i ri (BluetoothAdapter. ACTION_REQUEST_ENABLE); // kërkesat i aktivizuar nëse jo startActivityForResult (aktivizo Bluetooth, 0); } Vendos pairedDevices = mBluetoothAdapter.getBondedDevices (); // merr listën e bluetooth -it të lidhur nëse (pairedDevices.size ()> 0) {// sigurohet që ka disa pajisje për (pajisja BluetoothDevice: pairedDevices) {// lakohet përmes pajisjet if (device.getName (). barabartë ("HC-05")) {// kontrollon nëse është e duhura mmDevice = pajisje; // kursen prishjen; }}}}
void openBT () hedh IOException {
UUID uuid = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); // Standard // SerialPortService ID mmSocket = mmDevice.createRfcommSocketToServiceRecord (uuid); // lidhet me pajisjen me id -në e duhur mmSocket.connect (); // lidh mmOutputStream = mmSocket.getOutputStream (); // fillon aftësinë për të dërguar të dhëna në modulin arduino}
void sendData () hedh IOException {// class që dërgon t në arduino
mmOutputStream.write ('t'); }
void closeBT () hedh IOException {// mbyll të gjitha lidhjet me arduino
stopWorker = e vërtetë; mmOutputStream.close (); mmSocket.close (); }}
Hapi 6: Skedarët
Faleminderit për leximin, bashkëngjitur janë skedarët që janë përdorur në këtë projekt
Recommended:
Projektimi dhe ndërtimi i një filtri të linjës së energjisë për një karikues të telefonit Android: 5 hapa
Projektimi dhe ndërtimi i një filtri të linjës së energjisë për një karikues të telefonit Android: Në këtë udhëzues, unë do të tregoj se si të marr një kabllo standarde USB në mini USB, ta ndaj atë në mes dhe të fus një qark filtri i cili do të zvogëlojë zhurmën e tepërt ose hash i prodhuar nga një furnizim me energji tipike android. Unë kam një pajisje portative
Karikues portativ i telefonit-Një udhëzues i ilustruar: 5 hapa
Karikues i telefonit portativ-Një udhëzues i ilustruar: Përshkrimi: Më poshtë është një udhëzues i ilustruar se si të shndërroni një enë të zakonshme Altoids në një ngarkues portativ të celularëve në vetëm disa hapa të thjeshtë. Kjo bateri është perfekte për studentët, profesionistët ose burrat jashtë që janë në lëvizje. Koha N
Karikues i thjeshtë i telefonit celular vetëm për një orë: 10 hapa
Karikues i thjeshtë i celularëve vetëm për një orë: Telefonat celularë janë shumë të rëndësishëm në ditët e sotme. A mund të mendoni një ditë pa këtë pajisje të zbukuruar? Natyrisht, jo, por ajo që do të bëni kur të keni humbur ngarkuesin e telefonit tuaj ose ngarkuesi juaj nuk po funksionon siç duhet. Natyrisht, ju do të blini një të re. Por bëni
Bëni një karikues USB të telefonit për pothuajse çdo celular !: 4 hapa
Bëni një karikues USB të telefonit për pothuajse çdo celular
Si 2.0: Bëni një karikues celular të telefonit diellor: 8 hapa
Si 2.0: Bëni një karikues diellor të celularit: Nga http: //www.2pointhome.com Një saldim i vogël është gjithçka që duhet për të bërë këtë karikues të lezetshëm të telefonave celularë. Mbajeni atë në kutinë e dorezës së makinës tuaj, në rast se ngecni ndonjëherë në pyll dhe filloni të dëgjoni muzikë banjo! Ju mund të jeni në gjendje