فهرست مطالب:
- مرحله 1: مواد برای شروع
- مرحله 2: آزمایش قطعات
- مرحله 3: لحیم کردن تابلو شاخص
- مرحله 4: پنل نشانگر را در آزمایش قرار دهید
- مرحله 5: ادغام پنل نشانگر با صفحه لمسی
- مرحله 6: آن را هوشمند کنید
- مرحله 7: رنگ آمیزی و مونتاژ
- مرحله 8: آزمایش از راه دور با VNC و کد نهایی
- مرحله 9: مدیریت کابل و مونتاژ نهایی
- مرحله 10: چند تصویر از شاخص
تصویری: نشانگر دوچرخه مینیمالیستی ، لمسی فعال است: 10 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
سلام! این اولین دستورالعمل من است من همیشه می خواستم همه چیز را از ابتدا درست کنم تا ببینم چگونه کار می کند و چه کسانی از کارهای DIY (خودتان انجام دهید) خوششان نمی آید وقتی می توانید مطابق نیاز خود چیزی را اصلاح کنید؟ همانطور که یک DIY جالب به نظر می رسد ، کمی تلاش برای تحقق آن لازم است. نگاه کردن به وب سایت Instructables یک راه عالی برای شروع آرزوهای DIY شما است و به این ترتیب من قبلاً برخی از پروژه هایم را شروع کردم ، اما هرگز فکر نمی کردم که یکی از آنها را بسازم.
درست همانطور که فرصتی پیش آمد ، من یک نشانگر دوچرخه با طراحی مینیمالیستی و با قابلیت لمس ساخته ام. من می دانم که بسیاری از دستورالعمل ها یا منابع آنلاین برای نشانگر دوچرخه وجود دارد ، اما اکثر آنها یا فضای بیشتری را اشغال کرده اند یا آنقدر هوشمند نیستند که بتوانند آنها را به روش خاصی تغییر دهند. اگر به دنبال شاخصی هستید که به اندازه کافی هوشمند باشد تا بتواند نیازهای شما را برآورده کند و به شما این فرصت را بدهد که آنها را بر اساس نیاز خود تغییر دهید ، این دستورالعمل برای شما مناسب است!
چرا شاخص دوچرخه؟
من عاشق دوچرخه سواری در شهر هستم! من دوچرخه سواری می کنم و فقط صبح یا عصرها پیاده روی می کنم. گاهی اوقات ، هنگام شب ، سوار شدن دشوار است ، زیرا ترافیک پشت سر شما نمی تواند متوجه شما شود و این یک علامت خطرناک است. به همین دلیل من می خواستم یک شاخص با تمام موادی که در خانه داشتم بسازم و همچنین هنگام دویدن در شهر با روشن کردن نشانگرها روی دوچرخه بسیار زیبا به نظر می رسد!
ساخت یک پروژه بدون نیاز به روبرو شدن با هیچ مشکلی ، اتفاق نمی افتد! اما من تمام اشتباهاتی را که مرتکب شده ام ، به عنوان "نکته مفید" به شما می گویم تا سعی نکنید آنها را مرتکب شوید. ویدئوی YouTube شامل تصویری از نحوه ساخت پروژه ، انیمیشن های کوچک برای انتقال نحوه کار و نحوه نمایش شاخص در جاده است! بیشتر اطلاعات مفصل در این دستورالعمل آمده است. در ادامه ، من بخش هایی از ویدئوی یوتیوب خود را با عنوان "Timeline:" در هر مرحله برچسب گذاری می کنم تا نحوه عملکرد همه چیز را در عمل مشاهده کنید. با کلیک روی پیوندهای برجسته ارائه شده می توانید اطلاعات بیشتری کسب کنید.
ویژگی های این پروژه:
- نشانگر گردش راست
- نشانگر گردش به چپ
- نشانه دید در شب
- لمسی فعال است
مرحله 1: مواد برای شروع
- مقاومت (330 اهم و 120 اهم): 330 اهم و 120 اهم
- رزبری پای 3: RPi 3
- تخته نان: تخته نان
- سیم های جامپر (نر-مرد ، زن-زن ، زن-زن): سیم های جامپر
- سیم های چند رشته ای: سیم چند رشته ای
- سنسور لمسی خازنی (TTP223) - (2): پیوند
- LED های RGB (نوع کاتد مشترک) - (13): RGB LED کاتد معمولی
- LED های معمولی - (2): LED
- مواد لحیم کاری: کیت لحیم کاری
- تخته های پرفروش: تخته پرفکت
- پاوربانک: پاوربانک
- خازن الکترولیتی 1 میکرو فاراد: خازن الکترولیتی
- LDR (مقاومت وابسته به نور): LDR
- کابل کراوات: کابل کراوات
- کانسیلر کابل: کانسیلر کابل
- رنگ و برس اکریلیک (اختیاری): رنگ و برس
- دو جعبه ذخیره سازی برای مونتاژ. (1 عدد بزرگ و 1 عدد متوسط)
همیشه مقدار بیشتری از آنچه در بالا ذکر شد نگه دارید. من اجزای آمازون و بهترین کیت خرید مواد لحیم کاری را پیوند داده ام!
جدول زمانی: جمع آوری مواد
مرحله 2: آزمایش قطعات
بیایید اجزای شما را آزمایش کنیم! این برای جدا کردن اجزای آسیب دیده یا عجیب و غریب به دلایلی واقعاً مفید است و همچنین این مرحله به شما امکان می دهد تا با استفاده از اجزای سازنده تجربه اولیه را بدست آورید و قبل از ساختن کل پروژه کمی یاد بگیرید.
تست نوع LED RGB
دو نوع LED RGB در بازار وجود دارد. نوع کاتد مشترک و نوع آند مشترک.
این یک نکته مفید است (هرچند بزرگتر) زیرا LED ها را همانطور که از این ویدئو در اینجا مشاهده می کنید وصل کردم و حتی بعد از چندین بار بررسی متقابل مدار ، آنطور که انتظار می رفت روشن نشد. سپس متوجه شدم که دو نوع از این LED وجود دارد و با مرور برگه اطلاعات بالاخره راه حلی پیدا کردم! مشکل مدار من این بود که همانطور که گفته شد پین کاتد معمولی به 3.3 ولت متصل بود و من توسط پین GPIO روی HIGH نگه داشته بودم ، بنابراین هر دو پین کاتد معمولی و 3 پین دیگر در یک پتانسیل یکسان بودند.
راه حل: من پین کاتد معمولی را به زمین وصل کردم و LED روشن شد! دلیل اینکه من کد خود را برای پایین نگه داشتن پین های GPIO تغییر ندادم زیرا بعداً از LED های بیشتری استفاده خواهیم کرد و RPi فقط دو پین در 3.3 ولت به ما می دهد که برای اهداف دیگر نیز به آن نیاز داریم!
چگونه می توان نوع آن را آزمایش کرد؟
مولتی متر را در حالت پیوستگی نگه دارید. با نوک قرمز رنگ مولتی متر طولانی ترین سرب را لمس کنید و با نوک سیاه ، روی یکی دیگر از سیم های دیگر ضربه بزنید. اگر LED با انجام مرحله بالا روشن شد ، یک LED RGB معمولی آند است.اگر نه ، نوک مولتی متر را معکوس کنید. روی بلندترین سرب با نوک مشکی و نوک قرمز با سایر سیم ها ضربه بزنید. در حال حاضر روشن می شود که نشان می دهد LED یک LED RGB کاتد معمولی است.
نکته مفید: من در این پروژه از نوع مشترک کاتد استفاده کرده ام. سعی کنید این نوع را فقط دریافت کنید ، اما حتی اگر نوع دیگر آن موجود است نگران نباشید. اتصالات مدار یکسان باقی می مانند ، تنها تفاوت باید در کد ایجاد شود که من به عنوان یک نظر در کنار خط کد واقعی که باید تغییر دهید ، بیان می کنم. یک نفسی بگیر.
جدول زمانی: تست RGB
مرجع: نحوه آزمایش RGB
چراغ RGB روشن می شود
برای انجام این کار ، نمودار اتصال داده شده در تصاویر بالا را بررسی کنید و طبق پین ها از طریق یک تخته نان متصل شوید (برای شروع ایمن نگه دارید).
قرمز: پین 11 (مقاومت 330 اهم)
سبز: پین 13 (مقاومت 120 اهمی)
آبی: پین 15 (مقاومت 120 اهم)
مقادیر مقاومت به دلیل متغیر بودن ولتاژهای جلو سربی متفاوت است.
پس از اتصال صحیح آنها ، RPi را در IDE پایتون داخلی خود کدگذاری کنید.
RPi. GPIO را به عنوان GPIO وارد کنید
#شماره های پین مربوط به شماره دقیق موجود در RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #اتصال پین کاتد معمولی به پین 6 def turnOn (پین): GPIO.setmode (GPIO. BOARD) GPIO.setup (پین ، GPIO. OUT) GPIO.output (پین ، GPIO. HIGH) #GPIO.output (پین ، GPIO. LOW) برای نوع آند رایج def turnOff (پین): GPIO.setmode (GPIO. BOARD) GPIO.setup (پین ، GPIO. OUT) GPIO.output (pin، GPIO. LOW) #GPIO.output (pin، GPIO. HIGH) def redOn (): turnOn (Red_pin) def redOff (): turnOff (Red_pin) def greenOn (): turnOn (Green_pin) def greenOff (): turnOff (Green_pin) def blueOn (): turnOn (Blue_pin) def blueOff (): turnOff (Blue_pin) سعی کنید: while True: cmd = input ("فرمان خود را تایپ کنید:") اگر cmd == "قرمز روشن است ": #نوع دستورات ورودی همانطور که در داخل ذکر شده است" "redOn () elif cmd ==" red off ": redOff () elif cmd ==" green on ": greenOn () elif cmd ==" green off ": greenOff () elif cmd == "blue on": blueOn () elif cmd == "blue off": blueOff () else: print ("یک دستور معتبر نیست") به جز KeyboardIntruptrupt: GPIO.cleanup ()
من به این دستورالعمل اشاره کردم ، برای توضیحات دقیق و کد آن را بررسی کنید!
با استفاده از کد مشابه در بالا ، می توانید چندین LED را با یکدیگر به طور موازی روی تخته نورد متصل کرده و نقطه واحد را از هر کدام از پین هایی که به هم متصل شده اند بیرون آورید. برای بررسی روشنایی LED های خود از مقادیر مختلف مقاومت برای هر پین استفاده کنید
نکته مفید: مطمئن شوید که همان موازی نوع پین را وصل کرده اید. یعنی پین قرمز یک LED فقط به پین قرمز LED دیگر متصل می شود.
جدول زمانی: آنها را درخشان کنید!
تست TouchPad
اتصال مدار مطابق شکل (Timeline) است. آنها را مطابق تصویر متصل کرده و با استفاده از کد زیر صفحه لمسی خود را آزمایش کنید.
کد:
RPi. GPIO را به عنوان GPIO وارد کنید
از زمان وارد کردن خواب GPIO.setmode (IO. BOARD) touchpad1 = 11 #پین 11 touchpad2 = 13 #پین 13 GPIO.setup (touchpad1، GPIO. IN) GPIO.setup (touchpad2، GPIO. IN) #ما می توانیم هر دو را جملات بالا به صورت # GPIO.setup ([touchpad1 ، touchpad2] ، GPIO. IN) سعی کنید: while True: if (GPIO.input (touchpad1) == True): print ("Touchpad 1 touchised") sleep (2) elif (GPIO.input (touchpad2) == درست): چاپ ("صفحه لمسی 2 لمس شده است") خواب (2) دیگر: چاپ ("لمس نشده") به جز KeyboardIntruptrupt: GPIO.cleanup () #CTRL-C برای خروج
آزمایش یک LED
برای آزمایش LED خود به این دستورالعمل عالی مراجعه کنید!
هنگامی که تمام اجزای فوق را آزمایش کردید ، آماده ساختن نسخه بزرگتر آن هستید.
مرحله 3: لحیم کردن تابلو شاخص
اگر تازه وارد لحیم کاری شده اید ، این آموزش را ببینید تا اصول اولیه آن را در اینجا بیاموزید (نحوه لحیم کاری). اگر در زمینه لحیم کاری حرفه ای هستید ، اجازه دهید شروع کنیم!
پانل شاخص
می توانید تصویر نحوه لحیم کاری آنها را در صفحه فوق در تصاویر بالا بیابید.
ما از 13 LED RGB برای پنل استفاده می کنیم. آنها را به سه قسمت چپ ، راست و مرکز برای لحیم کاری تقسیم کنید.
مهم: فاصله LED ها
من بین LED ها 3 ردیف گذاشته ام. همانطور که در تصویر دوم نشان داده شده است. این مهم است که پنل LED ظاهر و احساس خوبی داشته باشد. ما نمی خواهیم LED های خیلی زیاد فضا را افزایش دهند یا خیلی نزدیک نتوانند نور را از دور تشخیص دهند.
نکته مفید: ابتدا با لحیم کاری تمام پین های کاتد معمولی را شروع کنید
نکته مفید: از سیم های چند رشته ای برای اتصال LED ها به یکدیگر استفاده کنید زیرا محکم تر نیستند و خم شدن آنها آسان است. برای اتصال فواصل کوتاهتر می توانید از پین های جدا شده اضافی LED ها استفاده کنید
بخش راست: (5 LED)
- همه پین های قرمز را به هم وصل کنید
- همه Green Pins را به هم وصل کنید
- همه پین های کاتد مشترک را به هم وصل کنید
بخش چپ: (5 LED)
- همه پین های قرمز را به هم وصل کنید
- همه گرین پین ها را به هم وصل کنید
- همه پین های کاتد مشترک را به هم وصل کنید
بخش مرکزی: (3 LED)
نکته مفید: این بخش احتیاط کافی را می طلبد. همانطور که در دو قسمت بالا انجام دادیم ، همه پین ها را با هم لحیم نکنید!
- همه پین های قرمز را به هم وصل کنید
- فقط LED های بالا و پایین ، Green Pin را وصل کنید.
- همه پین های کاتد معمولی را به هم وصل کنید
سیم ها
برای اتصال پنل به برد GPIO به سیم های طولانی تری نیاز داریم.
نکته مفید:
- از سیم های تک رشته استفاده کنید! آنها به اندازه کافی محکم هستند تا در برابر فشارهای مکانیکی وارد شده به آن مقاومت کنند!
- سیم ها را کمی بیشتر از طول واقعی مورد نیاز بین پانل و RPi نگه دارید (در حالی که بعداً سیم ها را مدیریت می کنید بسیار مفید است! (زمان بندی: اندازه گیری)
- بعد از لحیم کاری عایق کاری کنید! خیلی مهم
برای لحیم کاری از یک سیم بلوز و یک سیم تک رشته استفاده کنید. یک سر سیم جهنده باید یک اتصال زن باشد. آنها را همانطور که در اینجا نشان داده شده لحیم کنید (جدول زمانی)
رنگ سیم ها را قرمز ، سبز و مشکی کد کنید. که به ترتیب با پین قرمز ، پین سبز و پین کاتد معمولی مطابقت دارد.
ما به 3 سیم سیاه ، 3 سیم قرمز و 3 سیم سبز نیاز داریم.
پس از آماده شدن سیم ها سیمها را به LED های نشانگر لحیم کنید.
نکات کاربردی:
- اطمینان حاصل کنید که LED ها مطابق اتصالات داده شده لحیم شده اند.
- مطمئن شوید که مقادیر صحیح مقاومت را در جای خود لحیم کرده اید. اگر مقادیر تغییر کند ، بر روشنایی LED ها تأثیر می گذارد
- یکی از راه های اطمینان از کارکرد LED های شما استفاده از متر چند متری است که در مرحله 2 آمده است. این بسیار مفید است زیرا در صورت وجود اتصال کوتاه LED ها روشن نمی شوند.
- انتهای سیم ها را بیش از حد مورد نیاز جدا نکنید. نگه داشتن آنها در محل کار دشوار خواهد بود و همچنین خطر اتصال کوتاه بیشتر است.
- برای اتصال بین LED ها از سیم چند رشته ای استفاده کنید.
- برای اتصال بخش ها به RPi از سیم تک رشته استفاده کنید.
مرحله 4: پنل نشانگر را در آزمایش قرار دهید
آفرین! اگر تابلو را به درستی لحیم کرده اید. بیایید در حال حاضر کدگذاری شاخص را ادامه دهیم!
همانطور که قبلاً ذکر شد ، ما به نوبت به راست ، گردش به چپ و روشن/خاموش کردن دید در شب اشاره می کنیم.
در مرحله 3 به اتصال مدار مراجعه کنید.
سیمهای پانل را همانطور که در زیر ذکر شده است وصل کنید:
- قرمز راست - پین 7
- سبز راست - پین 11
- مشترک کاتد راست - پین 6 (GND)
- قرمز سمت چپ - پین 13
- سبز سمت چپ - پین 15
- کاتد مشترک چپ - پین 9 (GND)
- مرکز قرمز - پین 16
- مرکز سبز (بالا و پایین) - پین 18
- مرکز مشترک کاتد - پین 14 (GND)
کد تست:
RPi. GPIO را به عنوان GPIO وارد کنید
از زمان وارد کردن خواب #با توجه به شماره پین زیر متصل شوید (Green_right، Green_top_bottom، 0) def left_turn (): چاپ ("گردش به چپ") چشمک زدن (Green_left، Green_top_bottom، 0) def blink (pin1، pin2، pin3): if (pin3 == 0): GPIO.setup ([pin1، pin2]، GPIO. OUT) برای x در محدوده (10): GPIO.output ([pin1، pin2]، GPIO. HIGH) sleep (0.5) GPIO.output ([pin1، pin2]، GPIO. LOW) خواب (0.5) دیگر: GPIO.setup ([pin1 ، pin2 ، pin3] ، GPIO. OUT) برای x در محدوده (10): GPIO.output ([pin1 ، pin2 ، pin3] ، GPIO. HIGH) خواب (0.5) GPIO.output ([pin1، pin2، pin3]، GPIO. LOW) sleep (0.5) def night_sight (): print ("Night Sight ON") چشمک زن (Red_left، Red_right، Red_center) try: while True: cmd = input (" LED را برای: ") if cmd ==" گردش به راست ": right_turn () elif cmd ==" گردش به چپ ": left_turn () elif cmd ==" دید در شب ": night_sight () دیگر: چاپ (" فرمان نامعتبر ") آزمایش کنید) به جز Ke yboardInterrupt: GPIO.cleanup ()
اگر پنل شما تمام مراحل آزمایش را مانند کد پاک می کند ، خوب انجام شد! برای مرحله بعدی آماده شوید
اگر صفحه روشن نمی شود ، مطمئن شوید که تمام مراحل را به درستی انجام داده اید و نکات مفید را قبلاً بررسی کرده اید. اگر مشکل همچنان ادامه داشت می توانید در زیر نظر دهید ، من آماده کمک هستم.
جدول زمانی: Test ONE (ویدئو را برای نمونه اولیه کار بررسی کنید)
مرحله 5: ادغام پنل نشانگر با صفحه لمسی
اتصال آن به RPi
اتصالات را مطابق تصویر بالا انجام دهید.
پنل راست
صفحه لمسی:
- پین GND - پین 34
- پین VCC - پین 1
- پین SIG - پین 29
رهبری:
پین آند (+) - پین 33
پنل چپ
صفحه لمسی:
- پین GND - پین 30
- پین VCC - پین 17
- پین SIG - پین 31
رهبری:
پین آند (+) - پین 35
GND مشترک: پین 39 (برای هر دو کاتد LED ها) - لحیم کاری مشترک زمین (جدول زمانی)
کد تست:
RPi. GPIO را به عنوان GPIO وارد کنید
از زمان وارد کردن خواب right_led، left_led]، GPIO. OUT) GPIO.setup (right_touch، GPIO. IN، pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch، GPIO. IN، pull_up_down = GPIO. PUD_UP) def right_turn (کانال): (right_led، GPIO. HIGH) global triggered = 1 print ("Turning right") چشمک زدن (Green_right، Green_top_bottom) def left_turn (channel): GPIO.output (left_led، GPIO. HIGH) global triggered = 1 print ("Turning چپ ") پلک زدن (Green_left ، Green_top_bottom) GPIO.add_event_detect (right_touch، GPIO. FALLING، callback = right_turn، bouncetime = 500) GPIO.add_event_detect (left_touch، GPIO. FALLING، callback = 500) pin2): GPIO.setup ([pin1، pin2]، GPIO. OUT) برای x در محدوده (10): GPIO.output ([pin1، pin2]، GPIO. HIGH) خواب (0.5) GPIO.outpu t ([pin1، pin2]، GPIO. LOW) sleep (0.5) GPIO.output ([right_led، left_led]، GPIO. LOW) global triggerred = 0 def night_sight (): while (True): GPIO.setup ([Red_center، Red_left].output ([Red_center، Red_left، Red_right]، GPIO. LOW) خواب (0.27) دیگر: چاپ ("Night Sight OFF") GPIO.output ([Red_center، Red_left، Red_right]، GPIO. LOW) try: night_sight () به جز KeyboardIntruptrupt: GPIO.cleanup ()
صفحه لمسی را لمس کنید تا روشنایی نور خود را ببینید
جدول زمانی (بدون نشانگر LED): تست دوم
جدول زمانی (با LED نشانگر): تست 3
توضیح کد: ما می خواهیم منظره شب به طور مداوم در حال اجرا باشد و هنگامی که صفحه لمسی را لمس می کنیم باید متوقف شده و عملکرد صفحه لمسی را اجرا کند. برای انجام این کار به طور همزمان از چیزی استفاده می کنیم که در پایتون به عنوان "وقفه" شناخته می شود. این به ما امکان می دهد کد عادی خود را که دید در شب است اجرا کنیم و همچنین هنگامی که یک لمس تشخیص داده می شود ، یک رویداد را آغاز می کند. ما برای متوقف کردن دید در شب از متغیر triggered به عنوان پرچم استفاده می کنیم.
برای اطلاعات بیشتر در مورد وقفه ها ، این پیوند را بررسی کنید.
پنل را لحیم کنید
حالا بیایید پنل های صفحه لمسی را که به دسته دوچرخه می رود لحیم کنیم. به اتصالات مطابق تصویر بالا مراجعه کنید.
اکنون که LED و صفحه لمسی خود را آزمایش کرده اید ، خوب است بروید. اگر قبلاً آزمایش نکرده اید ، لطفاً به این مرحله و مراحل قبلی مراجعه کنید.
صفحه لمسی را همانطور که در فیلم نشان داده شده است ، نزدیک فرمان قرار دهید. یعنی ، برای صفحه لمسی سمت راست ، صفحه لمسی در سمت راست و چپ در سمت چپ آن است. به طور مشابه ، برای صفحه لمسی سمت چپ ، led در سمت راست و صفحه لمسی در سمت چپ است که دسترسی انگشت شست را آسان تر می کند.
PS: من صفحه تاچ پد را به برد perf لحیم نکرده ام زیرا قرار بود دوباره از آن استفاده کنم. بنابراین من فقط آن را با نوار دو طرفه روی صفحه قرار دادم.
با استفاده از سیمهای بلندتر ، پنل را به RPi وصل کنید
مرحله 6: آن را هوشمند کنید
آره! اکنون که همه ملزومات اصلی شاخص را در دست اجرا داریم. بیایید یک قدم جلوتر برویم تا هوشمند شود.
در اینجا هوشمند صرفه جویی در مصرف باتری را نیز تعریف می کند. همانطور که متوجه شده اید منظره شب همیشه روشن است و گاهی اوقات ممکن است در یک روز آفتابی روشن نیازی به این کار نباشد. برای غلبه بر این مشکل ، اجازه دهید LDR (مقاومت وابسته به نور) را ادغام کرده و داده های شدت نور را در اختیار ما قرار دهد تا بتوانیم شاخص خود را بر اساس آن جمع آوری و پردازش کنیم.
آزمایش LDR
من برای آزمایش LDR به منظور بررسی شدت نور و مقدار بازگشت آن به این وب سایت مراجعه کردم.
به وب سایت برچسب زده شده در بالا برای مدار و کد نمونه برای کار LDR مراجعه کنید.
ادغام LDR با کد ما
همانطور که در نمودار اتصال بالا نشان داده شده است ، LDR را به پنل سمت راست صفحه لمسی لحیم کنید.
پس از لحیم کاری پین ها در محل مناسب ، زمان آخرین قسمت کدگذاری فرا می رسد. کد نهایی!
- نقطه مشترک کاتد (-) خازن و LDR را به پین 36 در RPi وصل کنید
- آند خازن به نقطه مشترک زمین اشاره شده در مرحله 5 متصل می شود
کد نهایی:
RPi. GPIO را به عنوان GPIO وارد کنید
از زمان وارد کردن خواب راه اندازی ([right_led، left_led]، GPIO. OUT) GPIO.setup (right_touch، GPIO. IN، pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch، GPIO. IN، pull_up_down = GPIO. PUD_UP) def right_turn (کانال) GPIO.output (right_led، GPIO. HIGH) global triggered = 1 چاپ ("Turning right") چشمک زدن (Green_right، Green_top_bottom) def left_turn (channel): GPIO.output (left_led، GPIO. HIGH) global triggerred = 1 print ("گردش به چپ") چشمک زدن (Green_left، Green_top_bottom) GPIO.add_event_detect (right_touch، GPIO. FALLING، callback = right_turn، bouncetime = 500) GPIO.add_event_detect (left_touch، GPIO = left، (ldr): count = 0 #خروجی روی پین برای GPIO.setup (ldr، GPIO. OUT) GPIO.output (ldr، GPIO. LOW) خواب (0.1) #Chang e پین به ورودی GPIO.setup (ldr، GPIO. IN) #حساب کنید تا زمانی که پین بالا برود در حالی که (GPIO.input (ldr) == GPIO. LOW): count += 1 count count refink (pin1 ، pin2): GPIO.setup ([pin1، pin2]، GPIO. OUT) برای x در محدوده (10): GPIO.output ([pin1، pin2]، GPIO. HIGH) خواب (0.5) GPIO.output ([pin1 ، pin2]، GPIO. LOW) خواب (0.5) GPIO.output ([right_led، left_led]، GPIO. LOW) global triggered triggered = 0 def night_sight (): while (True): GPIO.setup ([Red_center، Red_left، Red_right] ، GPIO. OUT) global if (light_sensing (ldr)> 7800): if (triggered == 0): print ("Night Sight ON") GPIO.output ([Red_center، Red_left، Red_right]، GPIO. HIGH) sleep (0.27) GPIO.output ([Red_center، Red_left، Red_right]، GPIO. LOW) خواب (0.27) دیگر: چاپ ("Night Sight Off") GPIO.output ([Red_center، Red_left، Red_right]، GPIO. LOW) امتحان کنید: night_sight () به جز KeyboardIntruptrupt: GPIO.cleanup ()
وویلا! و نشانگر آماده چرخش است.
نکته مفید: قبل از مونتاژ RPi و سایر قطعات در چرخه ، مطمئن شوید که این برنامه را به درستی آزمایش کرده اید! چند بار آن را اجرا کنید تا اشکالات را عیب یابی کند.
مرحله 7: رنگ آمیزی و مونتاژ
مواد مورد نیاز:
- ابزارهای برش/ برش سیم
- یک جعبه بزرگ ذخیره سازی برای قرار دادن در رزبری پای
- یک جعبه کوچک برای قرار دادن صفحه نشانگر
- رنگ کنید
- قلم موی رنگ آمیزی
با رنگ آمیزی پانل نشانگر و پانل های صفحه لمسی با رنگ مشکی شروع کنید. من از رنگ های اکریلیک در اینجا استفاده کردم ، می توانید از آنها به دلخواه خود استفاده کنید که به خوبی با تخته ورق ترکیب می شود. از پس زمینه مشکی استفاده کنید تا پنل LED پر جنب و جوش و برجسته تر شود. سوراخ ها را با استفاده از پیچ گوشتی گرم شده یا با استفاده از هر شی فلزی برای ذوب پلاستیک ایجاد کنید.
توجه: لطفاً هنگام ایجاد سوراخ دقت کنید.
زمان بندی: رنگ آمیزی
نکته مفید: من از جعبه های پلاستیکی استفاده کردم و رنگ به راحتی پاک می شود. اطمینان حاصل کنید که از رنگهای با کیفیت خوب استفاده می کنید
پس از رنگ آمیزی نشانگر و صفحات ، آنها را در معرض نور آفتاب قرار دهید و برای مونتاژ آماده شوید.
برای صرفه جویی در فضا ، لبه های اضافی تخته پرف را در پنل نشانگر و پنل جلویی بریده ام.
ویدیو را برای مونتاژ بررسی کنید!
جدول زمانی: انتقام جویان! جمع کنید. (مونتاژ تابلو نشانگر و RPi با جعبه)
همانطور که در ویدئو مشاهده می شود سیم ها را با ایجاد سه سوراخ در جعبه بزرگتر قرار دهید. یکی برای سیم پاور بانک RPi ، یکی برای صفحات صفحه لمسی و دیگری برای پنل نشانگر. فقط یک سوراخ برای جعبه کوچکتر لازم است.
نکته مفید: عایق بودن سیم ها را بررسی کنید و قبل از اتصال سیم ها به جعبه ، بررسی کنید که آیا سیم ها به درستی لحیم شده اند یا خیر.
مرحله 8: آزمایش از راه دور با VNC و کد نهایی
یک آزمایش نهایی قبل از آماده شدن کامل نشانگر. RPi خود را به VNC Viewer متصل کرده و برنامه را اجرا کنید.
من همیشه از سرور VNC برای اجرای برنامه و رفع اشکال در برنامه استفاده می کنم. به این ترتیب می توانم RPi را مستقیماً در محلی که می خواهم آزمایش کنم بدون اتصال مانیتور به خارج قرار دهم.
برای اتصال RPi خود به سرور VNC این صفحه را بررسی کنید. (سرور VNC)
پس از اتصال RPi به سرور VNC. می توانید کد را روی دسکتاپ مجازی اجرا کرده و خطاها را اشکال زدایی کنید.
جدول زمانی: بر روی Startup اجرا کنید
نکته مفید: هنگامی که رزبری پای خود را به دسکتاپ مجازی متصل کرده اید ، با آدرس IP RPi وارد سیستم می شوید. اما اگر خطایی مبنی بر رد RPi اتصال دریافت کردید ، به دلیل تغییر آدرس IP در RPI است. این می تواند زمانی رخ دهد که روتر یا نقطه اتصال WiFi را راه اندازی مجدد کرده و سپس سعی کنید با آدرس قدیمی وارد شوید. روتر هر بار که آن را راه اندازی مجدد می کنید یک IP جدید تعیین می کند. اما اگر آدرس IP قدیمی RPi را به خاطر می آورید فقط آخرین رقم را با 1 افزایش دهید و وارد شوید. مثال: اگر آدرس IP قدیمی 190.148.1.100 است پس با استفاده از 190.148 وارد شوید.1.101
پس از بررسی اینکه آیا همه چیز به درستی کار می کند ، زمان مونتاژ نهایی فرا رسیده است.
همیشه نمی توانیم یک دسکتاپ مجازی برای نظارت یا اجرای اسکریپت پایتون داشته باشیم. بنابراین اجازه دهید این کار را هنگام راه اندازی انجام دهیم.
ما می خواهیم برنامه ما به محض بالا آمدن RPi اجرا شود. برای اطلاعات بیشتر در این مورد ، این وب سایت را بررسی کنید!
اگر RPi شما در تنظیمات ورود به سیستم خودکار است ، ادامه دهید ؛
دستورات زیر را در ترمینال RPi اجرا کنید
sudo nano /etc /profile
به پایین بروید و خط زیر را اضافه کنید:
sudo python file_path &
file_path در اینجا به مسیر فایل پایتون که در آن کد نهایی شما ذخیره شده است اشاره می کند.
توجه: Ampersand (&) در انتهای فایل باید اضافه شود تا برنامه شما موازی با بوت سیستم اجرا شود. از آنجا که برنامه ما دارای یک حلقه بی پایان است ، این مرحله اجباری است بنابراین حتی اگر برنامه مطابق انتظار اجرا نشود ، می توانیم از RPi desktop برای تغییر تنظیمات استفاده کنیم.
پس از این CTRL-X و سپس YPress Enter را دوبار فشار دهید و به ترمینال فرمان باز خواهید گشت.
Pi را راه اندازی مجدد کنید
حالا کد باید هنگام راه اندازی اجرا شود
مرحله 9: مدیریت کابل و مونتاژ نهایی
تبریک می گویم! در پایان این پروژه من کلمه Minimal را به آن دادم همانطور که دیدید ما از LED های کمتری برای نشان دادن تمام علائم لازم و همچنین با رنگ های سفارشی استفاده کرده ایم. با خیال راحت از رنگ های مختلف برای LED های خود مانند زرد برای نشانگرهای چرخش یا هر رنگ دیگر استفاده کنید.
اگر این پروژه را انجام داده اید ، روی "من آن را ساخته ام" کلیک کنید و تجربه خود را به اشتراک بگذارید. آیا افکار خود و همچنین هر گونه پیشنهاد یا نظر در مورد این پروژه را به اشتراک بگذارید. من دوست دارم این را بشنوم!
مدیریت کابل
آره! همانطور که ممکن است متوجه شده باشید سیم های زیادی در داخل و اطراف چرخه ها وارد شده و مدیریت آنها شلوغ است. من از برچسب های کابل ، نوارهای عایق و روکش کابل برای مخفی کردن سیم ها استفاده کردم و آنها را سیاه کردم ، همانطور که تصویر را مشاهده کرده اید.
نکته مفید: از آنجا که اینچهای اضافی را از کابلهای خود بیش از حد نیاز گذاشته اید ، در حال حاضر مفید است که آنها را بدون استرس مدیریت کنید! اگر یکی از LED های شما روشن شود و دیگران روشن نشوند ، حتی اگر همه کارها را درست انجام داده اید ، مشکل در Jumper Wires متصل به RPi ، یک تماس شل وجود خواهد داشت. در صورت تداوم این امر ، از سیم بلوز نر به ماده برای گسترش سیم و اتصال آنها استفاده کنید. از سیم های کابل برای ثابت نگه داشتن سیم ها استفاده کنید تا حرکت نکند.
در حال حاضر شاخص برای یک سواری آماده است! لذت ببرید
PS: در یک دستورالعمل بیشتر ، من واقعاً دوست دارم تعداد سیم های مدار را کاهش داده و برنامه بهتری ارائه دهم. اگر این کار را انجام دهم ، یک دستورالعمل در مورد آن به اشتراک می گذارم!
مرحله 10: چند تصویر از شاخص
ممنون که این دستورالعمل را مطالعه کردید. امیدوارم شما هم مثل من در تهیه آن لذت برده باشید
جدول زمانی: آزمایش نهایی در قسمت بالا ، می توانید ببینید که به محض تاریک شدن اتاق ، "Night Sight" روشن می شود و با روشن شدن آن بلافاصله خاموش می شود!
جدول زمانی: آماده پخش همه اعتبار به دوچرخه سواری خواهران من برای فیلم!
توصیه شده:
آموزش Arduino MFRC522 - آیا برچسب RFID موجود است یا حذف شده است؟: 6 مرحله
آموزش Arduino MFRC522 - آیا برچسب RFID موجود است یا حذف شده است؟: این آموزش در اصل در ولتاژهای بالا ارسال شده است
قفل دوچرخه هشدار DIY (شوک فعال شده): 5 مرحله (همراه با تصاویر)
قفل دوچرخه زنگ هشدار DIY (شوک فعال شده است): در این پروژه به شما نشان خواهم داد که چگونه یک قفل دوچرخه زنگ دار با شوک فعال ایجاد کنید. همانطور که از نامش مشخص است ، هنگامی که دوچرخه شما با اجازه در حال جابجایی است ، صدای زنگ هشدار ایجاد می کند. در طول راه ما کمی در مورد پیزوئل یاد خواهیم گرفت
ساعت مینی مینیمالیستی: 28 مرحله (همراه با تصاویر)
Minimalistic Word Clock: یک تشکر بزرگ از Super Make Something زیرا این پروژه از ساعت کلمه Neopixel Word الهام گرفته شده است. من این ساعت را به عنوان بخشی از طراحی IGCSE خود ایجاد کردم & amp؛ دوره فناوری و A* برای آن دریافت کرد. مدل CAD قبلاً بر روی همجوشی ساخته شده بود ، بنابراین
ساعت مینیمالیستی IoT (با استفاده از ESP8266 ، Adafruit.io ، IFTTT و Arduino IDE): 10 مرحله (همراه با تصاویر)
Minimalist Io Clock (با استفاده از ESP8266 ، Adafruit.io ، IFTTT و Arduino IDE): در این آموزش من نشان می دهم که چگونه می توانید یک ساعت مینیمالیستی را با اینترنت هماهنگ کنید. من آن را با دو برد مختلف مبتنی بر ESP8266 آزمایش کردم: Firebeetle و NodeMCU. میکروکنترلر زمان فعلی را از سرور گوگل دریافت می کند و آن را بر روی
استریوی ماشین من - آی پاد فعال است: 8 مرحله
استریو My Car - Ipod Enabled: لطفاً توجه داشته باشید: این کار را با مسئولیت خود انجام دهید ، به احتمال زیاد ، شما می توانید Ipod و صدای خودرو را خراب کنید. چگونه می توانید ماشین خود را صوتی ، Ipod Enabled کنید ، من Pioneer Car Audio و Ipod Mini دارم. شما به کابل های صوتی و استریو 2 پین مونو نیاز دارید