תוכן עניינים:
- שלב 1: רכיבי פלסטיק
- שלב 2: פירוט רכיבים שאינם מודפסים בתלת מימד
- שלב 3: אלקטרוניקה
- שלב 4: הרכבה
- שלב 5: קוד
- שלב 6: קבצים
וִידֵאוֹ: מטען טלפוני אוטומטי: 6 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
"הוראה זו נוצרה לצורך מילוי דרישת הפרויקט של מסלול האוניברסיטה באוניברסיטת דרום פלורידה (www.makecourse.com)"
הרעיון מאחורי הפרויקט הזה היה ליצור מכשיר שיכול לטעון טלפון ולאחר מכן לנתק אותו כשהטלפון מגיע ל -100%. זה יעצור בעיות של טעינת יתר.
שלב 1: רכיבי פלסטיק
היו כמה רכיבים שהיו בשימוש שהודפסו בתלת מימד. רכיבים אלה כללו בסיס, מחזיק למטען, ערכת הילוכים של מתלה וסיכה (הילוך רגיל וחתיכה לינארית שמשנה את הסיבוב לתנועה לינארית), ובסיס להכל לפעול. רכיבים אלה יוסברו בפסקאות הבאות. לפי סדר המראה
מחזיק מטען
המטרה של זה היא להחזיק את מטען הטלפון, או לפחות לתת לו בסיס טוב יותר ורמה.
בסיס
בבסיס יש טבעות למחזיק הטלפון וכן מסלול לערכת ההילוכים.
מחזיק טלפון
מחזיק את הטלפון, ברור
זרוע טלפון
מזיז ומחזיק את הטלפון
ערכת ציוד מתלים ופיניון
משמש להעביר את מטען הטלפון קדימה ואחורה
שלב 2: פירוט רכיבים שאינם מודפסים בתלת מימד
אלה הרכיבים שנרכשו לפרויקט או שכבר היו בבעלותם. לחלק מהחלקים קישרתי אליהם/פריטים דומים באמזון, אבל אתה מוזמן לרכוש אותם בכל מקום.
מיקרו סרוו:
סרוו 0-180 סטנדרטי:
מודול סידורי Bluetooth HC-05:
מטען טלפוני וטלפוני
ארדואינו
לוח לחם
קופסא או פח לבסיס
חיישן מגע:
שלב 3: אלקטרוניקה
המעגל לפרויקט זה עשוי לדרוש קצת, בעיקר בגלל מודול HC-05. רבים מהמודולים מסוג זה הם בעלי תעריפים של בערך 3.3V עד 6V, שהם בטווח ההפעלה של ה- Arduino. אבל, עבור תקשורת סדרתית סיכת ה- Rx לפעמים עובדת טוב יותר רק עם 3.3V. כפי שניתן לראות בתרשים לעיל שני הסרבים מחוברים לסיכת הווין שבארדואינו. את המתח הנוסף הזה אפשר לספק בכל דבר, השתמשתי בסוללה של 9 וולט. חיישן המגע חובר ל- 5V בארדואינו. הסיבה לכך הייתה שכל הרכיבים התקשו להיגמר מאותו המתח. חיישן המגע מחובר לסיכה 2 כך שהוא יכול לשמש כהפרעת סיכה. לאחר מכן מודול ה- Bluetooth מחובר לסיכות Rx ו- Tx לתקשורת טורית. בין סיכת ה- Rx במודול ל- Tx ב- Arduino נמצא נגד של 2 קילו אוהם עם חיבור של 1 קילו אוהם לקרקע. זה עוזר לווסת את המתח שנכנס.
שלב 4: הרכבה
ההרכבה פשוטה למדי.
- עם קצת דבק על הר את הסרוווס שלך במיקומים שלהם, אחד להילוך על ידי החיתוך בבסיס ואחד ליד המקום בו נמצא בסיס הטלפון.
- חבר את חיישן המגע למחזיק הטלפון, כך שיוכל לדעת מתי הטלפון נמצא שם.
- לאחר מכן חבר את הציוד והזרוע לסרוואות המתאימות להם
- וודא שהחוטים אינם מפריעים לרכיבים אחרים בעת מילוי האלקטרוניקה שלך
שלב 5: קוד
שלוש קבוצות קוד יוצגו, קוד אחד ל- Arduino, שנוצר ב- IDE של Arduino ושני קודים שנוצרו ב- Android Studio. אפליקציות האנדרואיד זהות למעט אחת היא האפליקציה המלאה שעוקבת אחר חיי הסוללה ואחת לא. השני נועד למטרות בדיקה.
קוד ארדואינו
הנקודה העיקרית של קוד זה היא הפעלת חיישן המגע והמנועים, הוא מקבל פקודה מהטלפון ופועל על פיו.
#include // מתקשר לספריית סרוו כדי שנוכל לשלוט בשני servosServo servo1; Servo servo2; // יוצר שני אובייקטים של סרוו עבור כל מנוע סרוו int a = 0; // משתנה מעקב לבדיקת int q = 0; // משתנה שמאפשר להיות עיכוב לפני תחילת תהליך התוספת מתחילה char c; // משתנה המכיל את ההודעה הטורית מההגדרה של חלל הטלפון () {attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // מצרף הפרעה נופלת כדי לדעת בדיוק מתי חיישן המגע רואה כשהטלפון יוצא ל- servo1.attach (10); servo2.attach (9); // מאתחל את שני השירותים Serial.begin (9600); // מתחיל את התקשורת הטורית בקצב דומה לזה של מודול ה- bluetooth servo2.write (20); // מכוון אוטומטית את סרוווס ל- עמדת התחלה servo1.write (180); }
לולאת חלל () {
if (Serial.available ()) {// זה בודק אם נכנס משהו מהטלפון דרך הסיכות הסידריות Tx ו- Rx c = Serial.read (); // קורא מה נכנס אם (c == 't') {// אם ההתקן הטורי קורא אז זה אומר שהטלפון טעון במלואו, תהליך הניתוק מתחיל servo2.write (120); // מנתק את עיכוב המטען (5000); // ממתין לוודא יש זמן להסרת servo1.write (110); // מעביר את הטלפון למצב זקוף כדי לסמן //Serial.println("here "); attachInterrupt (digitalPinToInterrupt (2), AH, FALLING); // מצרף מחדש את הפרעה}} אם (q == 1) {// אם התנאי להתחברות הוא ture, התחל עם חיבור עיכוב המטען (10000); servo2.write (0); // מעביר את הסרוו למצב q = 0; // איפוס מצב}}
חלל AH () {
//Serial.println("in "); servo1.write (180); // מוריד את פלטפורמת הטלפון למצב הטעינה q = 1; // מתחיל את התנאי להמשך התהליך // a = 1; detachInterrupt (digitalPinToInterrupt (2)); // מנתק את ההפרעה, כך שלא יהיו בעיות בהפרעה שתתחיל כאשר היא לא אמורה}
אפליקציית אנדרואיד
כאן אציג רק את האפליקציה המתאימה אך גם קובץ קוד הבדיקה יינתן, ההבדל היחיד יהיה הסרת הכיתה runnable ו- getBattery. הקוד הסידורי שהוזכר הוא זה הסטנדרטי לטלפונים המתחברים למכשירים כמו המודול.
חבילה com.example.daniel.make; ייבא android.bluetooth. BluetoothAdapter; ייבא android.bluetooth. BluetoothDevice; ייבא android.bluetooth. BluetoothSocket; ייבא android.os. Handler; ייבא android.support.v7.app. AppCompatActivity; ייבא android.os. Bundle; ייבא android.content. Intent; ייבא android.content. IntentFilter; ייבא android.os. BatteryManager; יבוא java.io. IOException; יבוא java.io. OutputStream; יבוא java.util. Set; יבוא java.util. UUID;
המעמד הציבורי MainActivity מרחיב את AppCompatActivity {
// יצירת אובייקטים נחוצים מטפל מטפל; // מסייע בלולאה Runnable runnable; // פועל ברציפות BluetoothAdapter mBluetoothAdapter; שקע Bluetooth mmSocket; BluetoothDevice mmDevice; OutputStream mmOutputStream; stopWorker נדיף בוליאני; OutputStream פרטי outputStream; מחרוזת גמר פרטית DEVICE_NAME = "HC-05"; UUID סופי פרטי PORT_UUID = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); מכשיר BluetoothAdapter פרטי; שקע פרטי לשקע Bluetooth; @Override חלל מוגן onCreate (Bundle savedInstanceState) {// הוא קבוצת הוראות הפועלות כאשר האפליקציה נוצרת super.onCreate (saveInstanceState); // displya creation setContentView (R.layout.activity_main); runnable = new Runnable () {@Override public void run () {// פועל שוב ושוב int level = (int) getBattery (); // מקבל את רמת הסוללה הנוכחית אם (level == 100) {// אם רמת הסוללה מגיע 100% נסה {getBT (); // מתחבר למודול ה- bluetooth openBT (); // פותח אותו sendData (); // שולח את הנתונים הדרושים closeBT (); // סוגר את האובייקט} catch (IOException ex) { }} handler.postDelayed (ריצה, 5000); // עיכוב}}; מטפל = מטפל חדש (); handler.postDelayed (ריצה, 0); }
public float getBattery () {
Intent batteryIntent = registerReceiver (null, IntentFilter חדש (Intent. ACTION_BATTERY_CHANGED)); // יוצר את הפעולה המתחברת לרמת הסוללה int = batteryIntent.getIntExtra (BatteryManager. EXTRA_LEVEL, -1); // מקבל את קנה המידה int ברמה טובה יותר = batteryIntent.getIntExtra (BatteryManager. EXTRA_SCALE, -1); // מקבל את קנה המידה של הסוללה אם (רמה == -1 || סולם == -1) {// במקרה של החזרת טעות 50.0f; } צף באט = (רמה/(צף) קנה מידה)*100.0f; // מקבל את החבטת ההחזרה המתאימה בקנה מידה; // מחזירה את הרמה}
void getBT () {// מקבל את חיבורי ה- Bluetooth האפשריים
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); // מקבל את המתאם אם (! mBluetoothAdapter.isEnabled ()) {// מוודא שהטלפון אהוב שן כחולה ב- Intent enableBluetooth = New Intent (BluetoothAdapter. ACTION_REQUEST_ENABLE); // מבקש שהוא יהיה מופעל אם לא startActivityForResult (enableBluetooth, 0); } הגדר pairedDevices = mBluetoothAdapter.getBondedDevices (); // מקבל את רשימת ה- bluetooth המצורפת אם (pairedDevices.size ()> 0) {// מוודא שיש כמה מכשירים עבור (מכשיר BluetoothDevice: pairedDevices) {// לולאה דרך התקנים אם (device.getName (). שווה ("HC-05")) {// בודק אם הוא mmDevice = device הנכון; // חוסך אותו שבירה; }}}}
void openBT () זורק IOException {
UUID uuid = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); // סטנדרטי // מזהה SerialPortService mmSocket = mmDevice.createRfcommSocketToServiceRecord (uuid); // מתחבר למכשיר עם המזהה המתאים mmSocket.connect (); // מחבר mmOutputStream = mmSocket.getOutputStream (); // מתחיל את היכולת לשלוח נתונים למודול הארדואינו}
void sendData () זורק IOException {// class ששולח את ה- t אל הארדואינו
mmOutputStream.write ('t'); }
void closeBT () זורק IOException {// סוגר את כל החיבורים לארדואינו
stopWorker = true; mmOutputStream.close (); mmSocket.close (); }}
שלב 6: קבצים
תודה שקראת, מצורפים הקבצים ששימשו בפרויקט זה
מוּמלָץ:
מטען טלפוני Clean Energy: 7 שלבים
מטען טלפוני אנרגיה נקייה: בפרויקט זה תבנה בנק סולארי פשוט מאוד שיכול להטעין את הטלפון שלך. הרבה אנשים לא מודעים לכמה זול וקל לבנות בנק כוח DIY. כל מה שנדרש באמת הוא כמה לוחות אלקטרוניים, כבל USB
כיצד להכין מטען סוללות 12V אוטומטי: 16 שלבים (עם תמונות)
כיצד להכין מטען סוללות 12V אוטומטי: היי! כולם שמי סטיב. היום אני הולך להראות לך כיצד להכין מטען סוללות 12V לחץ כאן כדי לראות את הסרטון התחל
מטען טלפוני פאנל סולארי: 5 שלבים
מטען טלפוני פאנל סולארי: מטען טלפוני פאנל סולארי זה הוא מכשיר נייד ונטען שיטעין כל מכשיר אלקטרוני שלכם. האנרגיה ניתנת לא רק על ידי מארז הסוללות, אלא גם על ידי פאנל סולארי שיספק מיץ נוסף וניתן יהיה להשתמש בו בכל
מטען טלפוני פאנל סולארי: 11 שלבים
מטען טלפוני פאנלים סולאריים: זה בלתי ניתן לתיאור למטען טלפוני שאנרגיה סולארית שלו מספקת מפאנל סולארי. תהיה לו גם יכולת לייעל את האנרגיה הסולרית שנאספת באמצעות מנוע וחיישני אור כדי לכוון את הרציף לחיובי
5 דקות USB מטען סולארי/מטען USB הישרדות: 6 שלבים (עם תמונות)
5 דקות USB מטען סולארי/מטען USB הישרדות: שלום חבר'ה! היום פשוט הכנתי (כנראה) את המטען הפאנל הסולרי הקל ביותר מסוג usb! ראשית אני מצטער שלא העלתי כמה מורים בשבילכם .. קיבלתי כמה בחינות בחודשים האחרונים (לא ממש כמה אולי שבוע בערך ..). אבל