دستگاه کنترل روزانه روشن وخاموش شدن وسایل خانگی

در اینجا ما روند ساخت ساعت دیجیتال on_of چهار زمانه را ازابتدا تا انتها دنبال خواهیم کرد

دستگاه کنترل روزانه روشن وخاموش شدن وسایل خانگی

در اینجا ما روند ساخت ساعت دیجیتال on_of چهار زمانه را ازابتدا تا انتها دنبال خواهیم کرد

مشخصات طراح

استاد راهنما: خانم دکتر نجمه چراغی شیرازی

دانشجو: افسانه باقری
رشته: مهندسی برق

ایمیل: afsaneh.bagheri9696@gmail.com 

چکیده(کلیات)

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


شکل1-نمای کلی مدار

تاریخچه

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

برای ساخت خانه های هوشمند اولیه میلیون ها دلار هزینه می شد زیرا اکثرا از مولفه های ساخت دست استفاده می شد. با این حال، سیستم های اتوماسیون خانگی ساده امروزه با کمتر از ۵۰۰ دلار قابل خریداری هستند.

هزینه این سیستم ها با افزودن قابلیت های مختلف به سیستم افزایش می یابد. پیش بینی می شود که در طول چهار سال آینده، بازار سیستم های هوشمند خانگی به نرخ رشد سالانه ۶۰% بین سال های ۲۰۱۶ تا ۲۰۲۰ دست خواهد یافت. همچنین پیش بینی می شود که تعداد وسایل خانگی که با سیستم هوشمند ساختمان کار می کنند به بیش از ۴۰ میلیون در سال ۲۰۲۲ رشد خواهد کرد. برای مثال در پایان سال ۲۰۲۰ تقریبا ۵۵ درصد همه وسایل خانگی در آمریکا با اندازه گیری های هوشمند تجهیز خواهد شد.

   اولین سیستم هوشمند تجربی در سال ۱۹۶۶ به بازار عرضه شد. استفاده معمولی از اتوماسیون خانگی شامل کنترل روشنایی، گرمایش و سرمایش، امنیت، بهینه سازی مصرف انرژی و غیره می باشد. در سال ۲۰۱۶ مشاهده سیستم اتوماسیون خانگی در ساختمان های تجاری، دانشگاه ها یا هتل ها به امری عادی تبدیل شده است اما استفاده از این سیستم ها در خانه های شخصی محدود به قشر مرفه جامعه است.

   به طور مثال ۲۰ سال قبل با ورود تکنولوژی آیفون های صوتی و بعد از آن آیفون های تصویری به ایران استقبال زیادی از این موضوع نشد ولی با گذشت مدت کوتاهی سیر تصاعدی درخواست این سیستم بالا گرفت تا جایی که هم اکنون جزء ضروریات ساختمان محسوب می شود و هر روز با تکنولوژی های مدرن بر خیل مشتریان این سیستم اضافه می شود.

شکل2-چرخه خانه هوشمند

معرفی قطعات

قطعات مورد نیاز:

  • میکرو کنترلر Atmega32-AVR
  • میکرو سوییچ: چهار عدد
  • برد برد: دو عدد
  • برد هزار سوراخ: یک عدد
  • رله میلومی: یک عدد
  • منبع تغذیه: یک عدد
  • LCD-text: یک عدد
  • ترانزیستور TIP41: یک عدد
  • ترانزیستور 2n2222: یک عدد
  • رگولاتور7805: یک عدد


شکل3-قطعات

سخت افزار و نرم افزار

ساخت ساعت دیجیتال on_of چهار زمانه

 

برای ساخت یک ساعت دیجیتال ابتدا نیاز به یک میکرو کنترلر داریم.

در این پروژه ما از یک میکروکنترلر atmega32 استفاده کرده ایم که به وسیله یک lcd tex  زمان محاسبه شده را به ما نمایش میدهد.  در ادامه میتوانید شماتیک اتصال میکرو کنترلر را به portb میکروکنترلر مشاهده نمایید .


شکل4-شماتیک مدار


حال بایستی با استفاده از میکروکنترلر یک زمان سنج دقیق بسازیم. برای این کار بایستی کریستال اسیلاتوری که به میکرو متصل است یک فرکانس مناسب و دقیق برای ساخت تایمر ثانیه شمار به ما بدهد. از این جهت همانطور که در شکل بالا مشاهده میکنید ما یک کریستال 32768 هرتز را به پایه های xtal میکرو متصل نموده ایم .

