فهرست مطالب:
- مرحله 1: اجزای پلاستیکی
- مرحله 2: تجزیه اجزای چاپ نشده سه بعدی
- مرحله 3: الکترونیک
- مرحله 4: مونتاژ
- مرحله 5: کد
- مرحله 6: فایل ها
تصویری: یک شارژر اتوماتیک تلفن: 6 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
"این دستورالعمل برای برآوردن الزامات پروژه Makecourse در دانشگاه فلوریدا جنوبی ایجاد شده است (www.makecourse.com)"
ایده پشت این پروژه ایجاد دستگاهی بود که بتواند تلفن را شارژ کند و سپس هنگامی که تلفن به 100 reaches رسید ، آن را جدا کنید. این امر مسائل مربوط به شارژ بیش از حد را متوقف می کند.
مرحله 1: اجزای پلاستیکی
برخی قطعات مورد استفاده قرار گرفتند که به صورت سه بعدی چاپ شده بودند. این اجزا شامل یک پایه ، یک نگهدارنده برای شارژر ، یک مجموعه دنده قفسه ای و پینیون (یک چرخ دنده معمولی و یک قطعه خطی است که چرخش را به حرکت خطی تغییر می دهد) و پایه ای برای عملکرد همه چیز. این م componentsلفه ها در پاراگراف های بعدی توضیح داده خواهد شد. به ترتیب ظاهر
نگهدارنده شارژر
هدف از این کار این است که شارژر تلفن را نگه دارد یا حداقل یک پایه بهتر و سطح مناسب را برای آن فراهم کند.
پایه
این پایه دارای حلقه هایی برای نگهدارنده تلفن و همچنین یک آهنگ برای مجموعه دنده است.
نگهدارنده تلفن
گوشی را در دست دارد ، بدیهی است
بازوی تلفن
گوشی را حرکت می دهد و نگه می دارد
ست دنده رک و پینیون
برای جابجایی و جلو رفتن شارژر تلفن استفاده می شود
مرحله 2: تجزیه اجزای چاپ نشده سه بعدی
اینها اجزایی هستند که یا برای پروژه خریداری شده اند و یا قبلاً متعلق به آنها بوده است. برای برخی از قسمتهایی که به آنها پیوند دادم/موارد مشابه در آمازون ، اما با خیال راحت آنها را در هر کجا تهیه کنید.
میکرو سرو:
سروو استاندارد 0-180:
ماژول سریال بلوتوث HC-05:
تلفن و شارژر تلفن
آردوینو
تخته نان
جعبه یا سطل برای پایه
سنسور لمسی:
مرحله 3: الکترونیک
مدار این پروژه ممکن است به برخی نیاز داشته باشد ، عمدتا به دلیل ماژول HC-05. نرخ بسیاری از ماژول های این نوع تقریباً 3.3 ولت تا 6 ولت است که در محدوده عملکرد آردوینو است. اما ، برای ارتباط سریال ، پین Rx گاهی اوقات فقط با 3.3 ولت بهتر کار می کند. همانطور که در نمودار بالا مشاهده می شود ، دو سروو به پین Vin در آردوینو متصل می شوند. این ولتاژ اضافی را می توان با هر چیزی تامین کرد ، من از باتری 9 ولت استفاده کردم. سنسور لمسی در آردوینو به ولتاژ 5 ولت متصل شد. این به این دلیل بود که همه اجزا با ولتاژ یکسان مشکل داشتند. سنسور لمسی به پین 2 متصل شده است تا بتوان از آن به عنوان قطع کننده پین استفاده کرد. سپس ماژول بلوتوث برای ارتباط سریال به پایه های Rx و Tx متصل می شود. بین پین Rx روی ماژول و Tx روی آردوینو یک مقاومت 2 کیلو اهم با 1 کیلو اهم به زمین متصل می شود. این به تنظیم ولتاژ ورودی کمک می کند.
مرحله 4: مونتاژ
مونتاژ کاملاً ساده است.
- با برخی از چسب های فوق العاده سروهای خود را در موقعیت خود نصب کنید ، یکی برای چرخ دنده برش داده شده روی پایه و دیگری نزدیک جایی که پایه تلفن قرار دارد.
- سنسور لمسی را به نگهدارنده تلفن وصل کنید تا بتواند بداند تلفن در کجاست.
- سپس دنده و بازو را به سروهای مربوطه وصل کنید
- هنگام پر کردن وسایل برقی ، مطمئن شوید سیم ها با سایر اجزا تداخل ندارند
مرحله 5: کد
سه مجموعه کد ارائه می شود ، یک کد برای Arduino ، که در Arduino IDE ایجاد شده است و دو کد که در Android Studio ساخته شده است. برنامه های Android یکسان هستند به جز یکی که برنامه کامل است که عمر باتری را پیگیری می کند و یکی این برنامه را ندارد. مورد دوم برای آزمایش است.
کد آردوینو
نکته اصلی این کد این است که سنسور لمسی و موتورها را کار کند ، یک فرمان از تلفن دریافت می کند و به آن عمل می کند.
#include // با کتابخانه سروو تماس می گیرد تا بتوانیم دو servosServo servo1 را کنترل کنیم. Servo servo2؛ // برای هر سروو موتور دو شیء سرو ایجاد می کند int a = 0؛ // متغیر ردیابی برای آزمایش int q = 0؛ // متغیری که اجازه می دهد تا قبل از شروع کار pluggin تاخیر داشته باشد char c؛ // متغیری که حاوی پیام سریال تلفن است void setup () {attachInterrupt (digitalPinToInterrupt (2)، AH، FALLING) ؛ // یک وقفه سقوط را متصل می کند تا دقیقاً بفهمد سنسور لمسی چه موقع تلفن در حال خاموش شدن در servo1.attach است. (10) ؛ servo2.attach (9) ؛ // دو سروو را Serial.begin (9600) راه اندازی می کند ؛ // ارتباط سریال را با سرعتی مشابه ماژول بلوتوث servo2.write (20) آغاز می کند ؛ // خودکار سرویس ها را روی موقعیت اولیه servo1.write (180) ؛ }
حلقه خالی () {
if (Serial.available ()) {// این بررسی می کند که آیا چیزی از طریق تلفن از طریق پین های سریال Tx و Rx c = Serial.read () ؛ // مطالبی که از if وارد می شود را بخواند (c == 't') {// اگر دستگاه سریال در آن زمان بخواند به این معنی است که تلفن کاملاً شارژ شده است ، فرایند جدا شدن از برق شروع می شود. زمان برای حذف servo1.write (110) وجود دارد ؛ // تلفن را به حالت قائم منتقل می کند تا به //Serial.println("here "سیگنال دهد. attachInterrupt (digitalPinToInterrupt (2) ، AH ، FALLING) ؛ // وقفه را مجدداً وصل می کند}} if (q == 1) {// اگر شرط pluggin برقرار است ، سپس با اتصال تاخیر شارژر (10000) شروع کنید ؛ servo2.write (0)؛ // سروو را به موقعیت q = 0 منتقل می کند ؛ // وضعیت را بازنشانی می کند}}
void 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 را گسترش می دهد {
// ایجاد اشیاء لازم Handler handler؛ // به حلقه Runnable runnable کمک می کند ؛ // به طور مداوم BluetoothAdapter mBluetoothAdapter را اجرا می کند ؛ بلوتوث سوکت mmSocket؛ دستگاه بلوتوث mmDevice؛ جریان خروجی mmOutputStream؛ فرار boolean stopWorker؛ خصوصی OutputStream outputStream؛ رشته نهایی خصوصی DEVICE_NAME = "HC-05"؛ خصوصی خصوصی UUID PORT_UUID = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb") ؛ دستگاه خصوصی BluetoothAdapter ؛ سوکت خصوصی BluetoothSocket ؛ Override void onCreate protected (بسته نرم افزاری saveInstanceState) {// مجموعه ای از دستورالعمل ها است که هنگام ایجاد برنامه super.onCreate (saveInstanceState) ؛ // displya creation setContentView (R.layout.activity_main) ؛ runnable = جدید Runnable () {Override public void run () {// بارها و بارها int level = (int) getBattery () اجرا می شود ؛ // اگر سطح باتری در صورت (سطح == 100) {// سطح باتری فعلی را دریافت می کند به 100٪ می رسد try {getBT ()؛ // به ماژول بلوتوث متصل می شود openBT ()؛ // آن را باز می کند sendData ()؛ // داده های لازم را ارسال می کند closeBT ()؛ // شیء را می بندد (گرفتن IOException ex) { }} handler.postDelayed (قابل اجرا ، 5000) ؛ // تأخیر}} ؛ handler = new Handler ()؛ handler.postDelayed (قابل اجرا ، 0) ؛ }
شناور عمومی getBattery () {
Intent batteryIntent = registerReceiver (تهی ، جدید IntentFilter (Intent. ACTION_BATTERY_CHANGED)) ؛ // عملیاتی را ایجاد می کند که به باتری متصل می شود int level = batteryIntent.getIntExtra (BatteryManager. EXTRA_LEVEL ، -1) ؛ // سطح بهتر را در مقیاس int = batteryIntent.getIntExtra (BatteryManager. EXTRA_SCALE ، -1) ؛ // مقیاس باتری را می گیرد اگر (سطح == -1 || مقیاس == -1) {// در صورت برگشت اشتباه 50.0f ؛ } مقیاس شناور = (سطح/(شناور) مقیاس)*100.0f؛ // مقیاس مناسب بازده مقیاس را دریافت می کند ؛ // سطح را برمی گرداند}
void getBT () {// اتصالات احتمالی بلوتوث را دریافت می کند
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter ()؛ // آداپتور را دریافت می کند اگر (! mBluetoothAdapter.isEnabled ()) {// اطمینان حاصل کند که تلفن دارای رنگ آبی در Intent enableBluetooth = قصد جدید (BluetoothAdapter. ACTION_REQUEST_ENABLE) باشد ؛ // درخواستها روشن نشود اگر startActivityForResult (enableBluetooth، 0)؛ } تنظیم pairedDevices = mBluetoothAdapter.getBondedDevices ()؛ // لیست بلوتوث متصل شده را دریافت می کند اگر (pairedDevices.size ()> 0) {// مطمئن شوید که برخی دستگاه ها برای (دستگاه BluetoothDevice: pairedDevices) {// از طریق دستگاه های if (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 () ؛ // قابلیت ارسال را آغاز می کند داده به ماژول arduino}
void sendData () کلاس IOException را پرتاب می کند که t را به آردوینو ارسال می کند
mmOutputStream.write ('t')؛ }
void closeBT () IOException را پرتاب می کند {// تمام اتصالات به آردوینو بسته می شود
stopWorker = true؛ mmOutputStream.close ()؛ mmSocket.close ()؛ }}
مرحله 6: فایل ها
با تشکر از شما برای خواندن ، فایلهایی که در این پروژه استفاده شده است ضمیمه شده است
توصیه شده:
شارژر تلفن با دوچرخه: 6 مرحله (همراه با تصاویر)
شارژر تلفن با دوچرخه: این یک شارژر تلفن با دوچرخه است که ارزان ، قابل چاپ سه بعدی ، ساخت و نصب آسان است و شارژر تلفن جهانی است. اگر زیاد دوچرخه سواری می کنید و نیاز به شارژ تلفن دارید ، داشتن چیز مفیدی است. شارژر طراحی و ساخته شده است
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
شارژر تلفن تخت آهنین: 17 مرحله (همراه با تصاویر)
شارژر تلفن Iron Throne: من درباره فصل 7 بازی Game of Thrones بسیار هیجان زده هستم ، مجبور شدم یک پروژه مرتبط ایجاد کنم - یک شارژر تلفن Iron Thron! لیست عرضه: شارژر USB شمشیرهای کوکتل پلاستیکی رنگ اکریلیک نقره ای رنگ اکریلیک برنز رنگ اسپری سیاه 2 میلی متر فوم ضخیم
شارژر خورشیدی USB 5 دقیقه ای آسان/شارژر USB زنده ماندن: 6 مرحله (همراه با تصاویر)
آسان 5 دقیقه شارژر خورشیدی USB/شارژر USB زنده ماندن: سلام بچه ها! امروز من (به احتمال زیاد) ساده ترین شارژر پنل خورشیدی usb را ساختم! ابتدا متأسفم که برخی از مطالب آموزشی را برای شما بارگذاری نکردم. در چند ماه گذشته امتحاناتی داشتم (در واقع تعداد کمی شاید یک هفته یا بیشتر ..). ولی
تعمیر: شارژر شارژر Apple MacBook MagSafe Charger: 5 مرحله (همراه با تصاویر)
تعمیر: Apple MacBook MagSafe Charger Power Cord: اپل واقعاً توپ را روی طراحی این شارژر انداخت. سیم نازک مورد استفاده در طراحی به سادگی ضعیف است تا هرگونه تنش ، پیچش و پیچ خوردگی واقعی را تحمل کند. در نهایت غلاف لاستیکی از اتصال MagSafe یا Power-brick جدا می شود و