فهرست مطالب:
- مرحله 1: بخش ها
- مرحله 2: همه چیز را سیم کشی کنید
- مرحله 3: اجازه دهید Raspberry Pi شما را پیکربندی کنیم
- مرحله 4: بیایید برنامه نویسی را شروع کنیم
تصویری: پایک - ایمن تر رانندگی کنید ، هوشمندانه رانندگی کنید ، یک پایک رانندگی کنید!: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
به پروژه من به نام پایک خوش آمدید!
این یک پروژه به عنوان بخشی از آموزش من است. من دانشجوی NMCT در Howest در بلژیک هستم. هدف این بود که با استفاده از رزبری پای چیزی هوشمندانه بسازیم. ما آزادی کاملی داشتیم که می خواستیم در آن هوشمند باشیم.
برای من این یک انتخاب آسان بود که دوچرخه ام را کمی باهوش تر کنم. من در مکانی زندگی می کنم که دوچرخه سواری سریعتر مرا به مقصد شهر می رساند.
همچنین یک بار با دوچرخه ام زمین خوردم. من آرنجم را شکستم زمین خوردم چون به راننده پشت سرم اشاره می کردم که می خواهم راست بروم. جاده لغزنده بود و من کنترل خود را از دست دادم زیرا فقط یک دستم روی فرمانم بود. به همین دلیل اولین ایده من این بود که نشانگرهای جهت را به دوچرخه ام وصل کنم. از آنجا شروع به فکر کردم که چه چیز دیگری می توانم اضافه کنم ، بنابراین به ردیابی GPS رسیدم تا بعداً بتوانید ببینید کدام مسیری را طی کرده اید.
بنابراین پایک چه می تواند بکند؟
پیک جلسات رانندگی شما را ثبت می کند. این مسیر را که طی کرده اید پیگیری می کند ، سرعت متوسط و مسافتی را که طی کرده اید محاسبه می کند. پس از هر جلسه می توانید وارد وب سایت شوید تا بررسی کنید که کجا و چگونه سوار شده اید. ما همچنین چیزی را ایجاد می کنیم تا شما بتوانید دوچرخه سواری را انتخاب کنید تا افراد بیشتری در صورت تمایل از پایک شما استفاده کنند!
مرحله 1: بخش ها
بنابراین بدیهی است که شما باید بدانید برای بازسازی پروژه من به چه چیزی نیاز دارید. قبل از شروع ، می خواهم بگویم که این پروژه دقیقاً ارزان نبود. همچنین من سیم هایی را در مغازه محلی خریدم که قیمت آنها بیش از حد بود. می توانید آنها را به صورت چند یورو/دلار (که توصیه می کنم انجام دهید) به صورت آنلاین خریداری کنید. وقت نداشتم منتظر بمانم. به همین دلیل آنها را از مغازه محلی خود با قیمت بالا خریدم.
لیست خرید
- تمشک پای
- کابل های جامپر
- پاوربانک تا زمانی که به Pi قدرت کافی بدهد ، هر کاری را انجام می دهد
- دارنده گوشی هوشمند Maxxter (اساساً ارزان ترین موردی که می توانید پیدا کنید …)
- دارنده گوشی هوشمند Maxxter (دایره ای سفید نیز برای لوله های پلاستیکی من بسیار ارزان است)
- لوله های پلاستیکی (سوراخی در آن ایجاد شده است تا دکمه هایی را که در نگهدارنده تلفن هوشمند قرار می گیرند و روی فرمان وصل می شوند) قرار دهید.
- دکمه ها*
- مقاومت 6x 220 Ω
- مقاومت 1x 5K Ω
- صفحه نمایش ال سی دی
- سنسور دما DS18B20 One Wire
- Adafruit GPS-module Ultimate Breakout 66 Channel
- آنتن GPS - آنتن فعال خارجی - 3-5V 28db با کابل 5 متری SMA (برای تقویت سیگنال GPS)
- آداپتور uFLto SMA (برای اتصال آنتن اضافی به ماژول GPS Adafruit)
یادداشت:
* مواردی که در تصاویر خواهید دید فلزی هستند ، شاید ایده آل ترین آنها نباشند ، اما آنهایی بودند که در مغازه محلی من داشتند. می توانید از دکمه های کاملاً ضد آب استفاده کنید ، اما این قطعات 15 یورو بودند که به نظر من برای یک دکمه گران قیمت بود. شما می توانید هر دکمه ای را که می خواهید بخرید تا زمانی که با سیستم کششی کار کند ، خوب خواهید بود.
مرحله 2: همه چیز را سیم کشی کنید
آنقدرها هم سخت نیست از آنجا که ماژول GPS با USB متصل است. در تصویر بالا مشاهده می کنید که می توانید رنگ ها را با کابل های آداپتور USB مطابقت دهید. دکمه ها و LEDS به 220 Ω متصل می شوند. سنسور دما DS18B20 تا مقاومت 5K Ω سیم کشی شده است.
مرحله 3: اجازه دهید Raspberry Pi شما را پیکربندی کنیم
ابتدا به Raspbian نیاز دارید که می توانید در اینجا بیاموزید و سپس مراحل این مخزن را دنبال کنید.
برنامه پایگاه داده من حداقل است. شامل 4 جدول است:
-
tbluser
- UserID (tinyint، 2) AUTO INCREMENT ، بدون امضا
- نام کاربر (varchar ، 175)
- UserLogin (varchar ، 180)
- UserPassword (varchar ، 255)
- UserActive (tinyint، 1) بدون امضا
-
tblsession
- SessionID (int، 10) AUTO INCREMENT ، بدون امضا
- تاریخ جلسه (تاریخ)
- شناسه کاربری
-
tblsensor
- SensorID (tinyint، 3) AUTO INCREMENT ، بدون امضا
- نام سنسور (varchar ، 150)
-
tblhistory
- HistoryID (bigint، 20) AUTO INCREMENT ، بدون امضا
- SensorID
- شناسه جلسه
- HistoryValue (varchar، 255)
- HistoryTime (زمان ، 3)
اما شما همچنین می توانید یک نگاه به فایل آشغال.sql
مرحله 4: بیایید برنامه نویسی را شروع کنیم
می توانید کد من را برای انجام پروژه در اینجا پیدا کنید.
GPS
شروع کار با ماژول GPS واقعاً ساده است. تنها کاری که باید انجام دهید این است که بسته gpsd-py3 را در محیط پایتون خود نصب کنید. سپس می توانید از این کتابخانه برای سهولت زندگی خود استفاده کنید. می توانید از مثال های کدگذاری برای دریافت داده هایی مانند طول طولانی ، عرض جغرافیایی ، سرعت و غیره از GPS خود استفاده کنید.
صفحه نمایش ال سی دی
برای کارکردن صفحه نمایش LCD ، باید کتابخانه را از Adafruit نصب کنید. نمونه های کدگذاری را می توانید در اینجا پیدا کنید.
سنسور دما DS18B20 One Wire
برای یافتن سنسور یک سیم خود ، باید کارهای بیشتری انجام دهید. اول از همه باید باس یک سیم را فعال کنیم. برای انجام این کار مراحل زیر را دنبال کنید:
- sudo raspi-config
- گزینه های رابط
- 1-سیم
برای شروع خواندن داده های سنسور ، باید بدانیم که سیم ما چگونه نامیده می شود. برای این نوع در cd/sys/bus/w1/devices/
دو دستگاه خواهید دید ، یکی Raspberry Pi و دیگری یکی شبیه 28-0 … و غیره. خوب ، این رشته طولانی از اعداد و حروف این است که چگونه می توانید داده ها را در پایتون بخوانید. برای خواندن داده ها در پایتون ، باید آنها را به صورت یک فایل باز کنید. بنابراین مسیر باز کردن فایل باید شبیه این باشد:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.
دکمه ها و LED ها
اینها توابع اساسی هستند ، می توانید کد من را در این پوشه Classes ببینید.
SQL-Statements
تقریباً همه دستورات عبارت های اولیه SQL هستند. با این حال ، من می خواهم کمی توضیح دهم که چگونه سنسورهایم ارزش خود را ذخیره کرده ام. من به صورت دستی سنسورهای خود را به tblsensors خود اضافه کردم. بنابراین من می دانستم کدام سنسور کدام شناسه دارد. بنابراین من Longtitude ، Latitude و Speed خود را پیگیری می کنم. برای هر مقدار یک تابع متفاوت ایجاد کردم. من فقط 3 عبارت sql یکسان می دهم اما بسته به اینکه کدام مقدار را می خواهم ذخیره کنم ، عبارت WHERE را تغییر دادم.
توصیه شده:
BBC Micro: bit and Scratch - فرمان تعاملی فرمان و رانندگی: 5 مرحله (همراه با تصاویر)
BBC Micro: bit and Scratch - Interactive Steering Wheel & Driving Game: یکی از وظایف کلاس من در این هفته استفاده از BBC Micro: bit برای ارتباط با برنامه Scratch است که ما نوشته ایم. من فکر کردم که این بهترین فرصت برای استفاده از ThreadBoard من برای ایجاد یک سیستم جاسازی شده است! الهام بخش من برای صفحه خراش
چراغ راهنمایی و رانندگی هوشمند: 6 مرحله
چراغ های راهنمایی و رانندگی هوشمند: چرا من این پروژه را ساختم من دانشجوی Howest Kortijk هستم. این یک پروژه مدرسه برای ترم دوم MCT من است. وقتی من در حال رانندگی با ماشینم هستم و در خیابان ها آرامش وجود دارد ، ایستادن در مقابل چراغ قرمز بی فایده است وقتی هیچ تردد دیگری در طرف مقابل وجود ندارد
سارق بازدارنده "تنها در خانه"/ از Attiny13 برای رانندگی در یک استپرموتور و یک سرو استفاده کنید: 5 مرحله
سارقان بازدارنده "تنها در خانه"/ از Attiny13 برای رانندگی در یک استپرموتور و یک سرو استفاده کنید: این ممکن است یکی از عجیب ترین پروژه های من باشد :-) اما حتی اگر شما علاقه ای به دور نگه داشتن سارقین ندارید ، این پروژه می تواند برای هر چیزی که در آن هستید استفاده شود. نیاز به رانندگی موتور استپرموتور یا سروو یا حتی چند موتور DC با Attiny13.Mo
با یک ریزپردازنده AVR یک موتور پله ای رانندگی کنید: 8 مرحله
با یک ریزپردازنده AVR یک موتور پله ای رانندگی کنید: آیا تعدادی موتورهای پله ای پرینتر از چاپگرها/درایوهای دیسک/و غیره در اطراف وجود دارد؟ برخی از آنها با یک اهم سنج ، به دنبال کد راننده ساده روی ریزپردازنده خود ، به دنبال آن خواهید بود
خودتان را متقاعد کنید که فقط از یک اینورتر 12 ولت به AC برای سیمهای LED استفاده کنید به جای اینکه آنها را برای 12 ولت دوباره وصل کنید: 3 مرحله
خودتان را متقاعد کنید که فقط از یک اینورتر 12 ولت به AC برای سیمهای LED استفاده کنید به جای اینکه آنها را برای 12 ولت دوباره وصل کنید: برنامه من ساده بود. من می خواستم یک سیم نور LED دیواری را به قطعات تقسیم کنم و سپس آن را دوباره سیم کشی کنم تا 12 ولت خاموش شود. روش جایگزین استفاده از اینورتر قدرت بود ، اما همه می دانیم که آنها بسیار ناکارآمد هستند ، درست است؟ درست؟ یا هستند؟