حال نوبت به محاسبه زمان میرسد . برای این کار وقفه تایمر 1 را در میکرو کنترلر فعال میکنیم و مقدار اولیه آن را برابر 65535-32768 قرار میدهیم.  از آنجایی که فرکانس اسیلاتور ما برابر است با 32768، هنگامی که وقفه تایمر صادر شود دقیقا یک ثانیه گذشته است. یعنی هر یک ثانیه برنامه به زیر برنامه وقفه تایمر1 میرود  و در زیر برنامه نیز مقادیر متغییر های ثانیه و دقیقه و روز را تغییر میدهیم.

کد زیر بخش تنظیم ساعت در زیر برنامه second که مربوط به وقفه تایمر میشود.

Second:

Timer1 = 65536 - 32768

Incr S0

If S0 = 60 Then

Incr M0

S0 = 0

End If

If M0 = 60 Then

Incr H0

M0 = 0

End If

If H0 = 24 Then

H0 = 0

Incr Day

If Day > 7 Then Day = 1

End If

البته این زیر برنامه بخش پایانی نیز دارد که در ادامه توضیح داده میشود.

برای نمایش زمان نیز در برنامه اصلی از کد زیر استفاده کرده ایم

Dim Today(7) As String * 9

Today(1) = "FRIDAY   "

Today(2) = "SATURDAY "

Today(3) = "SUNDAY   "

Today(4) = "MONDAY   "

Today(5) = "TUESDAY  "

Today(6) = "WEDNESDAY"

Today(7) = "THUSRDAY "

Do

Locate 1 , 1 : Lcd H0 ; ":" ; M0 ; ":" ; S0 ; "          "

Locate 2 , 1 : Lcd Today(day)

Loop

البته این بخش را نیز در یک زیر برنامه نوشته ام که در اینجا نیازی به نوشتن اون نداریم.

تا اینجا تونستیم که یک ساعت با دقت بالا بسازیم  و مقدار ساعت و تاریخ رو بر روی lcd نمایش دهیم .

لازم به ذکره که تغذیه میکرو کنترلر بوسیله یک رگولاتر 7805 تامین میشه .


شکل5-نمایی از مدار

در ادامه از اونجایی که میخوایم 8 زمان (4 زمان برای روشن شدن و 4 زمان برای خاموش شدن دستگاه برقی) به میکروکنترلر بدهیم  بایستی برای اونها متغییر هایی تعریف کنیم.

به همین تعداد متغییر نیز بایستی در حافظه ماندگار (eeprom) میکرو تعریف کنیم . توجه داشته باشید که برای هر تایم بایستی سه متغییر دقیقه و روز و ساعت رو تعیرف کنیم که جمعا میشه 36 متغییر از نوع بایت. 4 متغییر ثانیه و دقیقه و ساعت و روز هم برای زمان فعلی تعریف میکنیم که جمعا 40 متغییر میشود.مقدار اولیه همه متغییر ها را هم برابر صفر میدهیم به جز روز که نمیتواند صفر بگیرد و از یک شروع میکند.

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

$regfile = "m32def.dat"

$crystal = 8000000

'=====================================================================

Dim H0 As Byte , M0 As Byte , S0 As Byte , Day As Byte

Dim H1 As Byte , M1 As Byte , Day1 As Byte

Dim H2 As Byte , M2 As Byte , Day2 As Byte

Dim H3 As Byte , M3 As Byte , Day3 As Byte

Dim H4 As Byte , M4 As Byte , Day4 As Byte

Dim Ht As Byte , Mt As Byte , Dayt As Byte

'-----------------------------------------------------------------------------

Dim H1of As Byte , M1of As Byte , Day1of As Byte

Dim H2of As Byte , M2of As Byte , Day2of As Byte

Dim H3of As Byte , M3of As Byte , Day3of As Byte

Dim H4of As Byte , M4of As Byte , Day4of As Byte

'----------------------------------------------------------------------------

Dim H0eeram As Eram Byte , M0eeram As Eram Byte , , Dayeeram As Eram Byte

