چطور برای خودمان یک لپ تاپ درست کنیم؟

پ ن: همیشه از مهندسانی که به معنی واقعی کلمه Maker هستند خوشم می آید. مثلا وقتی کتاب زندگی نامه استیو جابز رو میخوندم با یک مهندس واقعی آشنا شدم به اسم وازنیاک که سری اول کامپیوترهای مکینتاش رو با دست خودش ساخت بدون هیچ تجهیزات پیشرفته ای و بدون خط تولید و یا کارگاه پیشرفته ای . البته وازنیاک تلویزیون خانه اش رو هم خودش ساخته بود. شاید ستون اصلی شرکت اپل همین وازنیاک بوده که البته آن چنان سر به زیر و درون گرا بوده که چندان معروف نیست و افراد زیادی او را نمی شناسند.

به هر حال من همیشه  پروژه هایی که در بنیاد رسپبری پای گذاشته میشود و برایم جالب است دنبال میکنم. و البته یکی از خوانندگان مجله MagPi هستم و حتما شماره های جدید این مجله رو مطالعه میکنم. تلفیقی از الکترونیک،برنامه نویسی، و خلاقیت. با خریدن بردهای رسپبری پای و نصب سیستم عامل Raspbian شما میتونید علاوه بر داشتن یک سیستم خانگی کوچک مجله های جدید و آخرین اخبار دنیای شگفت انگیز رسپبری پای را دریافت کنید. بردی که من دارم با رم ۱ گیگ عرضه شده ولی بردهای جدید فعلی با رم ۴ و ۸ گیگ وارد بازار شده و میتونید آنها را تهیه کنید.

بار اولی که از تلفیق الکترونیک و برنامه نویسی لذت بردم برمیگرده به زمان دانشجویی سال اول کارشناسی. یک واحد درسی به اسم زبان ماشین داشتیم که با میکروکنترلر ۸۰۵۱ کار میکردیم یک IC چهل پایه معمولی که میشد فرمانهای ساده بهش داد و ازش خروجی گرفت. پروژه ی ما یک دستگاه تخمین مسافت بود که با تکنولوژی اولتراسونیک کار میکرد و با استفاده از یک LCD کوچک Seven Segment فاصله دستگاه تا دیوار را محاسبه و نشان میداد . بعدها هم وقتی در یک شرکت اتوماسیون صنعتی فروشنده بودم با دستگاههای کنترل و برنامه نویسی آن بیشتر آشنا شدم دستگاههایی مثل کنترل مرغداری یا موتورخانه و یا سیستمهای هوشمند کشاورزی و …  زمانی هم که در شرکت نفت کار میکردم با زیمنس و کنترل صنعتی آشنایی پیدا کردم و همچنان علاقه مند به این حوزه باقی ماندم.مسیر شغلی من به عنوان فروشنده من را هر چه بیشتر از برنامه نویسی سطح پایین و دنیای کنترل دور کرد ولی همیشه به عنوان یک تفریح به آن نگاه کرده ام و گاهی هم برای دل خودم کارهای کوچکی کرده ام در واقع اسباب بازی هایی را درست کرده ام .پروژه ای که برام جالب بود و خواستم اینجا با شما به اشتراک بزارم :

Raspberry Pi and Arduino Laptop

چیزهایی که برای این پروژه لازم داریم شامل:

  • Raspberry Pi 3
  •  ۲*Arduino Micro
  • Seven inch Raspberry PI screen
  • Lithium 18650 Batteries
  • Powerbank circuit
  • USB hub
  • Mini USB keyboard
  • Male USB
  • SPI OLED

خوبی که رسپبری پای ۳ داره اینه که هم WiFi داره و هم بلوتوث یعنی لپ تاپ شما هم این دو فناوری رو داره.

این تصویر صفحه نمایش ۷ اینچی ماست که با ریبون کابل به GPIO رسپبری پای وصل میشه GPIO یک قسمت ۴۰ پایه در رسپبری پای است که میشه با پایه های آن به انواع دستگاه ها وسنسورها وصل شد و قابل برنامه نویسی هستش رسپبری پای به واسطه همین GPIO یک ابزار مناسب برای آموزش و برنامه نویسی سطح پایین و یا پروژه های IoT (اینترنت اشیا) است.

نصب سیستم عامل

مرحله بعد دانلود Raspbian به عنوان سیستم عامل رایگان و نصب آن روی MicroSD (مموری گوشی) است این سیستم عامل یک توزیع از نسخه معروف لینوکس دبیان است. این سیستم عامل خیلی خوش ساخت و عالی کار میکنه و کار کردن باهاش خیلی ساده ست. من باهاش تو اینترنت میچرخم. با پایتون به شکلی مبتدیانه برنامه های کوچک مینویسم و یا برای دخترم نقاشی میکشم و فیلم نگاه میکنم و کتاب میخوانم  و .. میشه از Libre Office لینوکس هم استفاده کرد و مشغول بود.

انتقال تصویر به صفحه نمایش:

