طراحی سایتی بهتر

حتما از طراحی سایت های بد خسته شدید. ما طراحی سایتی بهتر انجام می دهیم

طراحی سایتی بهتر

حتما از طراحی سایت های بد خسته شدید. ما طراحی سایتی بهتر انجام می دهیم

پروژه های جالب ، سرگرم کننده و آسان آردوینو برای مبتدیان

هستی خانم | دوشنبه, ۶ بهمن ۱۳۹۹، ۱۰:۴۹ ق.ظ

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

 

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

آردوینو چیست؟
آردوینو یک سیستم الکترونیکی منبع باز برای دستگاه های میکروکنترلر است که برنامه نویسی تعبیه شده را آسان تر می کند. آردوینو در Ivrea interaction design متولد شد و تابلوهای سخت افزاری آن می توانند ورودی ها ، انگشت روی دکمه را بخوانند ، آن را به یک خروجی تبدیل کنند ، یک حسگر روشن کنند ، یک LED را فعال کنند و موارد دیگر.

برد آردوینو با ارسال مجموعه ای از دستورالعمل ها به میکروکنترلر روی برد برنامه ریزی می شود. پلت فرم آردوینو موارد زیر را تشکیل می دهد:

برنامه نویسی و چارچوب آردوینو: آردوینو از فریم ورک های C / C ++ برای ARM ، AVR و غیره استفاده می کند.

Device Bootloader: این به برنامه ای گفته می شود که از قبل روی میکروکنترلرهای سخت افزاری برنامه ریزی شده است. این برنامه در هنگام بارگیری کد از حافظه هنگام راه اندازی کمک می کند. بوت لودر همچنین قابلیت بارگذاری کد روی دستگاه را با استفاده از کابل USB فراهم می کند.

Arduino IDE: IDE یک برنامه دسکتاپ ویرایشگر متن با شکوه برای نوشتن ، کامپایل و بارگذاری کد آردوینو است.

در مرحله بعدی ، بگذارید ببینیم چرا Arduino را انتخاب کرده اید و چه گزینه هایی را ارائه می دهد.

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

ارزان: بر خلاف سایر سیستم عامل های میکروکنترلر ، بردهای آردوینو هزینه بسیار کمتری دارند ، با کمترین هزینه آن کمتر از 50 دلار. اگر هنوز چیزی ارزان تر می خواهید ، به پایین ترین نسخه آردوینو که می تواند به صورت دستی مونتاژ شود ، بروید.
Go-Platform: Arduino IDE توسط اکثر سیستم عامل ها مانند Macintosh OSX ، Linux ، windows و غیره پشتیبانی می شود.
محیط برنامه نویسی ساده و واضح: نرم افزار Arduino IDE برای انواع کاربران انعطاف پذیر است. این آسان برای مبتدیان استفاده می شود اما ویژگی های پیشرفته ای را نیز برای حرفه ای ها فراهم می کند.
Open supply and Extensible software: این نرم افزار منبع باز است و می تواند از طریق کتابخانه های C ++ گسترش یابد.
منبع باز و سخت افزار قابل توسعه: طراحان مدار می توانند سخت افزار را تغییر دهند تا نسخه خود را از ماژول گسترش دهند یا در صورت لزوم آن را بهبود بخشند. افراد مبتدی حتی می توانند با دستگاه بازی کنند و ماژول های مختلفی از آن بسازند تا عملکرد آن را درک کنند.
اجازه دهید پروژه های آردوینو را ببینیم که می توانید به راحتی امتحان کنید. اگر می خواهید مهارت های آردوینو خود را تقویت کنید ، می توانید هنگام مراجعه به پروژه ها ، بهترین کتاب های آردوینو را برای مراجعه سریع به مفاهیم بررسی کنید.

بهترین پروژه های آردوینو را امتحان کنید
1. حسگر ضربان قلب

الکتروکاردیوگرافی یکی از روش های دقیق و محبوب برای اندازه گیری ضربان قلب در زمینه پزشکی است. نظارت بر ضربان قلب برای تعیین وضعیت قلب برای ورزشکاران و بیماران ضروری است.

با پیشرفت تکنولوژی ، سنسور ضربان قلب راهی آسان و هوشمند برای اندازه گیری ضربان قلب است. سنسورها را می توان در ساعت های مچی ، تلفن های هوشمند و نوارهای سینه برای بررسی ضربان قلب فرد نصب کرد.

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

به طور کلی یک IR IR به عنوان منبع نور در سنسور ضربان قلب در نظر گرفته می شود و می توان از آشکارسازهای نوری مانند photo Diode ، Photoresistor یا LDR استفاده کرد.
ترتیب قطعات ، به عنوان مثال منبع نور و آشکارساز نوری ، به دو روش امکان پذیر است:

سنسور انتقالی: در این حالت ، منبع نور و آشکارساز رو به روی هم قرار می گیرند. بیمار باید انگشت خود را بین فرستنده و گیرنده قرار دهد.
سنسور بازتابنده: در این ترتیب ، منبع نور و آشکارساز در مجاورت یکدیگر هستند. انگشت فرد در مقابل سنسور قرار می گیرد تا ضربان قلب را بخواند.
مدار سنسور ضربان قلب
اجزای مورد نیاز
Arduino UNO x 1 [اینجا را بخرید]
نمایشگر lcd sixteen x 2 x 1 [اینجا را بخرید]
پتانسیومتر 10KΩ
مقاومت 330Ω (اختیاری - برای نور پس زمینه lcd)
دکمه فشار دهید
ماژول سنسور ضربان قلب با پروب (مبتنی بر انگشت)
مینی نان
اتصال سیم ها
برنامه های کاربردی)
این پروژه یک گزینه ارزان قیمت برای ساعتهای هوشمند و سایر مانیتورهای ضربان قلب ضربان قلب است.

