#بخش_پنجم
در برنامه ما اولین قدم برای وارد کردن کتابخانه سریال و زمان است. کتابخانه سریال همانطور که پیشتر گفته شد، برای خواندن و نوشتن داده های سریال استفاده می شود و کتابخانه زمان برای ایجاد تاخیر در برنامه ما استفاده می شود. این دو کتابخانه را می توان با استفاده از دو خط زیر در برنامه ما وارد کرد:
import serial
import time
گام بعدی این است که یک شیء سریالی را با استفاده از کتابخانه سریال خود راه اندازی کنیم. در این برنامه ما شیء سریال خود را به عنوان "ArduinoSerial" نام گذاری کردیم. در این خط ما باید نام پورت COM که Arduino ما در آن متصل است را ذکر کنیم و در کدام میزان باند عمل می کند که در زیر نشان داده شده است.
ArduinoSerial = serial.Serial('com18',9600)
توجه: بسیار مهم است که نام پورت صحیح COM را ذکر کنید. این می تواند با استفاده از Device manager بر روی کامپیوتر شما پیدا شود.
همانطور که به زودی شیء سریال مقداردهی اولیه می شود باید برنامه را دو ثانیه نگه داریم تا ارتباط برقرار شود. این را می توان با استفاده از خط زیر انجام داد:
time.sleep(2)
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
در برنامه ما اولین قدم برای وارد کردن کتابخانه سریال و زمان است. کتابخانه سریال همانطور که پیشتر گفته شد، برای خواندن و نوشتن داده های سریال استفاده می شود و کتابخانه زمان برای ایجاد تاخیر در برنامه ما استفاده می شود. این دو کتابخانه را می توان با استفاده از دو خط زیر در برنامه ما وارد کرد:
import serial
import time
گام بعدی این است که یک شیء سریالی را با استفاده از کتابخانه سریال خود راه اندازی کنیم. در این برنامه ما شیء سریال خود را به عنوان "ArduinoSerial" نام گذاری کردیم. در این خط ما باید نام پورت COM که Arduino ما در آن متصل است را ذکر کنیم و در کدام میزان باند عمل می کند که در زیر نشان داده شده است.
ArduinoSerial = serial.Serial('com18',9600)
توجه: بسیار مهم است که نام پورت صحیح COM را ذکر کنید. این می تواند با استفاده از Device manager بر روی کامپیوتر شما پیدا شود.
همانطور که به زودی شیء سریال مقداردهی اولیه می شود باید برنامه را دو ثانیه نگه داریم تا ارتباط برقرار شود. این را می توان با استفاده از خط زیر انجام داد:
time.sleep(2)
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
#بخش_ششم
اکنون می توان هر چیزی را در برد Arduino خواند یا نوشت.
خط زیر چیزهایی را که از آردوینو دریافت می کنید خواند و آن را بر روی پنجره shell چاپ می کند.
print ArduinoSerial.readline()
شما همچنین می توانید مقدار را به یک متغیر اختصاص دهید و از آن برای محاسبات استفاده کنید.
خط زیر مقدار پارامتر را به برد Arduino بنویسید.
ArduinoSerial.write('1')
این خط را '1' به آردوینو ارسال. شما می توانید هر چیزی را از decimals به رشته ها با استفاده از همان خط ارسال کنید.
در حال حاضر، بازگشت به برنامه ما، در بی نهایت در حالی که حلقه، ما خطوط زیر
var = raw_input() #get input from user
print "you entered", var #print the input for confirmation
if (var == '1'): #if the value is 1
ArduinoSerial.write('1') #send 1
print ("LED turned ON")
time.sleep(1)
if (var == '0'): #if the value is 0
ArduinoSerial.write('0') #send 0
print ("LED turned OFF")
time.sleep(1)
خط var = raw_input هر مقداری را که در اسکریپت shell تایپ شده است دریافت می کند و این مقدار را به متغیر var اختصاص می دهد.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
اکنون می توان هر چیزی را در برد Arduino خواند یا نوشت.
خط زیر چیزهایی را که از آردوینو دریافت می کنید خواند و آن را بر روی پنجره shell چاپ می کند.
print ArduinoSerial.readline()
شما همچنین می توانید مقدار را به یک متغیر اختصاص دهید و از آن برای محاسبات استفاده کنید.
خط زیر مقدار پارامتر را به برد Arduino بنویسید.
ArduinoSerial.write('1')
این خط را '1' به آردوینو ارسال. شما می توانید هر چیزی را از decimals به رشته ها با استفاده از همان خط ارسال کنید.
در حال حاضر، بازگشت به برنامه ما، در بی نهایت در حالی که حلقه، ما خطوط زیر
var = raw_input() #get input from user
print "you entered", var #print the input for confirmation
if (var == '1'): #if the value is 1
ArduinoSerial.write('1') #send 1
print ("LED turned ON")
time.sleep(1)
if (var == '0'): #if the value is 0
ArduinoSerial.write('0') #send 0
print ("LED turned OFF")
time.sleep(1)
خط var = raw_input هر مقداری را که در اسکریپت shell تایپ شده است دریافت می کند و این مقدار را به متغیر var اختصاص می دهد.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
#بخش_پایانی
اگر مقدار 1 باشد، '1' به صورت سریال به "آرودینو" چاپ می شود و اگر 0 آن را "0" به صورت سریال به "آردوینو" چاپ می کند. کد در برنامه Arduino ما (در بالا بحث شده) ما LED را براساس مقدار دریافتی تغییر خواهیم داد.
هنگامی که برنامه کامل انجام می شود، اسکریپت شما باید چیزی شبیه به زیر را داشته باشد
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
اگر مقدار 1 باشد، '1' به صورت سریال به "آرودینو" چاپ می شود و اگر 0 آن را "0" به صورت سریال به "آردوینو" چاپ می کند. کد در برنامه Arduino ما (در بالا بحث شده) ما LED را براساس مقدار دریافتی تغییر خواهیم داد.
هنگامی که برنامه کامل انجام می شود، اسکریپت شما باید چیزی شبیه به زیر را داشته باشد
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
#بخش_پایانی
حالا بر روی Run -> Run Module کلیک کنید یا F5 را فشار دهید این ممکن است از شما بخواهد برنامه را ذخیره کرده و سپس آن را راه اندازی کنید.
حالا بر روی Run -> Run Module کلیک کنید یا F5 را فشار دهید این ممکن است از شما بخواهد برنامه را ذخیره کرده و سپس آن را راه اندازی کنید.
#بخش_پایانی
همانطور که می توانید رشته " Hi!, I am Arduino" را وارد کنید در برنامه Arduino وارد شده توسط پایتون دریافت شده و نمایش داده شده در پنجره shellآن است.
هنگامی که پنجره shell می خواهد به وارد کردن مقادیر، ما می توانیم یا 0 یا 1 را وارد کنید. اگر ما 1 ارسال کنیم، LED در بردArduino روشن خواهد شد و اگر ما 0 ارسال LED در برد Arduino ما خاموش خواهد شد. نشان دادن یک ارتباط موفق بین برنامه Arduino ما و پایتون است.
دو برنامه ذکر شده در زیر وجود دارد، یکی برای آپلود و اجرا از Arduino و دوم از Python Shell در ویندوز اجرا می شود.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
همانطور که می توانید رشته " Hi!, I am Arduino" را وارد کنید در برنامه Arduino وارد شده توسط پایتون دریافت شده و نمایش داده شده در پنجره shellآن است.
هنگامی که پنجره shell می خواهد به وارد کردن مقادیر، ما می توانیم یا 0 یا 1 را وارد کنید. اگر ما 1 ارسال کنیم، LED در بردArduino روشن خواهد شد و اگر ما 0 ارسال LED در برد Arduino ما خاموش خواهد شد. نشان دادن یک ارتباط موفق بین برنامه Arduino ما و پایتون است.
دو برنامه ذکر شده در زیر وجود دارد، یکی برای آپلود و اجرا از Arduino و دوم از Python Shell در ویندوز اجرا می شود.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
#بخش_اول
#شبکه_های_عصبی
نگاهی به شبکه های عصبی و طرز کار آنها
شبکههای عصبی مصنوعی با الهام گرفتن از عملکرد مغز انسان ایجاد میشوند و در موارد گوناگونی از پزشکی تا اقتصاد کاربرد دارند. شبکههای عصبی برنامههایی کامپیوتری هستند که از صدها، هزاران یا میلیونها سلول مغز مصنوعی تشکیل شدهاند که شبیه به مغز انسان، عمل یادگیری و رفتاری را انجام میدهد.
تفاوت مغز با کامپیوتر
یک مغز عادی حاوی ۱۰۰ میلیارد (هیچکس بهطور دقیق نمیداند که این تعداد چقدر است و تخمین زده میشود که این تعداد بین ۵۰ میلیارد تا ۵۰۰ میلیارد است) سلول کوچک به نام نورون است. هر نورون از یک جسم سلولی (یا جسم یاخته که تودهی مرکزی سلول است) با تعدادی از اتصالات مربوط به آن ساخته شده است: تعداد زیادی دندریت (ورودیهای سلول که حامل اطلاعات به داخل جسم سلولی هستند) و یک آکسون (خروجی سلول که حامل اطلاعات به خارج سلول است).. گفتنی است که نورونها تنها ۱۰ درصد از تمامی سلولهای مغز را تشکیل میدهند و ۹۰ درصد بقیه مربوط به سلولهای گلیالی (نوروگلی) میشود که کار حفاظت و تغذیه نورونها را برای رشد و کار کردن آنها بر عهده دارند.
داخل کامپیوتر، دستگاه کوچکی به نام ترانزیستور وجود دارد که عملکردی شبیه به سلول مغزی دارد. جدیدترین و پیشرفتهترین ریزپردازنده حاوی بالغ بر ۲ میلیارد ترانزیستور هستند؛ حتی یک ریزپردازندهی ابتدایی، دارای چیزی حدود ۵۰ میلیون ترانزیستور است که همهی آنها داخل یک مدار مجتمع (آیسی) با مساحت تنها ۲۵ میلیمتر مربع (کوچکتر از یک تمبر پستی) قرار داده شدهاند.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
#شبکه_های_عصبی
نگاهی به شبکه های عصبی و طرز کار آنها
شبکههای عصبی مصنوعی با الهام گرفتن از عملکرد مغز انسان ایجاد میشوند و در موارد گوناگونی از پزشکی تا اقتصاد کاربرد دارند. شبکههای عصبی برنامههایی کامپیوتری هستند که از صدها، هزاران یا میلیونها سلول مغز مصنوعی تشکیل شدهاند که شبیه به مغز انسان، عمل یادگیری و رفتاری را انجام میدهد.
تفاوت مغز با کامپیوتر
یک مغز عادی حاوی ۱۰۰ میلیارد (هیچکس بهطور دقیق نمیداند که این تعداد چقدر است و تخمین زده میشود که این تعداد بین ۵۰ میلیارد تا ۵۰۰ میلیارد است) سلول کوچک به نام نورون است. هر نورون از یک جسم سلولی (یا جسم یاخته که تودهی مرکزی سلول است) با تعدادی از اتصالات مربوط به آن ساخته شده است: تعداد زیادی دندریت (ورودیهای سلول که حامل اطلاعات به داخل جسم سلولی هستند) و یک آکسون (خروجی سلول که حامل اطلاعات به خارج سلول است).. گفتنی است که نورونها تنها ۱۰ درصد از تمامی سلولهای مغز را تشکیل میدهند و ۹۰ درصد بقیه مربوط به سلولهای گلیالی (نوروگلی) میشود که کار حفاظت و تغذیه نورونها را برای رشد و کار کردن آنها بر عهده دارند.
داخل کامپیوتر، دستگاه کوچکی به نام ترانزیستور وجود دارد که عملکردی شبیه به سلول مغزی دارد. جدیدترین و پیشرفتهترین ریزپردازنده حاوی بالغ بر ۲ میلیارد ترانزیستور هستند؛ حتی یک ریزپردازندهی ابتدایی، دارای چیزی حدود ۵۰ میلیون ترانزیستور است که همهی آنها داخل یک مدار مجتمع (آیسی) با مساحت تنها ۲۵ میلیمتر مربع (کوچکتر از یک تمبر پستی) قرار داده شدهاند.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
🙏با معرفی کانال به دیگران ما را همراهی کنید 🙏👇👇👇
@Pythonforeveryone
لینک گروه👇👇
https://t.iss.one/joinchat/B77HHA83pT8Xx8okYCuBYw
@Pythonforeveryone
لینک گروه👇👇
https://t.iss.one/joinchat/B77HHA83pT8Xx8okYCuBYw
#بخش_دوم
#شبکه_های_عصبی
شبکه عصبی چیست؟
ایدهی ابتدایی پشت یک شبکه عصبی، شبیهسازی (کپی کردن ساده و درعینحال پایدار) بسیاری از سلولهای مغزی متصل داخل یک کامپیوتر است تا بتوان اعمال یادگیری، شناسایی الگوها و تصمیمگیری انسانگونه را انجام داد. نکتهی جالب توجه درمورد شبکهی عصبی این است که نیازی نیست آن را برای یادگیری صریح، برنامهریزی کنید. این شبکه در واقع میتواند همهچیز را مانند مغز انسان، خودش یاد
بگیرد.
ما این شبکهی عصبی، مغز نیست. در نظر داشتن این نکته مهم است که شبکههای عصبی عموما شبیهسازهای نرمافزاری هستند که با برنامهنویسی برای کامپیوترهای بسیار ساده و پیشپاافتاده راه میافتند و با روشهای قبلی خود و با استفاده از ترانزیستورها و دروازههای منطقی خود کار میکنند تا بهمانند میلیاردها سلول مغزی متصل و موازی رفتار کنند. هیچکس تا به حال حتی تلاش هم نکرده است تا کامپیوتری بسازد که با ترانزیستورهایی با ساختار موازی مانند مغز انسان کار کند. بهعبارت دیگر تفاوت شبکهی عصبی با مغز مانند تفاوت مدل کامپیوتری آبوهوا با ابر، برف، و هوای آفتابی درواقعیت است. شبیهسازی کامپیوتر تنها مجموعهای از متغیرهای جبری و معادلات ریاضی است که آنها را بههم متصل میکند (اعداد ذخیرهشده در جعبههایی که مقادیر آنها دائما درحال تغییر است). این شبیهسازیها برای کامپیوترها هیچ معنایی ندارد و تنها برای افرادی که برنامه آنها را مینویسند بامعنا است.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
#شبکه_های_عصبی
شبکه عصبی چیست؟
ایدهی ابتدایی پشت یک شبکه عصبی، شبیهسازی (کپی کردن ساده و درعینحال پایدار) بسیاری از سلولهای مغزی متصل داخل یک کامپیوتر است تا بتوان اعمال یادگیری، شناسایی الگوها و تصمیمگیری انسانگونه را انجام داد. نکتهی جالب توجه درمورد شبکهی عصبی این است که نیازی نیست آن را برای یادگیری صریح، برنامهریزی کنید. این شبکه در واقع میتواند همهچیز را مانند مغز انسان، خودش یاد
بگیرد.
ما این شبکهی عصبی، مغز نیست. در نظر داشتن این نکته مهم است که شبکههای عصبی عموما شبیهسازهای نرمافزاری هستند که با برنامهنویسی برای کامپیوترهای بسیار ساده و پیشپاافتاده راه میافتند و با روشهای قبلی خود و با استفاده از ترانزیستورها و دروازههای منطقی خود کار میکنند تا بهمانند میلیاردها سلول مغزی متصل و موازی رفتار کنند. هیچکس تا به حال حتی تلاش هم نکرده است تا کامپیوتری بسازد که با ترانزیستورهایی با ساختار موازی مانند مغز انسان کار کند. بهعبارت دیگر تفاوت شبکهی عصبی با مغز مانند تفاوت مدل کامپیوتری آبوهوا با ابر، برف، و هوای آفتابی درواقعیت است. شبیهسازی کامپیوتر تنها مجموعهای از متغیرهای جبری و معادلات ریاضی است که آنها را بههم متصل میکند (اعداد ذخیرهشده در جعبههایی که مقادیر آنها دائما درحال تغییر است). این شبیهسازیها برای کامپیوترها هیچ معنایی ندارد و تنها برای افرادی که برنامه آنها را مینویسند بامعنا است.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
#بخش_سوم
#شبکه_های_عصبی
شبکههای عصبی حقیقی و مصنوعی
قبلاز اینکه جلوتر برویم، باید چندین اصطلاح را بررسی کنیم. شبکههای عصبی که به این طریق (شبیهسازی و برنامهنویسی) ساخته میشوند، شبکهی عصبی مصنوعی (ANN) نامیده میشوند تا نسبت به شبکههای عصبی حقیقی (مجموعههای سلولهای مغزی متصل) که داخل مغز ما هستند متمایز شوند. شاید اصطلاحات دیگری مانند ماشینهای اتصال، پردازندههای توزیعشدهی موازی، ماشینهای تفکر و ... نیز به گوش شما خورده باشد، اما در اینجا تنها قصد داریم از اصطلاح شبکهی عصبی استفاده کنیم و هر جا این اصطلاح دیده شد، منظور همان شبکهی عصبی مصنوعی است.
یک شبکه عصبی متشکل از چه چیزهایی است؟
یک شبکه عصبی معمولی دهها، صدها،َ هزاران یا حتی میلیونها نورون مصنوعی به نام واحد دارد که در مجموعهای از لایهها قرارگرفتهاند که در هرطرف با بقیه لایهها بههم متصلاند. برخی از آنها با نام واحدهای ورودی شناخته میشوند. این واحدها برای دریافت شکلهای مختلف اطلاعات از دنیای خارجی که شبکه سعی در یادگیری، شناسایی و پردازش آنها دارد، طراحی شدهاند. سایر واحدها که واحدهای خروجی نامیده میشوند، در طرف مخالف شبکه قرار دارند و چگونگی واکنش شبکه به اطلاعات یادگرفتهشده را مشخص و بررسی میکنند. درمیان واحدهای ورودی و خروجی، واحدهای مخفی وجود دارند که به همراه این واحدها، اکثریت مغز مصنوعی را تشکیل میدهند. اکثر شبکههای عصبی بهطور کامل متصلاند؛ بدین معنا که هر واحد مخفی و هر واحد خروجی به واحدهای لایههای هرطرف متصل است. اتصال بین واحدها با عددی به نام وزن ارائه میشود. وزن میتواند مثبت (اگر یک واحد، واحد دیگر را برانگیخته کند) یا منفی (اگر یک واحد، واحد دیگر را سرکوب یا مهار کند) باشد. هرچقدر میزان وزن بالاتر باشد، تأثیر یک واحد بر دیگری بیشتر میشود. این شبیه به راهی است که سلولهای حقیقی مغز در شکافهای کوچکی به نام سیناپس باعث برانگیختگی یکدیگر میشوند.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone
#شبکه_های_عصبی
شبکههای عصبی حقیقی و مصنوعی
قبلاز اینکه جلوتر برویم، باید چندین اصطلاح را بررسی کنیم. شبکههای عصبی که به این طریق (شبیهسازی و برنامهنویسی) ساخته میشوند، شبکهی عصبی مصنوعی (ANN) نامیده میشوند تا نسبت به شبکههای عصبی حقیقی (مجموعههای سلولهای مغزی متصل) که داخل مغز ما هستند متمایز شوند. شاید اصطلاحات دیگری مانند ماشینهای اتصال، پردازندههای توزیعشدهی موازی، ماشینهای تفکر و ... نیز به گوش شما خورده باشد، اما در اینجا تنها قصد داریم از اصطلاح شبکهی عصبی استفاده کنیم و هر جا این اصطلاح دیده شد، منظور همان شبکهی عصبی مصنوعی است.
یک شبکه عصبی متشکل از چه چیزهایی است؟
یک شبکه عصبی معمولی دهها، صدها،َ هزاران یا حتی میلیونها نورون مصنوعی به نام واحد دارد که در مجموعهای از لایهها قرارگرفتهاند که در هرطرف با بقیه لایهها بههم متصلاند. برخی از آنها با نام واحدهای ورودی شناخته میشوند. این واحدها برای دریافت شکلهای مختلف اطلاعات از دنیای خارجی که شبکه سعی در یادگیری، شناسایی و پردازش آنها دارد، طراحی شدهاند. سایر واحدها که واحدهای خروجی نامیده میشوند، در طرف مخالف شبکه قرار دارند و چگونگی واکنش شبکه به اطلاعات یادگرفتهشده را مشخص و بررسی میکنند. درمیان واحدهای ورودی و خروجی، واحدهای مخفی وجود دارند که به همراه این واحدها، اکثریت مغز مصنوعی را تشکیل میدهند. اکثر شبکههای عصبی بهطور کامل متصلاند؛ بدین معنا که هر واحد مخفی و هر واحد خروجی به واحدهای لایههای هرطرف متصل است. اتصال بین واحدها با عددی به نام وزن ارائه میشود. وزن میتواند مثبت (اگر یک واحد، واحد دیگر را برانگیخته کند) یا منفی (اگر یک واحد، واحد دیگر را سرکوب یا مهار کند) باشد. هرچقدر میزان وزن بالاتر باشد، تأثیر یک واحد بر دیگری بیشتر میشود. این شبیه به راهی است که سلولهای حقیقی مغز در شکافهای کوچکی به نام سیناپس باعث برانگیختگی یکدیگر میشوند.
✅جهت حمایت از ما کانال را به دیگران معرفی کنید.
@Pythonforeveryone