تصویر رسپبری پای به صورت پیش فرض از طریق پورت HDMI انتقال داده میشه و اگر بخوایم که از طریق GPIO به صفحه نمایش ۷ اینچی منتقل کنیم باید کد زیر را به فایل  config.txt که در سیستم عامل وجود داره کپی کنیم:

<p>dtoverlay=dpi24<br>enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=87
dpi_output_format=0x6f005
hdmi_cvt 1024 600 60 6 0 0 0</p>

باطری لپ تاپ:

ما سه تا باطری ۲۴۰۰ میلی آمپر میخوایم (۱۸۶۵۰ batteries) که این ۷۲۰۰ میلی آمپر صرف روشن شدن برد و صفحه نمایش میشه اگه از برد به تنهایی استفاده میکردیم به یه آداپتور ۲ میلی آمپر نیاز داشتیم فقط ولی صفحه نمایش برق بیشتری مصرف میکنه.

با این سه باطری که به شکل موازی به هم وصل شده اند میشود ۴ تا ۵ ساعت برق لپ تاپ را تامین کرد ولی اگر بخواهیم که مدت بیشتری برق داشته باشیم میتوانیم دوباره باطری اضافه کنیم ولی به دلیل حجم باتری جادادنش در قاب لپتاپ غیر ممکنه. همجینین میتوایند میزان مصرف باطری را هم با یک آردوینو روی صفحه نمایش یفرستید. برای تصال برق رسپبری پای بهتره که از سیمهای ضخیم استفاده کنیم و کابل حتما با کیفیت باشد. سیمهای نازک که درصد مس کمی دارند برق دهی لپ تاپ رو با مشکل مواجه میکنند.

مرحله بعدی نمایش مصرف باطری روی صفحه نمایشه  که البته این تنها راهش نیست و راه های ساده تری وجود داره.اتصال آردوینو و صفحه نمایش کوچک برای نمایش مصرف باطری.

https://cdn.instructables.com/FHX/61B7/J9OW8A2N/FHX61B7J9OW8A2N.LARGE.jpg?auto=webp&frame=1&width=1024&fit=bounds

با کد زیر میشه مصرف باطری رو روی یک OLED کوچک ۷ پین فرستاد.