کد
# شامل <LiquidCrystal.H>
LiquidCrystal liquid crystal display (6 ، 5 ، three ، 2 ، 1 ، 0) ؛
اطلاعات int = A0؛
Int begin = 7؛
تعداد int = 0؛
بدون امضا long temp = zero؛
Byte customChar1 [8] = 0b00000،0b00000،0b00011،0b00111،0b01111،0b01111،0b01111،0b01111؛
Byte customChar2 [8] = 0b00000،0b11000،0b11100،0b11110،0b11111،0b11111،0b11111،0b11111؛
Byte customChar3 [8] = 0b00000،0b00011،0b00111،0b01111،0b11111،0b11111،0b11111،0b11111؛
Byte customChar4 [8] = 0b00000،0b10000،0b11000،0b11100،0b11110،0b11110،0b11110،0b11110؛
Byte customChar5 [8] = 0b00111،0b00011،0b00001،0b00000،0b00000،0b00000،0b00000،0b00000؛
Byte customChar6 [8] = 0b11111،0b11111،0b11111،0b11111،0b01111،0b00111،0b00011،0b00001؛
Byte customChar7 [8] = 0b11111،0b11111،0b11111،0b11111،0b11110،0b11100،0b11000،0b10000؛
Byte customChar8 [8] = 0b11100،0b11000،0b10000،0b00000،0b00000،0b00000،0b00000،0b00000؛
تنظیم باطل ()

Lcd. شروع (16 ، 2) ؛
Lcd.CreateChar (1 ، customChar1) ؛
Liquid crystal display.CreateChar (2 ، customChar2) ؛
Lcd.CreateChar (three ، customChar3) ؛
Liquid crystal display.CreateChar (4 ، customChar4) ؛
Lcd.CreateChar (5 ، customChar5) ؛
Lcd.CreateChar (6 ، customChar6) ؛
Lcd.CreateChar (7 ، customChar7) ؛
Lcd.CreateChar (8 ، customChar8) ؛
PinMode (داده ، ورودی) ؛
PinMode (شروع ، INPUT_PULLUP) ؛

حلقه باطل ()

 lcd.SetCursor (0 ، zero) ؛
 liquid crystal display.Print ("انگشت را بگذار")؛
 lcd.SetCursor (zero ، 1)؛
 liquid crystal display.Print ("و شروع را فشار دهید")؛
  at the same time as (digitalRead (شروع)> zero)؛
   lcd.Clean ()؛
   temp = میلی متر ()؛
   at the same time as (میلی متر () <(دما + 10000))
   
      if (analogRead (داده) <one hundred)
        
         تعداد = تعداد + 1؛
         lcd.SetCursor (6 ، zero) ؛
         lcd.Write (بایت (1))؛
         lcd.SetCursor (7 ، zero) ؛
         liquid crystal display.Write (بایت (2))؛
         lcd.SetCursor (8 ، zero) ؛
         liquid crystal display.Write (بایت (three))؛
         lcd.SetCursor (9 ، zero) ؛
         liquid crystal display.Write (بایت (4))؛
         liquid crystal display.SetCursor (6 ، 1) ؛
         lcd.Write (بایت (five))؛
         liquid crystal display.SetCursor (7 ، 1) ؛
         lcd.Write (بایت (6))؛
         lcd.SetCursor (eight ، 1) ؛
         liquid crystal display.Write (بایت (7))
         lcd.SetCursor (9 ، 1) ؛
         liquid crystal display.Write (بایت (eight))؛
         even as (analogRead (داده) <a hundred)؛
         lcd.Clean ()؛
        
   
         lcd.Clean ()؛
         liquid crystal display.SetCursor (zero ، 0) ؛
         شمارش = شمارش * 6 ؛
         liquid crystal display.SetCursor (2 ، 0) ؛
         liquid crystal display.Write (بایت (1))؛
         liquid crystal display.SetCursor (3 ، 0) ؛
         liquid crystal display.Write (بایت (2))؛
         liquid crystal display.SetCursor (four ، 0) ؛
         lcd.Write (بایت (three))؛
         liquid crystal display.SetCursor (five ، 0) ؛
         lcd.Write (بایت (4))؛
         lcd.SetCursor (2 ، 1) ؛
         lcd.Write (بایت (five))؛
         liquid crystal display.SetCursor (three ، 1)؛
         lcd.Write (بایت (6))؛
         lcd.SetCursor (4 ، 1)؛
         liquid crystal display.Write (بایت (7))
         liquid crystal display.SetCursor (5 ، 1) ؛
         lcd.Write (بایت (eight))؛
         liquid crystal display.SetCursor (7 ، 1) ؛
 lcd.Print (تعداد)
 liquid crystal display.Print ("BPM") ؛
 دما = zero؛
 در حالی که (1) ؛

2. درب زنگ بی سیم

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

