پیام های آموزشی کانال تلگرام t.me/KnowledgePlus در سال 1397

(لطفا از کپی کردن مطالب بدون ذکر منبع خودداری کنید)


-
ترتیب ارسال بیت های دیتا در سه نوع ارتباط سریال:
- در ارتباط USART در هنگام ارسال دیتا ابتدا بیت با ارزش کمتر (LSB) ارسال می شود.
- در ارتباط I2C در هنگام ارسال دیتا ابتدا بیت با ارزش بیشتر (MSB) ارسال می شود.
- در ارتباط SPI بسته به تنظیم رجیسترها ترتیب ارسال بیت ها قابل تنظیم است و هر دو حالت ارسال LSB یا MSB در ابتدا قابل فعال سازی است.

-
یک برنامه اجرایی برای کسب مهارت در برنامه نویسی میکروکنترلر:
فرض کنیم با استفاده از مواد اولیه و ابزار پخت و پز بخواهیم غذاهای خوشمزه ای را طبخ کنیم. حال اگر آشپز ماهری وجود نداشته باشد که بداند چه مقداری از مواد را با چه ترکیبی و برای چه مدت زمانی باید بپزد آیا صرف وجود بهترین اجاق گاز و بهترین قابلمه و بهترین مواد اولیه بدون وجود آن آشپز ماهر برای ما منجر به تهیه غذایی خواهد شد؟ در عرصه برنامه نویسی میکروکنترلر هم شبیه این مثال برقرار است و تهیه ابزارهای نرم افزاری و سخت افزاری قوی به تنهایی مشکلی را حل نمی کند و شرط لازم برای به نتیجه رساندن بسیاری از پروژه ها مهارت در کدنویسی است.
از آنجایی که افزایش مهارت از طریق انجام صورت مسئله های مختلف و پیاده سازی الگوریتم ها و فلوچارت ها محقق می شود، مطابق نظرسنجی که قبلا قرار داده شد و تعداد قابل توجهی از مخاطبین هم در مورد آن ابراز علاقه کردند، در آینده صورت مسئله هایی در سطوح مختلف از نظر سختی مبتنی بر سخت افزارهای ساده مطرح می شود و بعد از مدتی سورسی که همان کار را انجام دهد در سایت و کانال قرار داده می شود.
-

تمرین برنامه نویسی میکروکنترلر:
سطح تمرین: ساده
در سخت افزاری مبتنی بر یک صفحه کلید ماتریسی 4x3 و یک LCD کاراکتری، برنامه ای بنویسید که در ابتدا یک پسورد 8 رقمی با اعداد را از طریق صفحه کلید دریافت کند و در صورت صحیح بودن پسورد، پیامی روی LCD نمایش داده شود و بعد از 3 ثانیه مجددا وارد مرحله تایپ پسورد شوذ. 10 کلید به عنوان اعداد 0 تا 9 و یک کلید به عنوان Backspace و یک کلید هم به عنوان Enter تعریف می شوند. بعد از هر بار فشار دادن Enter مقدار پسورد بررسی می شود و در صورت صحیح نبودن، پیغام خطایی به مدت سه ثانیه روی LCD نمایش داده می شود. کلید Backspace هم برای پاک کردن کاراکترها در هنگام تایپ به کار می رود. برای انجام این تمرین از هر نوع سخت افزار و میکروکنترلری که در دسترس باشد می تواند استفاده شود و مهم نحوه کدنویسی است که منجر به این عملکرد شود.
-

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