.setFont(u8g_font_helvB14r); // font
u8g.drawStr(19, 16, “BATTERY”);
u8g.setPrintPos(7,55);
u8g.setFont(u8g_font_helvB18r);
u8g.println(Percent); //Prints Percent
u8g.println(“%”);
u8g.setPrintPos(63,55);
u8g.setFont(u8g_font_helvB18r); //A slightly larger font
u8g.println(Voltage); //Prints the voltage
u8g.println(“V”);
u8g.drawRFrame(0, 23, 128, 1, 0);
}
void setup(){
pinMode(analogInput, INPUT);
}
void loop(){
value = analogRead(analogInput);
Voltageout = (value * 5.0) / 1024.0;
Voltage = Voltageout / (R2/(R1+R2));
if (Voltage<1) {
Voltage=0.0; // get rid of unwanted readings
}
if (Voltage>5.00) { //

برای درست کردن لولای لپ تاپ هم میتونید یا اون رو از خدمات پس از فروش و تعمیرات لپ تاپ بخرید و یا از لپ تاپ های کهنه و ضایعات استفاده کنید کیبردهای ۷ اینچی رو هم میشه تهیه کرد فقط اگر داخل قاب پلاستیکی هستند باید با احتیاط پلاستیکش جوری که بشه در قاب یا کیس برد گذاشت.

Things to Look Out For/improve On

اگر هم میخواید یک وب کم به لپتاپ دست ساز اضافه کنید این رو بخونید .

Getting started with the camera module

و اینجا هم میتونید دوربین رو بخرید. در شرایطی که قیمت وب کم به بالای ۲ میلیون رسیده خرید یک ماژول دوربین برای رسپبری پای میتونه پیشنهاد خوبی باشه.

پ ن پایانی: موضوع این پست با پستهای دیگر این بلاگ متفاوته و خوبی یک وب سایت شخصی هم همینه . یعنی نوشتن آزادانه چیزی که دوست داری بدون اینکه به خواننده متعهد باشی. و من میخواستم از این امتیازی که دارم استفاده کنم . امیدوارم این پروژه ها براتون جالب باشه چون شاید در آینده بیشتر براتون نوشتم خصوصا از چیزهایی که برای دخترم خواهم ساخت (چیزهایی شاید شبیه اسباب بازی).

رسپبری پای یا PC با کدام یک شروع کنیم?

من تقریبا از سال ۱۳۷۹ با کامپیوتر سروکار داشته ام در همان سال وارد هنرستان فنی و حرفه ای و در رشته ی کامپیوتر مشغول تحصیل شدم. ۱۹ سال از این تاریخ میگذرد و من در مقاطع تحصیلی مختلف و همچنین در شغلهای مختلف با کامپیوتر همراه بوده ام. افرادی که در دوره ی من یا حتی قبل تر وارد دنیای علوم کامپیوتر شدند معمولا درک بهتری از سخت افزار و نرم افزار دارند چرا که در سالهای قبل واسطه های پیشرفته ای مثل سیستم عامل های گرافیکی شبیه ویندوز ۱۰ یا محیط های برنامه نویسی کاربر پسندی چون ویژوال استدیو وجود نداشت.

سیستم عاملی که استفاده میکردیم  DOS بود که دستورات را در خط فرمان مینوشتیم. همچنین برنامه نویسی ما در محیط Turbo C یا پاسکال بود که یه محیط ساده و خشک برای صرفا برنامه نویسی بود و تقریبا هیچ کمکی برای دیباگ کردن و پیدا کردن کد خطا نبود. به همین خاطر برنامه نویسی و کار با کامپیوتر دقت بالایی رو میطلبید.

به دلیل محدودیت در منابع سخت افزاری مثل RAM  و  CPU ما مجبور بودیم که کدهای بهینه تری بنویسیم تا سرعت اجرای آن در سیستم مناسب باشد. به همین خاطر ما یاد میگرفتیم که با سخت افزار تعامل بهتری داشته باشیم همچنین از دنیای مجازی و فیلم و عکس و موزیک و بازی هم آن چنان خبری نبود. کامپیوتر هنوز جنبه ی سرگرمی پیدا نکرده بود و بیشتر یک ابزار علمی و آکادمیک آزمایشگاهی بود و البته وقت دانش آموزان نیز صرفا به یادگیری کامپیوتر اختصاص داده میشد.

اما نمی خواهم شما را به گذشته ببرم و ابلهانه به نظر می رسد اگر بگویم پیشرفت کامپیوتر و همه گیر شدن آن مخرب بوده و ما را به عقب برده است. بحث من چیز دیگری است.

چرا PC برای دانش آموزان (خصوصا رشته ی کامپیوتر) مناسب نیست؟

https://hobbytronics.pk/wp-content/uploads/Raspberry-Pi-3-Model-B-Plus-RS.jpg

در حال حاضر قیمت تمام شده یک PC  چیزی در حدود پنج میلیون تومان است و اگر بخواهیم یک کارگاه کامپیوتر با ۲۰ دستگاه PC را مجهز کنیم به ۱۰۰ میلیون تومان پول نیاز داریم اما اگر به جای PC از برد Raspberry pi  استفاده کنیم ششصد هزار تومان برای آخرین مدل آن و یک میلیون تومان (اگر بخواهیم ولخرجی کنیم) برای مانیتور HDMI باید هزینه کنیم با احتساب Memory و کیبرد و ماوس و کابل HDMI و احتمال بالا رفتن قیمت مانیتور در نهایت و با نهایت ولخرجی با ۲ میلیون تومان کار ما راه می افتد یعنی صرفه جویی بیش از ۵۰ درصد خواهیم داشت که با وضعیت اسفناک مدارس و بی پولی آموزش و پرورش یک پیشنهاد اغوا کننده به نظر می رسد.

اما شاید فکر کنید که آیا Raspberry Pi میتواند جای PC را بگیرد؟ با قاطعیت میگویم در حوزه ی آموزش و خصوصا برای دانش آموزان رشته ی کامپیوتر نه تنها جای PC را میگیرد بلکه بسیار بهتر از PC است.

با این برد به دانش آموزان چه چیزی یاد بدهیم؟

در اکثر کشورهای جهان زبان برنامه نویسی که دانش آموزان یاد میگیرند Python است و ما به راحتی میتوانیم با این برد به برنامه نویسی پایتون یا C بپردازیم.  ما حتی میتوانیم برای درک بهتر برنامه نویسی سطح پایین سیستم عامل را کنار بزنیم و مستقیما با پایه های GPIO به دانش آموزان برنامه نویسی یاد بدهیم و در واقع با این پایه ها به انواع سنسورها و موتورها متصل شویم و با دنیای خارج ارتباط برقرار کنیم.

سیستم عامل ویندوز مانع ارتباط و تعامل دانش آموزان با سخت افزار می شود و دانش آموزان نمی فهمند که برنامه ای که مینویسند به چه چیزی تبدیل میشود و کجا اجرا می شود. ولی برنامه نویسی سطح پایین آموزش عمیق تر و درک بهتری به دانش آموزان میدهد.

صدها پروژه Fun که توسط دانش آموزان و علاقه مندان به این برد اجرا شده است میتواند در اینترنت ودر سایت رسمی این محصول مشاهده کنید پروژه هایی که از ساخت روبوت گرفته تا ایستگاههای هواشناسی و خانه هوشمند و …

تمامی این پروژه ها با درک دانش آموز از کنترل، نر م افزار، سخت افزار و الکترونیک همراه بوده است و آنها را تبدیل به Maker های واقعی میکند.

چرخ خوردن در ویندوز و منوهای تو در توی  Office با چشمانی از حدقه درآمده یا ناخنک زدن به فیلم و بازی و عکس های انباشته شده در کامپیوترهای شخصی دانش آموزان را سالها عقب میبرد و چیز به درد بخوری هم یاد نخواهند گرفت. دیر یا زود باید Raspberry Pi و   Arduino  و بردهای مشابه وارد فضای آموزشی و مدارس ما بشوند تا کدنویسی و کار با کامپیوتر را عمیق تر و اصولی تر یاد بگیریم.