اصل دوربن بی سیم
این پروژه از سخت افزار ساده برای ساخت زنگ در بی سیم با استفاده از برد Arduino UNO استفاده می کند. این پروژه پیاده سازی ماژول RF برای ارتباطات بی سیم و هیئت مدیره UNO Arduino برای تجزیه و تحلیل داده ها را نشان می دهد.

نمودارهای مدار
اجزای مورد نیاز
برای فرستنده

ماژول فرستنده RF 434 مگاهرتز
IC رمزگذار HT - 12E
مقاومت 750 kΩ
دکمه فشار دهید
منبع تغذیه
اتصال سیم ها
صفحه نمونه سازی (تخته نان)
برای گیرنده

آردوینو UNO
ماژول گیرنده RF 434 مگاهرتز
IC رسیور HT - 12D
مقاومت 33 okΩ
وزوز کوچک
منبع تغذیه
اتصال سیم ها
صفحه نمونه سازی (تخته نان)
کد
Int buz = 11؛
Int sen = 2؛
تنظیم باطل ()

  pinMode (buz ، OUTPUT) ؛
  pinMode (سن ، ورودی) ؛
  digitalWrite (buz ، LOW) ؛
  digitalWrite (سن ، high) ؛

حلقه باطل ()

 while (digitalRead (سن) == excessive) ؛
 digitalWrite (buz ، excessive) ؛
 even as (digitalRead (سن) == کم)؛
 digitalWrite (buz ، LOW) ؛

برنامه های کاربردی
این ایده را می توان به یک سیستم زنگ در بی سیم در زمان واقعی گسترش داد.
از آنجا که نحوه ارتباطات RF است ، دامنه آن بطور قابل توجهی بیشتر از سایر فناوریهای بی سیم است زیرا مدل از RF استفاده می کند.
این پروژه برای خانه ها ، مغازه ها ، گاراژها ، بیمارستان ها ، مطب ها و ... مناسب است.
Three. ماتریس LED RGB

ساخت ماتریس LED RGB یک پروژه محبوب در بین دانشجویان است. یک ماتریس LED کاربردهای مختلفی به عنوان تابلوهای راهنما با پیام ، نمایش انیمیشن ها ، طیف موسیقی همگام و موارد دیگر دارد. ساخت ماتریس LED RGB شامل طراحی مدار ، ساخت ماتریس ، مونتاژ اجزا و کدگذاری است.
اصل RGB LED Matrix
این پروژه برای ساخت یک ماتریس LED 8x6 RGB با استفاده از Arduino Nano ، ماژول بلوتوث HC-06 و تلفن Android با یک برنامه سفارشی است. بنابراین اجازه دهید ما با این پروژه DIY برای آردوینو شروع کنیم.

نمودارهای مدار
تصویر زیر ارتباطات مربوط به رجیسترهای شیفت را نشان می دهد. رجیسترهای شیفت به Arduino Nano ، ترانزیستورهای منبع متصل به Columns و ترانزیستورهای غرق شده متصل به Rows of R ، G و B LED (کاتد) متصل می شوند.

تصویر دوم طرح LED های RGB را نشان می دهد. آنها در 8 ردیف از پایانه های کاتد و 6 ستون از پایانه های آند سازمان یافته اند. هر ردیف از 3 ترمینال کاتدی برای LED های قرمز ، سبز و آبی تشکیل شده است.

اجزای مورد نیاز
آردوینو نانو
ماژول بلوتوث HC-06
48 X LED رایج آند RGB
ترانزیستور PNP قدرت 6 X BD136
ترانزیستور 30 X BC337 NPN
Four X 74HC595N شیفت ثبت IC
مقاومت 36 X 10KΩ (¼ W)
سنسور دما LM35
منبع تغذیه
سیمها و مواد زیادی مانند تخته سه لا و ورق پلی استایرن
کاربرد
به عنوان تابلوهای راهنما با پیام ، نمایش انیمیشن ها ، طیف موسیقی همگام شده و موارد دیگر استفاده می شود

Four. ماشین حساب آردوینو

ماشین حساب وسیله ای مفیدی است که همه از آن برای انجام عملیات ریاضی ساده برای محاسبات پیچیده ریاضی آگاه هستند. ماشین حساب های علمی نیز برای انجام محاسبات پیچیده تکامل یافته اند. مردم به اندازه برنامه های کاربردی به دستگاهی که در ساعت ، تلفن و لپ تاپ نصب شده اعتماد می کنند.

اصل ماشین حساب
این پروژه با استفاده از Arduino UNO ، liquid crystal display 16x2 و صفحه کلید Matrix Keyx 4x4 طراحی شده است.

مدار
اجزای مورد نیاز
Arduino UNO [اینجا را بخرید]
صفحه نمایش lcd sixteen x 2 [اینجا را بخرید]
ماژول صفحه کلید four four four یا sixteen دکمه فشار
پتانسیومتر 10 kΩ
تخته نان (تخته نمونه)
اتصال سیم ها
کد
# شامل <LiquidCrystal.H>
# Keypad.H> را وارد کنید
LiquidCrystal liquid crystal display (zero ، 1 ، 2 ، 3 ، four ، five) ؛
ردیف بایت ساختار = 4؛
مقدار بایت COLS = four؛
کلیدهای کاراکتر [ROWS] [COLS] = 
  '7' ، 'eight' ، 'nine' ، '/' ،
  'four' ، '5' ، '6' ، '*' ،
  '1' ، '2' ، 'three' ، '-' ،
  'C' ، 'zero' ، '=' ، '+'