-
توصیه ای که در ادامه نوشته می شود تنها یک تجربه شخصی آزمایش شده است و در مورد مبنای علمی آن باید افراد صاحب صلاحیت در پزشکی اظهار نظر کنند. هر چند که با یک جستجوی ساده می توان مطالب زیادی را یافت که تایید کننده این تجربه موفق است.
اگر می خواهید توان ذهنی خود را برای تجزیه و تحلیل و نوشتن کدها و برنامه های پیچیده و طولانی حفظ کنید و با گذشت زمان به وضعیتی دچار نشوید که احساس کنید دیگر آن کشش و حوصله سابق را برای کار کشیدن از مغز خود ندارید، از خوردن قند و شکر و هر نوع خوراکی مانند شیرینی و نوشابه و بستنی و ... که شکر در آن وجود داشته باشد جدا خودداری کنید و از شیرینی های طبیعی مثل خرما و عسل و نظایر آن استفاده کنید.
-
اگر از نوسانات شدید در قیمت دلار دچار نگرانی و اضطراب شده اید کاملا حق دارید. اما از منظر دیدن بخش پر لیوان، فرصت های کاری جدید و بازارهایی را که می تواند برای یک متخصص و تولیدکننده داخلی در رشته الکترونیک بعد از به تعادل رسیدن قیمت ها به دلیل گران تر شدن برخی محصولات وارداتی ایجاد شود از هم اکنون شناسایی کنید و روی آنها کار کنید.
-
پیاده سازی مشتق و انتگرال در برنامه نویسی:
فرض کنیم نمونه های متوالی از دیتا در فاصله زمانی dtدر آرایه ای ذخیره شده باشند. اگر R1 مقدار نمونه در زمان t1 و R0 مقدار نمونه قبل از آن در زمان t0 باشد:
Derivative(t1)=(R1-R0)/dt
به زبان ساده، مشتق در زمان t1 برابر است با تفاضل دو نمونه متوالی در زمانهای t1 و t0 تقسیم بر زمان نمونه برداری.
Integral(t1)=(R1+R0).dt/2 + Integral(t0)
به زبان ساده، انتگرال تا زمان t1 برابر است با میانگین دو نمونه متوالی در زمانهای t1 و t0 ضرب در زمان نمونه برداری به علاوه انتگرال محاسبه شده تا زمان t0. جمله دوم در اولین مرحله از محاسبه برابر با مقدار اولیه انتگرال است.
-
فرض کنیم که اعلام شود از این تاریخ به بعد منبع تغذیه آزمایشگاهی یا تابلوی کنترل آسانسور یا دستگاه جوش یا کوره القایی یا سیستم نوبت دهی یا کنترلر آبیاری یا ساعت حضور و غیاب یا هر سیستم و محصول دیگری که در کشور تولید می شود به دلیل تحریم ها نمی توانیم از خارج وارد کنیم و دیگر به ما نمی فروشند. آیا این محدودیت مشکل حادی را برای ما ایجاد می کند و در کار خود در می مانیم و فعالیت های مرتبط با این محصولات تعطیل می شوند؟ واضح است که به دلیل تولید چنین محصولاتی در داخل پاسخ منفی است. حالا فرض کنیم که اعلام شود ورود کلیه قطعات الکترونیک و آی سی و ماژول های الکترونیکی یا مثلا ورود هر نوع اسیلوسکوپ، دستگاه های اندازه گیری پیشرفته یا حتی لپ تاپ و تبلت و گوشی موبایل و کامپیوتر و نظایر آن به دلیل تحریم ممنوع است. در این شرایط چطور آیا باز هم برای ما مشکلی ایجاد نمی شود؟ بر اساس این دو نوع مثال آیا تا به حال به این موضوع فکر کرده اید که با توجه به واقعیت های جاری و فارغ از تئوری هایی که حداقل در جایی که ما زندگی می کنیم کاربرد چندانی ندارند، هر چیزی را که ما خودمان بسازیم و هر نرم افزاری را که بنویسیم نوعی قدرت و حاشیه امن در اقتصاد ما ایجاد می کند و معضلاتی مانند تحریم کمتر روی اساس آنها اثر می گذارد؟ و در نقطه مقابل چیزهایی را که وارد می کنیم و معادل داخلی هم برای آنها وجود ندارد، برای ما جنبه گلوگاه پیدا می کنند و عدم تامین آنها می تواند منجر به فلج شدن برخی امور شود. البته بحث های مفصلی در این رابطه مطرح می شود که تولید "هرچیزی" توسط "هرجایی" به دلایل متعدد می تواند به صرفه و عقلانی و اقتصادی و حتی مقدور نباشد. مثل همان بحث معروف کشت هندوانه و آبی که بابت آن مصرف می شود، در اقلیمی که کمبود شدید آب در آن وجود دارد. اما حداقل در عرصه برق و الکترونیک موارد بیشماری هست که می توانیم بسازیم و انجام آنها فعلا روی زمین مانده است.
-
دوستی نقل می کرد که با چشم خود در چین دیده که افراد متقلب چاپ روی میکروکنترلر ارزان تری مثل ATmega64 را به شماره گران تری با پین های مشابه مثل ATmega128 تغییر می داده اند تا آن را گران تر بفروشند.
-
قابل توجه نهادهای اقتصادی تصمیم گیر مانند گمرک و بانک مرکزی:
1- اکثر قریب به اتفاق قطعات الکترونیک در کشور تولید نمی شوند و تکنولوژی تولید آنها هم در داخل وجود ندارد.
2- مصرف این قطعات منحصر به تولید مدارات و محصولات یا تعمیر دستگاه ها و بردها در داخل کشور است و مصرف دیگری ندارند. بنابراین قطعات الکترونیک کالاهای لوکس و تجملی نیستند و ارزی هم که بابت آنها خارج می شود تنها به تولید داخلی و اشتغال مولد کمک می کند.
3- مانع تراشی و تدوین ضوابط و قوانینی که مانع ورود قطعات الکترونیک می شود به معنای زدن تیشه به ریشه تولید داخلی است و اگر امسال سال حمایت از کالای ایرانی اعلام شده، چنین رویکردی تاثیری کاملا مخالف با این شعار در مورد محصولات الکترونیکی تولید داخل و بازار کار این رشته خواهد داشت.

-
تصحیح دو تلفظ درباره میکروکنترلرها:
در انواع فیلم های موجود به زبان انگلیسی قابل مشاهده است که میکروکنترلرهای مبتنی بر هسته ARM را "آرم" و میکروکنترلرهای PIC را "پیک" تلفظ می کنند و تلفظ های "ای آر ام" و "پی آی سی" در گفتار به زبان انگلیسی مرسوم نیستند.

-