Dim H1eeram As Eram Byte , M1eeram As Eram Byte , Day1eeram As Eram Byte

Dim H2eeram As Eram Byte , M2eeram As Eram Byte , Day2eeram As Eram Byte

Dim H3eeram As Eram Byte , M3eeram As Eram Byte , Day3eeram As Eram Byte

Dim H4eeram As Eram Byte , M4eeram As Eram Byte , Day4eeram As Eram Byte

 

'-----------------------------------------------------------------------------

Dim H1ofeeram As Eram Byte , M1ofeeram As Eram Byte , Day1ofeeram As Eram Byte

Dim H2ofeeram As Eram Byte , M2ofeeram As Eram Byte , Day2ofeeram As Eram Byte

Dim H3ofeeram As Eram Byte , M3ofeeram As Eram Byte , Day3ofeeram As Eram Byte

Dim H4ofeeram As Eram Byte , M4ofeeram As Eram Byte , Day4ofeeram As Eram Byte

'-----------------------------------------------------------------------------

Dim Vaziat As Eram Byte

If Vaziat = 255 Then

Vaziat = 1

'-------------------------

M1eeram = 0 : H1eeram = 0 : Day1eeram = 1

M2eeram = 0 : H2eeram = 0 : Day2eeram = 1

M3eeram = 0 : H3eeram = 0 : Day3eeram = 1

M4eeram = 0 : H4eeram = 0 : Day4eeram = 1

'-------------------------

M1ofeeram = 0 : H1ofeeram = 0 : Day1ofeeram = 1

M2ofeeram = 0 : H2ofeeram = 0 : Day2ofeeram = 1

M3ofeeram = 0 : H3ofeeram = 0 : Day3ofeeram = 1

M4ofeeram = 0 : H4ofeeram = 0 : Day4ofeeram = 1

'----------------------------------

End If

 

 

 

 

Dim State As String * 9

Dim Today(7) As String * 9

Today(1) = "FRIDAY   "

Today(2) = "SATURDAY "

Today(3) = "SUNDAY   "

Today(4) = "MONDAY   "

Today(5) = "TUESDAY  "

Today(6) = "WEDNESDAY"

Today(7) = "THUSRDAY "

Day = 1 : H0 = 0 : M0 = 0 : S0 = 0

'-------------------------

 

'-------------------------

M1 = M1eeram : H1 = H1eeram : Day1 = Day1eeram

M2 = M2eeram : H2 = H2eeram : Day2 = Day2eeram

M3 = M3eeram : H3 = H3eeram : Day3 = Day3eeram

M4 = M4eeram : H4 = H4eeram : Day4 = Day4eeram

'-------------------------

M1of = M1ofeeram : H1of = H1ofeeram : Day1of = Day1ofeeram

M2of = M2ofeeram : H2of = H2ofeeram : Day2of = Day2ofeeram

M3of = M3ofeeram : H3of = H3ofeeram : Day3of = Day3ofeeram

M4of = M4ofeeram : H4of = H4ofeeram : Day4of = Day4ofeeram

تا اینجا تمامی متغییر ها را تعریف کردیم.  در مورد متغییر state  هم در ادامه صحبت میکنیم.

حال بایستی تنظیمات مربوط به تعریف پایه های ورودی و خروجی را انجام دهیم . برای تنظیمات ساعت نیاز به 4 کلید داریم که آنها را به پایه های c.0 تا c.3 متصل میکنیم  و همچنین یک رله و led را نیز باید روشن و خاموش کنیم که این دو را نیز به پایه c.4 متصل میکنیم و این پایه را خروجی در نظر میگیریم

در ادامه تنظیمات مربوط به پرت های ورودی و خروجی و همچنین تایمر و lcd را میتوانید مشاهده کنید .

Config Lcdpin = Pin , Db7 = Portb.7 , Db6 = Portb.6 , Db5 = Portb.5 , _

Db4 = Portb.4 , E = Portb.3 , Rs = Portb.2

Config Lcd = 16 * 2

Config Timer1 = Timer , Prescale = 256

Config Portc.0 = Input

Config Portc.1 = Input

Config Portc.2 = Input

Config Portc.3 = Input

Config Portc.4 = Output

Config Portc.5 = Output

Ss Alias Pinc.0

Mi Alias Pinc.1

Ho Alias Pinc.0

Da Alias Pinc.2

Ok Alias Pinc.3

نحوه اتصال کلید ها و led  و رله را نیز  در تصویر زیر مشاهده میکنید.


شکل6-شماتیک مدار


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


                            شکل7-نمایی از مدار


 و مدار نهایی  را نیز در ادامه میتوانید مشاهده کنید



                            شکل8-نمایی از مدار


شکل9-شماتیک مدار


حال در تنظیمات اولیه تنها بخش باقی مانده  تنظیم زیر برنامه هایی است که در این کد از آنها استفاده میکنیم.

برای این کد به یک برنامه برای چک کردن کلید ها ، یک برنامه برای تغییر زمان ها و یک برنامه نیز برای نمایش ساعت فعلی روی lcd نیاز داریم .

Declare Sub Key

Declare Sub Display_lcd

Declare Sub Time_change

حال به سراغ برنامه اصلی میرویم. برنامه main را به اینصورت تغییر میدهیم .

Main:

Cls

Do

Call Display_lcd

Call Key

Loop

End

در اینجا به کرات ساعت نمایش داده میشود و هر بار به زیر برنامه key فراخوانده میشود تا در صورتی که کلیدی فشار داده شود ما اطلاع یابیم .

در زیر برنامه key  دو کلید چک میشود. اول کلید Ss که در صورت فشرده شدن مقدار ثانیه شمار را صفر میکند و دوم کلید ok را . در صورتی که کلید ok فشار داده شد برنامه به حالت تغییر زمان میرود. اگر یک بار ابن کلید را فشار دهیم میتوانیم زمان فعلی را با استفاده از کلید های Mi و Ho و Da تغییر دهیم. اگر بار دوم فشار دهیم با استفاده از همین کلید  ها زمان روشن شدن برای تایم اول را میتوانیم تنظیم کنی، بار سوم زمان خاموش شدن برای تایمر یک و همینطور تا بار نهم که زمان خاموش شدن برای تایم چهارم را با آن میتوانیم تنظیم کنیم.


شکل10-نمایی از مدار


و با فشار دادن کلید برای بار دهم برنامه تمام زمانهای موجود را در حافظه ماندگار خود ذخیره میکند و به روال عادی برنامه بر میگردد و زمان فعلی را نشان میدهد


شکل11-نمایی از مدار


زیر برنامه های key و change_time  و display_lcd رو در ادامه میتونید مشاهده کنید.

'###############################################################################

Sub Key:

If Ss = 0 Then

   Waitms 50

   If Ss = 1 Then Goto Down

 

Ups:

   S0 = 0

   Call Display_lcd

 

   If Ss = 0 Then Goto Ups

   Waitms 50

   If Ss = 0 Then Goto Ups

End If

 

If Ok = 0 Then

   Waitms 50

   If Ok = 1 Then Goto Down

   Cls

   Lcd "Ok"

Okk:

   If Ok = 0 Then Goto Okk

   Waitms 50

   If Ok = 0 Then Goto Okk

   '-------------------------------

   State = "R_Time   "

   Mt = M0 : Ht = H0 : Dayt = Day

   Call Time_change

   M0 = Mt : H0 = Ht : Day = Dayt

   '------------------------------

   State = "Time 1_on"

    Mt = M1 : Ht = H1 : Dayt = Day1

   Call Time_change

   M1 = Mt : H1 = Ht : Day1 = Dayt

   ' ''''''''''''''''''''''''''''''''

   State = "Time 1_of"

    Mt = M1of : Ht = H1of : Dayt = Day1of

   Call Time_change

   M1of = Mt : H1of = Ht : Day1of = Dayt

   '-------------------------------

   State = "Time 2_on"

    Mt = M2 : Ht = H2 : Dayt = Day2

   Call Time_change

   M2 = Mt : H2 = Ht : Day2 = Dayt

   '''''''''''''''''''''''''''''''''

   State = "Time 2_of"

    Mt = M2of : Ht = H2of : Dayt = Day2of

   Call Time_change

   M2of = Mt : H2of = Ht : Day2of = Dayt

   '---------------------------------

   State = "Time 3_on"

    Mt = M3 : Ht = H3 : Dayt = Day3

   Call Time_change

   M3 = Mt : H3 = Ht : Day3 = Dayt

   ''''''''''''''''''''''''''''''''''

   State = "Time 3_of"

    Mt = M3of : Ht = H3of : Dayt = Day3of

   Call Time_change

   M3of = Mt : H3of = Ht : Day3of = Dayt

   '--------------------------------

   State = "Time 4_on"

    Mt = M4 : Ht = H4 : Dayt = Day4

   Call Time_change

   M4 = Mt : H4 = Ht : Day4 = Dayt

   '''''''''''''''''''''''''''''''''

   State = "Time 4_of"

    Mt = M4of : Ht = H4of : Dayt = Day4of

   Call Time_change

   M4of = Mt : H4of = Ht : Day4of = Dayt

   '--------------------------------

 

End If

'=======================================================================

M1eeram = M1 : H1eeram = H1 : Day1eeram = Day1

M2eeram = M2 : H2eeram = H2 : Day2eeram = Day2

M3eeram = M3 : H3eeram = H3 : Day3eeram = Day3

M4eeram = M4 : H4eeram = H4 : Day4eeram = Day4

'-------------------------

M1ofeeram = M1of : H1ofeeram = H1of : Day1ofeeram = Day1of

M2ofeeram = M2of : H2ofeeram = H2of : Day2ofeeram = Day2of

M3ofeeram = M3of : H3ofeeram = H3of : Day3ofeeram = Day3of

M4ofeeram = M4of : H4ofeeram = H4of : Day4ofeeram = Day4of

'----------------------------------

 

Down:

Return

End Sub

'###############################################################################

Sub Display_lcd:

 

Locate 1 , 1 : Lcd H0 ; ":" ; M0 ; ":" ; S0 ; "          "

Locate 2 , 1 : Lcd Today(day)

Return

End Sub

'###############################################################################

Sub Time_change:

   Cls

   Locate 1 , 1 : Lcd Ht ; ":" ; Mt ; ":" ; "00  " ; Today(dayt)

   Locate 2 , 1 : Lcd State ; " change"

   Waitms 50

Do

Mi1:

If Mi = 0 Then

   Waitms 50

   If Mi = 1 Then Goto Mi1

   Mt = Mt + 1

   If Mt = 60 Then Mt = 0

   Cls

   Locate 1 , 1 : Lcd Ht ; ":" ; Mt ; ":" ; "00  " ; Today(dayt)

   Locate 2 , 1 : Lcd State ; " change"

 

Mi2:

   If Mi = 0 Then Goto Mi2

   Waitms 50

   If Mi = 0 Then Goto Mi2

End If

'=================================

Ho1:

If Ho = 0 Then

   Waitms 50

   If Ho = 1 Then Goto Ho1

   Ht = Ht + 1

   If Ht = 24 Then Ht = 0

   Cls

   Locate 1 , 1 : Lcd Ht ; ":" ; Mt ; ":" ; "00  " ; Today(dayt)

   Locate 2 , 1 : Lcd State ; " change"

Ho2:

   If Ho = 0 Then Goto Ho2

   Waitms 50

   If Ho = 0 Then Goto Ho2

End If

'================================

Da1:

If Da = 0 Then

   Waitms 50

   If Da = 1 Then Goto Da1

   Dayt = Dayt + 1

   If Dayt = 8 Then Dayt = 1

   Cls

   Locate 1 , 1 : Lcd Ht ; ":" ; Mt ; ":" ; "00  " ; Today(dayt)

   Locate 2 , 1 : Lcd State ; " change"

Da2:

   If Da = 0 Then Goto Da2

   Waitms 50

   If Da = 0 Then Goto Da2

End If

'===============================

Ok1:

If Ok = 0 Then

   Waitms 50

   If Ok = 1 Then Goto Ok1

   Cls

   Lcd "ok"

 

Ok2:

   If Ok = 0 Then Goto Ok2

   Waitms 50

   If Ok = 0 Then Goto Ok2

   Exit Do

End If

 

 

Loop

Return

End Sub

'###############################################################################

تا اینجا تمامی زمان ها و تایمر ها را تنظیم کردیم. حال بایستی به میکرو دستور دهیم که در زمان های مقرر رله و led را خاموش و روشن کند . برای این کار باستی شرط قرار دهیم که هر بار به زمان های مقرر رسیدیم میکرو کنترلر پایه c.4 را که به رله و led متصل است را روشن و یا خاموش کند. از این جهت زیر برنامه وقفه تایمر که هر یک ثانیه اجرا میشود را به این صورت تغییر میدهیم .

'###############################################################################

Second:

Timer1 = 65536 - 32768

Incr S0

If S0 = 60 Then

Incr M0

S0 = 0

End If

If M0 = 60 Then

Incr H0

M0 = 0

End If

If H0 = 24 Then

H0 = 0

Incr Day

If Day > 7 Then Day = 1

End If

'--------------------------------------------------

If M1 = M0 And H1 = H0 And Day1 = Day Then

Set Portc.4

End If

'-------------------------------------------

If M1of = M0 And H1of = H0 And Day1of = Day Then

Reset Portc.4

End If

'-------------------------------------------

If M2 = M0 And H2 = H0 And Day2 = Day Then

Set Portc.4

End If

'-------------------------------------------

If M2of = M0 And H2of = H0 And Day2of = Day Then

Reset Portc.4

End If

'-------------------------------------------

If M3 = M0 And H3 = H0 And Day3 = Day Then

Set Portc.4

End If

'-------------------------------------------

If M3of = M0 And H3of = H0 And Day3of = Day Then

Reset Portc.4

End If

'-------------------------------------------

If M4 = M0 And H4 = H0 And Day4 = Day Then

Set Portc.4

End If

'-------------------------------------------

If M4of = M0 And H4of = H0 And Day4of = Day Then

Reset Portc.4

End If

 

Return

End

'###############################################################################

چک کردن شرط ها را از این جهت درون این زیر برنامه گذاشتیم تا هر یک ثانیه چک شوند و در صورتی که به زمان مقرر رسیدیم عملکرد مورد نظر انجام شود.

 

تا اینجا کار ساخت و برنامه نویسی دستگاه به پایان رسیده است. حال کافی است که 220 ولت برق شهر را به common رله متصل کرده و خروجی no را به دستگاه مورد نظرمان وصل کنیم تا در زمان های مقرر روشن و خاموش شوند.

تنها نگته باقی مانده در اینجا این است که در این پروژه ما از portc به عنوان GPIO (ورودی و خروجی ) استفاده کرده ایم و باید به این نکته توجه کنیم که در همچین مواردی و برای اینکه دستگاه به درستی عمل کند بایستی هنگام پروگرم کردن دستگاه فیوزبیت JTAG را غیر فعال (یا همان 1) کنیم .(فیزبیت های AVR  در حالت 1 غیر فعال هستند).


شکل12-فلوچارت نرم افزار

نتایج نهایی و تست پروژه

در ویدیو زیر عملکرد سیستم به صورت کامل شرح داده شده است.


ویدیو1-تست نهایی پروژه

جدول هزینه ها

جدول1: هزینه ها

شمارهنام وسیلهتعدادمحل تهیهقیمت(ریال)
1برد برد2فروشگاه های الکترونیکی موجود در بازار85000
2برد هزار سوراخ1,,30000
3میکروATmega 321,,80000
4LCD-text1,,80000
5ترانزیستور 2N22221,,1000
6ترانزیستور TIP411,,5000
7منبع تغذیه1,,100000
8میکرو سوییچ4,,500
9خازن عدسی 100pf2,,500
10پتاسیم متر50k1,,500
11مقاومت های 10k(4),1k(3)7
500
مجموع


473000

ضمیمه

دیتا شیت Atmega32:

بروی لینک زیر کلیک کنید


دیتا شیت LCD 16*2:

بروی لینک زیر کلیک کنید


دیتا شیت ترانزیستور TIP41:

بروی لینک زیر کلیک کنید


دیتا شیت ترانزیستور 2N2222:

بروی لینک زیر کلیک کنید


دیتا شیت رگولاتور 7805:

بروی لینک زیر کلیک کنید


فایل شماتیک مدار:

بروی لینک زیر کلیک کنید


فایل نرم افزای مدار:

بروی لینک زیر کلیک کنید


فایل فلوچارت نرم افزار مدار:

بروی لینک زیر کلیک کنید