؛
ByP rowPins [ROWS] = thirteen ، 12 ، 11 ، 10 ؛
Colpins بایت [COLS] = 9 ، 8 ، 7 ، 6 ؛
صفحه کلید myKeypad = صفحه کلید (makeKeymap (کلیدها) ، rowPins ، colPins ، ROWS ، COLS) ؛
Boolean presentValue = fake ؛
بعدی بولی = نادرست ؛
Boolean final = false؛
رشته num1 ، num2 ؛
پاسخ int؛
Char op؛
تنظیم باطل ()

  lcd.Begin (sixteen،2) ؛
  lcd.SetCursor (0،0)؛
  lcd.Print ("مرکز الکترونیک")؛
  liquid crystal display.SetCursor (zero،1)؛
  lcd.Print ("ارائه") ؛
  تأخیر (5000)
  lcd.SetCursor (0،zero)؛
  liquid crystal display.Print ("مبتنی بر آردوینو")؛
  liquid crystal display.SetCursor (0،1)؛
  liquid crystal display.Print ("ماشین حساب")؛
  تأخیر (5000)
  lcd.Clear ()؛

Void loop ()  کلید == '34 کلید == '5' 8 کلید == '9zero'))))
  
    if (presentValue! = genuine)
    
      num1 = num1 + کلید ؛
      int numLength = num1.Period ()؛
      lcd.SetCursor (15 - numLength، 0)؛ // برای تنظیم یک فضای خالی برای اپراتور
      lcd.Print (num1) ؛
    
    دیگر
    
      num2 = num2 + کلید ؛
      int numLength = num2.Length ()؛
      liquid crystal display.SetCursor (15 - numLength ، 1) ؛
      liquid crystal display.Print (num2) ؛
      نهایی = درست ؛
    
  
  در غیر این صورت (presentValue == false
    if (presentValue == fake)
    
      presentValue = درست ؛
      op = کلید ؛
      lcd.SetCursor (15،zero)؛
      lcd.Print (op)
    
  
  در غیر این صورت (نهایی == درست & کلید! = NO_KEY & کلید == '=') 
    اگر (op == '+') 
      پاسخ = num1.ToInt () + num2.ToInt ()؛
    
    در غیر این صورت (op == '-') 
      پاسخ = num1.ToInt () - num2.ToInt ()؛
    
    در غیر این صورت (op == '*') 
      پاسخ = num1.ToInt () * num2.ToInt ()؛
    
    در غیر این صورت اگر (op == '/') 
      پاسخ = num1.ToInt () / num2.ToInt ()؛
    
      lcd.Clean ()؛
      liquid crystal display.SetCursor (15،zero)؛
      liquid crystal display.Autoscroll ()؛
      lcd.Print (پاسخ)؛
      liquid crystal display.NoAutoscroll ()؛
  
  در غیر این صورت (کلید! = NO_KEY && کلید == 'C') 
    liquid crystal display.Clear ()؛
    presentValue = false ؛
    نهایی = نادرست ؛
    num1 = ""؛
    num2 = ""؛
    پاسخ = 0؛
    op = ""؛
  

کاربرد

پروژه را می توان برای انجام محاسبات پیچیده تمدید کرد. این حتی ممکن است منجر به افزایش تعداد سوئیچ ها شود.

5. دماسنج دیجیتال

همه ما می دانیم که دماسنج وسیله اندازه گیری دما است. ما اخیراً در زمان Covid از این موارد بسیار استفاده می کنیم ، زیرا هر مکان دمای بدن فرد را بعنوان بخشی از بررسی هنگام ورود به محل کار وی بررسی می کند. اندازه گیری دما یا کنترل دما همچنین علاوه بر دارو بخش مهمی از سایر زمینه ها مانند دستگاه های جوجه کشی ، انبارها ، آزمایشگاه ها و غیره است.

اصل دماسنج دیجیتال
اندازه گیری دما به اصول مختلفی مانند انبساط حرارتی جامدات یا مایعات ، فشار گاز ، اندازه گیری انرژی مادون قرمز و غیره بستگی دارد. ساخت و عملکرد دماسنج به اصل بستگی دارد.

مدار
اجزای مورد نیاز
Arduino Uno [اینجا را بخرید]
سنسور دما LM35
نمایشگر liquid crystal display 16X2 [اینجا را بخرید]
کد
# شامل <LiquidCrystal.H>
Liquid crystal display مایع کریستال (7،6،5،four،4،three،2)؛
حسگر const int = A0؛
نمره_بایت بایت [8] =
              
                0b00111 ،
                0b00101 ،
                0b00111 ،
                0b00000 ،
                0b00000 ،
                0b00000 ،
                0b00000 ،
                0b00000
              ؛
تنظیم باطل ()

  pinMode (سنسور ، ورودی) ؛
  liquid crystal display.Begin (16،2) ؛
  lcd.CreateChar (1 ، نماد درجه)
  lcd.SetCursor (0،0)؛
  liquid crystal display.Print ("دیجیتال") ؛
  liquid crystal display.SetCursor (zero،1)؛
  liquid crystal display.Print ("دماسنج")؛
  تأخیر (4000)
  lcd.Clean ()؛

حلقه باطل ()

     go with the flow temp_reading = analogRead (سنسور)؛
     دمای شناور = temp_reading * (five.0 / 1023.Zero) * one hundred؛
     تأخیر (10)
    liquid crystal display.Clean ()؛
    lcd.SetCursor (zero،0)؛
    lcd.Print ("دما در C")؛
    liquid crystal display.SetCursor (4،1)؛
    lcd.Print (دما)؛
    liquid crystal display.Write (1)؛
    liquid crystal display.Print ("C") ؛
    تأخیر (1000)

برنامه های کاربردی

دماسنج ها در صنایع ، مطالعات هواشناسی ، حوزه دارویی و تحقیقات علمی مورد استفاده قرار می گیرند.
این پروژه می تواند با قرائت بسیار دقیق ، دمای اتاق را در محدوده -550 درجه سانتیگراد تا + 1500 درجه سانتیگراد کنترل کند.
سنسور دما استفاده شده (LM35) یک سنسور دمای دقیق سانتی گراد است. برای سنسورهای دمای فارنهایت از سنسور دمای فارنهایت (LM34) استفاده کنید.
دماسنج را می توان با باتری nine ولت تأمین کرد و آن را به یک وسیله قابل حمل تبدیل کرد.
می توان از آن در وسایل نقلیه برای تعیین شرایط یخ زدگی جاده استفاده کرد.
  سیستم های تهویه مطبوع ، سیستم های گرمایشی و خنک کننده را می توان به صورت دستی یا خودکار کنترل کرد ، بر اساس قرائت دماسنج.
6. ردیاب خورشیدی

ردیاب های خورشیدی دستگاه هایی هستند که محموله را به سمت خورشید سوق می دهند. محموله ها هستند

معمولاً صفحات خورشیدی ، فرورفتگی های سهمی ، بازتابنده های تازه ، لنزها یا آینه های هلیاستات.

اصل ردیاب های خورشیدی
ردیاب های خورشیدی با توجه به موقعیت خورشید جهتی را که یک صفحه خورشیدی با آن روبرو می شود تنظیم می کنند. نور خورشید بیشتر به صفحه خورشیدی برخورد می کند. با نگه داشتن صفحه عمود بر خورشید ، نور کمتری منعکس می شود ، بنابراین انرژی بیشتری جذب می شود. این انرژی برای استفاده به قدرت تبدیل می شود.

مدار
اجزای مورد نیاز
Arduino UNO [اینجا را بخرید]
سرو موتور [اینجا را بخرید]
سنسورهای نور
LDR
مقاومت
کد
# Servo.H> را وارد کنید
// تعریف Servos
سرو سرووری؛
Int servoh = 0؛
Int servohLimitHigh = 160؛
Int servohLimitLow = 20؛
سروو سرووورتی؛
Int servov = 0؛
Int servovLimitHigh = 160؛
Int servovLimitLow = 20؛
// اختصاص دادن LDR ها
Int ldrtopl = 2؛ // LDR سمت چپ بالا سبز
Int ldrtopr = 1؛ // بالا سمت راست LDR زرد
Int ldrbotl = three؛ // پایین سمت چپ آبی LDR
Int ldrbotr = zero؛ // پایین سمت راست نارنجی LDR
 تنظیم باطل ()
 
  servohori.Connect (10) ؛
  servohori.Write (0)؛
  servoverti.Attach (9) ؛
  servoverti.Write (0)؛
  تأخیر (500)
 
حلقه باطل ()

  servoh = servohori.Read ()؛
  servov = servoverti.Read ()؛
  // گرفتن مقادیر آنالوگ هر LDR
  int topl = analogRead (ldrtopl)؛
  int topr = analogRead (ldrtopr)؛
  int botl = analogRead (ldrbotl)؛
  int botr = analogRead (ldrbotr)؛
  // محاسبه میانگین
  int avgtop = (topl + topr) / 2؛ // میانگین LDR های برتر
  int avgbot = (botl + botr) / 2؛ // میانگین LDR های پایین
  int avgleft = (topl + botl) / 2؛ // میانگین LDR های چپ
  int avgright = (topr + botr) / 2؛ // میانگین LDR های مناسب
  if (avgtop <avgbot)
  
    servoverti.Write (servov +1) ؛
    if (servov> servovLimitHigh)
     
      servov = servovLimitHigh؛
     
    تأخیر (10)
  
  در غیر این صورت (avgbot <avgtop)
  
    servoverti.Write (servov -1) ؛
    if (servov <servovLimitLow)
  
    servov = servovLimitLow؛
  
    تأخیر (10)
  
  دیگر
  
    servoverti.Write (servov) ؛
  
  if (avgleft> avgright)
  
    servohori.Write (servoh +1) ؛
    if (servoh> servohLimitHigh)
    
    servoh = servohLimitHigh؛
    
    تأخیر (10)
  
  در غیر این صورت (avgright> avgleft)
  
    servohori.Write (servoh -1) ؛
    if (servoh <servohLimitLow)
     
     servoh = servohLimitLow؛
     
    تأخیر (10)
  
  دیگر
  
    servohori.Write (servoh) ؛
  
  تأخیر (50)

برنامه های کاربردی
ردیاب های خورشیدی دستگاه هایی هستند که برای جهت گیری صفحات فتوولتائیک ، بازتابنده ها ، لنزها یا سایر وسایل نوری به سمت خورشید استفاده می شوند.

7. سیستم اتوماسیون خانگی فعال شده با صدا

معرفی هوش مصنوعی و NLP در اتوماسیون خانگی باعث محبوبیت بیشتر شده است. این تلاش انسان برای کنترل لوازم خانگی مانند چراغ ها ، پنکه ها ، تلویزیون ، تهویه مطبوع و غیره را کاهش می دهد. سیستم های اتوماسیون با طراحی ایمن با هشدارها ، دوربین های امنیتی ، سیستم های اضطراری نیز ترکیب شده اند. جدا از اتوماسیون فعال شده با صدا ، دستگاه ها همچنین می توانند توسط BlueTooth ، اینترنت ، از راه دور و سایر ابزارها و فناوری کنترل شوند.

اصل سیستم های اتوماسیون خانگی فعال شده با صدا
پروژه اتوماسیون خانگی فعال شده با صدا با استفاده از Arduino UNO ، بلوتوث و تلفن هوشمند برای کنترل دستگاه های فرمان صوتی اجرا می شود.

مدار
اجزای مورد نیاز
آردوینو UNO - 1
ماژول بلوتوث HC - 05 - 1
تلفن هوشمند یا تبلت - 1
ترانزیستور 2N2222 NPN - four
رله 12 ولت - four
مقاومت 1 okΩ - four
دیود اتصال 1N4007 PN - 4
منبع تغذیه
اتصال سیم ها
Breadboard (صفحه نمونه سازی)
برنامه انتقال صدا به بلوتوث
کد
# شامل <SoftwareSerial.H>
Const int rxPin = 2؛
Const int txPin = 3؛
SoftwareSerial mySerial (rxPin، txPin)؛
Int ac = 4؛
نور داخلی = five؛
Int fan = 6؛
Int television = 7؛
داده های رشته ای ؛
تنظیم باطل ()

   Serial.Begin (9600)؛
   mySerial.Start (9600)؛
   pinMode (ac ، OUTPUT) ؛
   pinMode (نور ، خروجی) ؛
   pinMode (فن ، خروجی) ؛
   pinMode (تلویزیون ، خروجی) ؛
   digitalWrite (ac ، LOW) ؛
   digitalWrite (سبک ، کم) ؛
   digitalWrite (فن ، کم) ؛
   digitalWrite (تلویزیون ، پایین) ؛

حلقه باطل ()

    int i = zero؛
    char ch = zero؛
    داده = ""؛
    در حالی که (1)
    
      while (mySerial.To be had () <= zero) ؛
      ch = mySerial.Study ()؛
      اگر (ch == '#')
      زنگ تفریح؛
      داده + = ch؛
    
   Serial.Println (داده)
    if (facts == "* AC را روشن کنید")
    
      digitalWrite (ac ، excessive) ؛
      Serial.Println ("ac on") ؛
    
    در غیر این صورت (داده == "" AC را خاموش کنید ")
    
      digitalWrite (ac ، LOW) ؛
      Serial.Println ("ac off") ؛
    
    در غیر این صورت (داده == "" * چراغ را روشن کنید ")
    
      digitalWrite (سبک ، high) ؛
      Serial.Println ("روشن بودن")؛
    
    در غیر این صورت (داده == "" * چراغ را خاموش کنید ")
    
      digitalWrite (سبک ، کم) ؛
      Serial.Println ("نور خاموش")؛
    
    در غیر این صورت (داده == "" فن را روشن کنید ")
    
      digitalWrite (فن ، excessive) ؛
      Serial.Println ("فن روشن است")؛
    
    در غیر این صورت (داده == "" فن را خاموش کنید ")
    
      digitalWrite (فن ، کم) ؛
      Serial.Println ("فن خاموش")؛
    
    در غیر این صورت (داده == "* تلویزیون را روشن کنید")
    
      digitalWrite (تلویزیون ، بالا)
      Serial.Println ("تلویزیون روشن")؛
    
    در غیر این صورت (داده == "* تلویزیون را روشن کنید")
    
      digitalWrite (تلویزیون ، پایین) ؛
      Serial.Println ("تلویزیون خاموش")؛
    
    در غیر این صورت (داده == "* همه را روشن کنید")
    
      digitalWrite (ac ، high) ؛
      digitalWrite (سبک ، excessive) ؛
      digitalWrite (فن ، high) ؛
      digitalWrite (تلویزیون ، بالا)
      Serial.Println ("همه روشن")؛
    
    در غیر این صورت (داده == "" همه را خاموش کنید ")
    
      digitalWrite (ac ، LOW) ؛
      digitalWrite (سبک ، کم) ؛
      digitalWrite (فن ، کم) ؛
      digitalWrite (تلویزیون ، پایین) ؛
      Serial.Println ("همه خاموش است")؛
    

برنامه های کاربردی

سیستم اتوماسیون خانگی فعال شده با صدا به ما کمک می کند تا با دستورات صوتی ساده بارهای مختلف (وسایل الکتریکی) را کنترل کنیم.
این نوع سیستم برای افراد دارای معلولیت مفید است.
سنسورهای مختلفی مانند نور ، دود و غیره را می توان برای گسترش بیشتر پروژه اضافه کرد.
Eight. آموزش ساعت واقعی در زمان واقعی با استفاده از DS1307

ساعت بی درنگ یک دستگاه زمان سنج است که در رایانه ها ، سرورها و سایر سیستم های تعبیه شده به عنوان یک مدار مجتمع (IC) وجود دارد. برای نگه داشتن زمان دقیق می توان از آنها در هر کجا استفاده کرد. RTC توسط باتری تغذیه می شود و حتی در صورت عدم وجود برق ، زمان را کنترل می کند.
اصل RTC
هدف این پروژه ساخت RTC مبتنی بر آردوینو با رابط کاربری Arduino و IC DS1307 یا DS3231 به عنوان دستگاه های زمان سنج است.

مدار
نمودار مدار رابط Arduino real Time Clock DS1307

مدار یک ماژول ساعت واقعی زمان واقعی DS1307

اجزای مورد نیاز
Arduino UNO [اینجا را بخرید]
DS1307 RTC ماژول
صفحه نمایش liquid crystal display 16 × 2 [اینجا را بخرید]
تخته نان
اتصال سیم ها
منبع تغذیه
کد
// توابع تاریخ و زمان با استفاده از DS1307 RTC متصل از طریق I2C و cord lib
<Wire.H> را وارد کنید
# شامل <LiquidCrystal.H>
# شامل "RTClib.H"
RTC_DS1307 و غیره.
LiquidCrystal liquid crystal display (7 ، 6 ، five ، four ، 3 ، 2) ؛ // (rs ، e ، d4 ، d5 ، d6 ، d7)
Char daysOfTheWeek [7] [12] = "خورشید" ، "دوشنبه" ، "سه شنبه" ، "چهارشنبه" ، "پنجشنبه" ، "جمعه" ، "شنبه"؛
تنظیم باطل ()

  Serial.Begin (9600)؛
  liquid crystal display. شروع (sixteen ، 2) ؛
  اگر (! Rtc.Start ())
  
    liquid crystal display.Print ("RTC پیدا نشد")؛
    در حالی که (1) ؛
  
  اگر (! Rtc.Isrunning ())
  
    lcd.Print ("RTC اجرا نمی شود!")؛
  
    rtc.Alter (DateTime (F (__ DATE__)، F (__ TIME __))))؛ // به روزرسانی خودکار از زمان رایانه
    //rtc.Modify(DateTime(2014، 1، 21، three، zero، 0))؛ // برای تنظیم راهنمای زمان

حلقه باطل ()

    DateTime اکنون = rtc.Now ()؛
    liquid crystal display.SetCursor (zero ، 1)؛
    liquid crystal display.Print (اکنون. ساعت) ()
    liquid crystal display.Print (':')؛
    lcd.Print (اکنون.Minute ()) ؛
    liquid crystal display.Print (':')؛
    lcd.Print (هم اکنون ثانیه ())؛
    lcd.Print ("")؛
    lcd.SetCursor (0 ، 0) ؛
    lcd.Print (daysOfTheWeek [now.DayOfTheWeek ()])؛
    lcd.Print ("،")؛
    lcd.Print (اکنون.روز ())؛
    lcd.Print ('/')؛
    liquid crystal display.Print (هم اکنون ماه ())؛
    liquid crystal display.Print ('/')؛
    liquid crystal display.Print (هم اکنون سال ())؛

برنامه های کاربردی
با رابط Arduino real Time Clock ، ما می توانیم چندین پروژه مربوط به ثبت اطلاعات ، هشدارها ، ساعت و غیره را پیاده سازی کنیم.
از آنجا که RTC Module DS1307 از باتری پشتیبان تهیه می کند ، حتی در صورت قطع برق به حفظ زمان ادامه می دهد.
9. کنترل موتور DC با استفاده از درایور موتور L298N

همه ما در دبیرستان در مورد DC Motor مطالعه کرده ایم. این موتور دوار است که انرژی الکتریکی را به انرژی مکانیکی تبدیل می کند. کارکرد موتور ساده است: دو هدایت موتور به دو ترمینال یک باتری وجود دارد و موتور شروع به چرخش می کند. اگر لیدها را عوض کنیم موتور در جهت معکوس می چرخد.

سرعت چرخش توسط PWM DC Motor manage کنترل می شود ، که امکان کنترل ولتاژ متوسط ​​تحویل به موتور را فراهم می کند.

اصل کنترل موتور DC با استفاده از درایور موتور L298N
در این پروژه ، ما سعی می کنیم یک موتور DC را با استفاده از درایور موتور Arduino و L298N کنترل کنیم.

مدار
اجزای مورد نیاز
Arduino UNO [اینجا را بخرید]
ماژول درایور موتور L298N [اینجا را بخرید]
موتور 12 ولت DC
پتانسیومتر 100KΩ
دکمه فشار دهید
منبع تغذیه 12 ولت
تخته نان
اتصال سیم ها
کد
Adruino MOFSET کنترل موتور DC

Int PWMPin = 10؛
Int motorSpeed ​​= zero
تنظیم باطل ()


حلقه باطل ()

  برای (motorSpeed ​​= 0؛ motorSpeed ​​<= 255؛ motorSpeed ​​+ = 10)
  
    analogWrite (PWMPin ، motorSpeed) ؛
    تأخیر (30)
  
  برای (motorSpeed ​​= 255؛ motorSpeed> = zero؛ motorSpeed ​​- = 10)
  
    analogWrite (PWMPin ، motorSpeed) ؛
    تأخیر (30)
  


Arduino L298N کنترل موتور DC

Int mot1 = 8؛
Int mot2 = 9؛
Int en1 = 10؛
Int dir = 6؛
حالت bool = درست ؛
Int nob = A0؛
Int val = zero؛
تنظیم باطل ()

  pinMode (mot1 ، OUTPUT) ؛
  pinMode (mot2 ، OUTPUT) ؛
  pinMode (en1 ، OUTPUT) ؛
  pinMode (dir ، INPUT_PULLUP) ؛

حلقه باطل ()

  val = analogRead (nob) ؛
  analogWrite (en1 ، val / four) ؛
  if (digitalRead (dir) == LOW)
  
     حالت =! دولت؛
     whilst (dir == LOW) ؛
     تأخیر (300)
  
  اگر (حالت)
  
    digitalWrite (mot1 ، excessive) ؛
    digitalWrite (mot2 ، LOW) ؛
  
  دیگر
  
    digitalWrite (mot1 ، LOW) ؛
    digitalWrite (mot2 ، high) ؛
  

برنامه های کاربردی

Arduino DC Motor manage با استفاده از پروژه L298N Motor driving force برای پروژه های پیشرفته دیگر قابل تمدید است.
هر ربات مبتنی بر آردوینو می تواند این نوع کنترل موتور را با استفاده از L298N پیاده سازی کند زیرا همه ربات ها دارای چرخ هستند و ما باید موتورهای متصل به آن چرخ ها را کنترل کنیم.
10. ردیاب رنگ
 

Shade Sensor دستگاهی است که با حس کردن یا تشخیص رنگ ، رنگ دقیق جسم را می دهد. یک سنسور رنگ با استفاده از منابع خارجی مانند آرایه ای از LED های سفید ، نور را ساطع می کند تا نور منعکس شده جسم را تجزیه و تحلیل کند و در نتیجه رنگ آن را تعیین کند.

اصل سنسور رنگی
ما یک برنامه ساده حسگر رنگ آردوینو طراحی کرده ایم که می تواند رنگ های مختلف را تشخیص دهد. ما برای این منظور و برد Arduino از سنسورهای رنگی TCS3200 استفاده می کنیم.

مدار
اجزای مورد نیاز
Arduino Mega [اینجا را بخرید]
ماژول سنسور رنگی TCS3200 (RGB + clean)
Breadboard (صفحه نمونه سازی)
منبع تغذیه
اتصال سیم ها
کد

/ * آردوینو مگا * /
# شامل <LiquidCrystal.H>
LiquidCrystal lcd (forty two،forty three،44،46،48،50)
Const int S0 = 7؛
Const int S1 = 6؛
Const int outPut = five؛
Const int S2 = four؛
Const int S3 = three؛
فرکانس int بدون امضا = zero؛
تنظیم باطل ()

Serial.Begin (9600)؛
PinMode (S0 ، OUTPUT) ؛
PinMode (S1 ، OUTPUT) ؛
PinMode (S2 ، OUTPUT) ؛
PinMode (S3 ، OUTPUT) ؛
PinMode (OutPut ، enter) ؛
DigitalWrite (S0 ، excessive) ؛
DigitalWrite (S1 ، excessive) ؛

حلقه باطل ()

Serial.Print ("R =") ؛
DigitalWrite (S2 ، LOW) ؛
DigitalWrite (S3 ، LOW) ؛
فرکانس = pulseIn (outPut ، LOW) ؛
Serial.Print (فرکانس)؛
Serial.Print (" t")؛
تأخیر (500)
Serial.Print ("B =") ؛
DigitalWrite (S2 ، LOW) ؛
DigitalWrite (S3 ، excessive) ؛
فرکانس = pulseIn (outPut ، LOW) ؛
Serial.Print (فرکانس)؛
Serial.Print (" t")؛
تأخیر (500)
Serial.Print ("G =") ؛
DigitalWrite (S2 ، excessive) ؛
DigitalWrite (S3 ، high) ؛
فرکانس = pulseIn (outPut ، LOW) ؛
Serial.Print (فرکانس)؛
Serial.Print (" t")؛
تأخیر (500)
Serial.Print (" n")؛

برنامه های کاربردی
طیف گسترده ای از برنامه ها: پردازش تصویر ، پردازش سیگنال دیجیتال ، تشخیص شی ، شناسایی رنگ و غیره
در صنایع ، برای مرتب سازی اشیا based totally بر اساس رنگ.
نتیجه
این یک راهنمای دقیق در مورد ساخت پروژه های آردوینو است. ما فراهم کرده ایم

تمام جزئیات اصلی برای ساخت پروژه شما. بیشتر پروژه ها پروژه های DIY هستند ، بنابراین خودتان امتحان کنید. هنوز هم ، اگر احساس گیر افتادن می کنید ، ممکن است بخواهید برخی از دوره های آردوینو را برای راهنمایی خود بررسی کنید. یک پیشنهاد این است که یکبار اجزای سازنده را بخرید و برای صرفه جویی در هزینه و جلب علاقه خود پروژه هایی با اجزای مشابه بسازید.

https://hackr.io/blog/arduino-projects

  • هستی خانم

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی