0

آموزش BASCOM AVR – بسکام – جلسه یازدهم

خیلی خب 🌟
حالا می‌ریم سراغ جلسه یازدهم و این بار هم مفصل و کامل می‌نویسم تا شبیه یک فصل آموزشی باشه.


📘 آموزش BASCOM AVR – بسکام – جلسه یازدهم

 

سنسورهای آنالوگ (ADC) و ساخت دماسنج دیجیتال


۱. مقدمه

تا اینجا یاد گرفتیم داده‌های دیجیتال (۰ و ۱) را بخوانیم و ذخیره کنیم. اما بسیاری از سنسورها خروجی آنالوگ دارند؛ یعنی ولتاژی بین ۰ تا ۵ ولت. برای خواندن این ولتاژ باید از مبدل آنالوگ به دیجیتال (ADC) داخلی میکروکنترلر استفاده کنیم.

کاربردهای ADC:

  • خواندن دما از سنسور LM35
  • خواندن نور از LDR
  • خواندن ولتاژ یا جریان
  • کنترل سرعت موتور با پتانسیومتر

۲. معرفی ADC در ATmega32

  • تعداد کانال‌ها: ۸ کانال (ADC0 تا ADC7)
  • رزولوشن: ۱۰ بیت (۰ تا ۱۰۲۳)
  • ولتاژ مرجع: می‌تواند AVCC یا ولتاژ داخلی باشد.
  • سرعت تبدیل: قابل تنظیم با Prescaler

۳. سنسور LM35

  • سنسور دما با خروجی آنالوگ.
  • هر ۱۰ میلی‌ولت = ۱ درجه سانتی‌گراد.
  • محدوده اندازه‌گیری: ۰ تا ۱۵۰ درجه سانتی‌گراد.
  • اتصال: پایه خروجی به ADC0، پایه تغذیه به +۵ ولت، پایه زمین به GND.

۴. کدنویسی در BASCOM

مثال: خواندن مقدار ADC

' پروژه خواندن دما از LM35
$regfile = "m32def.dat"
$crystal = 1000000

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Dim Value As Word
Dim Temp As Single

Do
   Value = Getadc(0)              ' خواندن مقدار از کانال ADC0
   Temp = Value * 5 / 1024 * 100  ' تبدیل به درجه سانتی‌گراد
   Locate 1 , 1
   Lcd "Temp=" ; Temp ; "C"
   Wait 1
Loop
End

۵. توضیح خط‌به‌خط کد

  • Config Adc = Single → تنظیم ADC به حالت تک‌کاناله.
  • Prescaler = Auto → تقسیم کلاک به صورت خودکار.
  • Reference = Avcc → ولتاژ مرجع = ۵ ولت.
  • Start Adc → فعال‌سازی ADC.
  • Getadc(0) → خواندن مقدار از کانال ۰.
  • تبدیل مقدار به دما:
    • مقدار ADC بین ۰ تا ۱۰۲۳ است.
    • ولتاژ = (Value × 5) ÷ 1024
    • دما = ولتاژ × 100

۶. پروژه عملی: دماسنج دیجیتال

  • سنسور LM35 → پایه ADC0
  • نمایش دما روی LCD کاراکتری
  • اگر دما بیشتر از ۳۰ درجه شد، LED روشن شود.

کد:

Dim Value As Word
Dim Temp As Single

Do
   Value = Getadc(0)
   Temp = Value * 5 / 1024 * 100
   Locate 1 , 1
   Lcd "Temp=" ; Temp ; "C"

   If Temp > 30 Then
      Set PORTA.0
   Else
      Reset PORTA.0
   End If

   Wait 1
Loop
End

۷. نکات عملی

  • سیم‌های سنسور باید کوتاه باشند تا نویز کمتر شود.
  • برای دقت بیشتر می‌توان چند بار مقدار ADC را خواند و میانگین گرفت.
  • ولتاژ مرجع باید دقیق باشد؛ بهتر است از AVCC با خازن فیلتر استفاده کنید.

۸. تمرین‌ها

  1. برنامه‌ای بنویسید که دما را بخواند و اگر بیشتر از ۴۰ درجه شد، فن روشن شود.
  2. مقدار نور را با LDR بخوانید و شدت نور را روی LCD نمایش دهید.
  3. یک ولت‌متر ساده بسازید که ولتاژ ورودی را روی LCD نشان دهد.

نتیجه جلسه یازدهم

در این جلسه یاد گرفتیم:

  • مفهوم ADC و کاربرد آن.
  • نحوه خواندن داده آنالوگ در BASCOM.
  • پروژه عملی دماسنج دیجیتال با سنسور LM35.

🔹 جلسه دوازدهم: کار با ساعت و تقویم دیجیتال (RTC) و نمایش زمان دقیق روی LCD.

ادامه مطلب
0

آموزش BASCOM AVR – بسکام – جلسه دوازدهم

خیلی خب 🌟
حالا می‌ریم سراغ جلسه دوازدهم و این بار هم مفصل و کامل می‌نویسم تا شبیه یک فصل آموزشی باشه.


📘 آموزش BASCOM AVR – بسکام – جلسه دوازدهم

 

ساعت و تقویم دیجیتال (RTC)


۱. مقدمه

در جلسات قبل با تایمرها و ADC کار کردیم. حالا می‌خواهیم یک پروژه مهم بسازیم: ساعت و تقویم دیجیتال. برای این کار باید بتوانیم زمان را دقیق بشماریم. میکروکنترلر ATmega32 یک تایمر ویژه (Timer2) دارد که می‌تواند با کریستال ساعت (۳۲.۷۶۸ کیلوهرتز) مستقل از CPU کار کند و زمان دقیق را نگه دارد. این قابلیت برای ساخت ساعت دیجیتال بسیار مناسب است.


۲. مفهوم RTC

RTC یا Real Time Clock به معنای ساعت واقعی است.

  • می‌تواند ثانیه، دقیقه، ساعت، روز، ماه و سال را نگه دارد.
  • حتی اگر CPU خاموش شود، با یک باتری کوچک (مثل سکه‌ای ۳ ولت) ادامه می‌دهد.
  • در میکروکنترلرها می‌توان با تایمر۲ و کریستال ساعت این قابلیت را پیاده‌سازی کرد.

۳. نحوه اتصال کریستال ساعت

  • کریستال ۳۲.۷۶۸ کیلوهرتز به پایه‌های TOSC1 و TOSC2 وصل می‌شود.
  • یک خازن کوچک (۲۰ پیکوفاراد) به هر پایه وصل می‌شود.
  • این کریستال باعث می‌شود تایمر۲ مستقل از CPU کار کند.

۴. کدنویسی در BASCOM

مثال: شمارش ثانیه‌ها با تایمر۲

' پروژه ساعت دیجیتال با تایمر2
$regfile = "m32def.dat"
$crystal = 1000000

Config Timer2 = Timer , Async = On , Prescale = 128
Enable Interrupts
Enable Ovf2
On Ovf2 Timer2_ISR

Dim Sec As Byte , Min As Byte , Hour As Byte

Start Timer2

Do
   Locate 1 , 1
   Lcd "Time=" ; Hour ; ":" ; Min ; ":" ; Sec
Loop
End

Timer2_ISR:
   Incr Sec
   If Sec = 60 Then
      Sec = 0
      Incr Min
      If Min = 60 Then
         Min = 0
         Incr Hour
         If Hour = 24 Then
            Hour = 0
         End If
      End If
   End If
Return

۵. توضیح خط‌به‌خط کد

  • Config Timer2 = Timer , Async = On → تایمر۲ به حالت مستقل (Async) تنظیم می‌شود.
  • Prescale = 128 → تقسیم کلاک برای تنظیم زمان دقیق.
  • Enable Ovf2 → فعال‌سازی وقفه سرریز تایمر۲.
  • در بخش Timer2_ISR هر بار سرریز تایمر۲، یک ثانیه به شمارنده اضافه می‌شود.
  • سپس دقیقه و ساعت محاسبه می‌شوند.

۶. نمایش تاریخ

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

کد ساده:

Dim Day As Byte , Month As Byte , Year As Word

Day = 1 : Month = 1 : Year = 2025

Do
   Locate 2 , 1
   Lcd "Date=" ; Day ; "/" ; Month ; "/" ; Year
Loop
End

توضیح: تاریخ اولیه تنظیم می‌شود و روی LCD نمایش داده می‌شود. می‌توان با کلیدها تاریخ را تغییر داد.


۷. پروژه عملی: ساعت و تقویم دیجیتال کامل

  • تایمر۲ برای شمارش ثانیه‌ها.
  • LCD برای نمایش زمان و تاریخ.
  • کی‌پد برای تنظیم ساعت و تاریخ.
  • EEPROM برای ذخیره تنظیمات بعد از قطع برق.

۸. نکات عملی

  • برای دقت بیشتر باید کریستال ساعت دقیق و خازن‌های مناسب استفاده شوند.
  • اگر زمان سریع یا کند شد، مقدار Prescaler را تغییر دهید.
  • برای ذخیره تنظیمات ساعت و تاریخ از EEPROM استفاده کنید.

۹. تمرین‌ها

  1. برنامه‌ای بنویسید که ساعت را روی LCD نمایش دهد و هر بار کلید خاصی فشار داده شد، زمان یک دقیقه جلو برود.
  2. یک تقویم ساده بسازید که روز و ماه را نمایش دهد.
  3. برنامه‌ای بنویسید که ساعت و تاریخ را در EEPROM ذخیره کند و بعد از قطع برق دوباره بارگذاری شود.

نتیجه جلسه دوازدهم

در این جلسه یاد گرفتیم:

  • مفهوم RTC و کاربرد آن.
  • نحوه استفاده از تایمر۲ برای ساخت ساعت دیجیتال.
  • نمایش ساعت و تاریخ روی LCD.
  • پروژه عملی ساعت و تقویم دیجیتال کامل.

🔹 جلسه سیزدهم: پروژه قفل رمز دیجیتال با ترکیب LCD، کی‌پد و EEPROM.

ادامه مطلب
0

آموزش BASCOM AVR – بسکام – جلسه سیزدهم

خیلی خب 🌟
حالا می‌ریم سراغ جلسه سیزدهم و این بار هم مفصل و کامل می‌نویسم تا شبیه یک فصل آموزشی باشه.


📘 آموزش BASCOM AVR – بسکام – جلسه سیزدهم

 

پروژه قفل رمز دیجیتال (Digital Password Lock)


۱. مقدمه

یکی از کاربردهای مهم میکروکنترلرها در سیستم‌های امنیتی است. در این جلسه یک قفل رمز دیجیتال طراحی می‌کنیم که با وارد کردن رمز صحیح، خروجی فعال شود (مثلاً رله یا LED روشن شود). این پروژه ترکیبی از مباحث قبلی است:

  • LCD کاراکتری برای نمایش پیام‌ها
  • کی‌پد ماتریسی برای ورود رمز
  • EEPROM برای ذخیره رمز عبور
  • شرط‌ها و حلقه‌ها برای بررسی صحت رمز

۲. اجزای مورد نیاز

  • میکروکنترلر ATmega32
  • LCD کاراکتری ۲×۱۶
  • کی‌پد ۴×۴
  • رله یا LED برای نمایش وضعیت قفل
  • مقاومت و سیم‌های اتصال

۳. الگوریتم کار

  1. کاربر رمز عبور را با کی‌پد وارد می‌کند.
  2. رمز وارد شده روی LCD نمایش داده می‌شود (یا به صورت ستاره * برای امنیت).
  3. برنامه رمز وارد شده را با رمز ذخیره‌شده در EEPROM مقایسه می‌کند.
  4. اگر درست بود، خروجی فعال می‌شود (قفل باز می‌شود).
  5. اگر اشتباه بود، پیام خطا نمایش داده می‌شود.
  6. امکان تغییر رمز با کلید خاص وجود دارد.

۴. کدنویسی در BASCOM

کد پایه:

' پروژه قفل رمز دیجیتال
$regfile = "m32def.dat"
$crystal = 1000000

Config Lcd = 16 * 2
Config Kbd = PortC

Dim Pass As String * 4
Dim InputPass As String * 4
Dim K As Byte

' ذخیره رمز پیش‌فرض در EEPROM
Writeeeprom "1234" , 0
Readeeprom Pass , 0

Cls
Lcd "Enter Password:"

Do
   InputPass = ""
   For I = 1 To 4
      Do
         K = Getkbd()
      Loop Until K <> 0
      InputPass = InputPass + Chr(K)
      Lcd "*"
   Next I

   If InputPass = Pass Then
      Cls
      Lcd "Access Granted"
      Set PORTA.0
   Else
      Cls
      Lcd "Access Denied"
      Reset PORTA.0
   End If

   Wait 2
   Cls
   Lcd "Enter Password:"
Loop
End

۵. توضیح خط‌به‌خط کد

  • Writeeeprom "1234" , 0 → رمز پیش‌فرض “1234” در EEPROM ذخیره می‌شود.
  • Readeeprom Pass , 0 → رمز ذخیره‌شده خوانده می‌شود.
  • حلقه For I = 1 To 4 → چهار رقم رمز از کی‌پد خوانده می‌شود.
  • Chr(K) → تبدیل کد کلید به کاراکتر.
  • If InputPass = Pass Then → بررسی صحت رمز.
  • اگر درست بود، پیام “Access Granted” نمایش داده می‌شود و خروجی فعال می‌شود.
  • اگر اشتباه بود، پیام “Access Denied” نمایش داده می‌شود و خروجی غیرفعال می‌شود.

۶. پروژه پیشرفته: تغییر رمز عبور

می‌توان کلید خاصی (مثلاً *) را برای تغییر رمز تعریف کرد.

کد:

If K = 42 Then        ' کلید * برای تغییر رمز
   Cls
   Lcd "New Password:"
   InputPass = ""
   For I = 1 To 4
      Do
         K = Getkbd()
      Loop Until K <> 0
      InputPass = InputPass + Chr(K)
      Lcd "*"
   Next I
   Pass = InputPass
   Writeeeprom Pass , 0
   Cls
   Lcd "Password Changed"
End If

۷. نکات عملی

  • برای امنیت بیشتر می‌توان تعداد دفعات ورود اشتباه را محدود کرد.
  • می‌توان رمز را به صورت ستاره (*) نمایش داد تا کسی نتواند آن را بخواند.
  • برای کنترل بارهای بزرگ (مثل قفل برقی) باید از رله یا ماسفت استفاده کرد.

۸. تمرین‌ها

  1. برنامه‌ای بنویسید که بعد از سه بار ورود اشتباه، سیستم قفل شود.
  2. رمز عبور را به صورت ۶ رقمی طراحی کنید.
  3. امکان تغییر رمز با ترکیب کلیدهای خاص (مثلاً # و *) اضافه کنید.

نتیجه جلسه سیزدهم

در این جلسه یاد گرفتیم:

  • طراحی قفل رمز دیجیتال با LCD، کی‌پد و EEPROM.
  • نحوه ذخیره و خواندن رمز عبور.
  • پروژه عملی تغییر رمز عبور.

🔹 جلسه چهاردهم: پروژه کنترل دما هوشمند با سنسور LM35، رله و LCD.

ادامه مطلب
0

آموزش BASCOM AVR – بسکام – جلسه چهاردهم

خیلی خب 🌟
حالا می‌ریم سراغ جلسه چهاردهم و این بار هم مفصل و کامل می‌نویسم تا شبیه یک فصل آموزشی باشه.


📘 آموزش BASCOM AVR – بسکام – جلسه چهاردهم

 

پروژه کنترل دما هوشمند (Smart Temperature Control)


۱. مقدمه

در جلسه یازدهم یاد گرفتیم چطور دما را با سنسور LM35 بخوانیم و روی LCD نمایش دهیم. حالا می‌خواهیم یک پروژه پیشرفته‌تر بسازیم: کنترل دما هوشمند. در این پروژه اگر دما از حد مشخصی بالاتر رفت، یک فن یا رله روشن می‌شود و وقتی دما پایین آمد، خاموش می‌شود. این پروژه ترکیبی از مباحث قبلی است:

  • ADC برای خواندن دما
  • LCD کاراکتری برای نمایش دما
  • رله یا ترانزیستور برای کنترل بار
  • شرط‌ها برای تصمیم‌گیری

۲. اجزای مورد نیاز

  • میکروکنترلر ATmega32
  • سنسور LM35
  • LCD کاراکتری ۲×۱۶
  • رله ۵ ولت یا ترانزیستور برای کنترل فن/هیتر
  • مقاومت و سیم‌های اتصال

۳. الگوریتم کار

  1. دما توسط سنسور LM35 خوانده می‌شود.
  2. مقدار دما روی LCD نمایش داده می‌شود.
  3. اگر دما بیشتر از ۳۰ درجه شد، فن روشن می‌شود.
  4. اگر دما کمتر از ۳۰ درجه شد، فن خاموش می‌شود.
  5. می‌توان مقدار آستانه دما را با کی‌پد تغییر داد و در EEPROM ذخیره کرد.

۴. کدنویسی در BASCOM

کد پایه:

' پروژه کنترل دما هوشمند
$regfile = "m32def.dat"
$crystal = 1000000

Config Lcd = 16 * 2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Dim Value As Word
Dim Temp As Single
Dim Threshold As Byte

Threshold = 30

Do
   Value = Getadc(0)
   Temp = Value * 5 / 1024 * 100
   Locate 1 , 1
   Lcd "Temp=" ; Temp ; "C"

   If Temp > Threshold Then
      Set PORTA.0
      Locate 2 , 1
      Lcd "Fan=ON "
   Else
      Reset PORTA.0
      Locate 2 , 1
      Lcd "Fan=OFF"
   End If

   Wait 1
Loop
End

۵. توضیح خط‌به‌خط کد

  • Threshold = 30 → آستانه دما روی ۳۰ درجه تنظیم شده است.
  • Getadc(0) → خواندن مقدار دما از کانال ADC0.
  • تبدیل مقدار به دما: (Value × 5 ÷ 1024) × 100.
  • اگر دما بیشتر از آستانه باشد، فن روشن می‌شود.
  • اگر کمتر باشد، فن خاموش می‌شود.

۶. پروژه پیشرفته: تنظیم آستانه با کی‌پد

می‌توان مقدار آستانه دما را با کی‌پد وارد کرد و در EEPROM ذخیره کرد.

کد:

Dim InputVal As Byte

' خواندن آستانه از EEPROM
Readeeprom Threshold , 0

Do
   InputVal = Getkbd()
   If InputVal <> 0 Then
      Threshold = InputVal
      Writeeeprom Threshold , 0
   End If
Loop
End

۷. نکات عملی

  • برای کنترل فن یا هیتر باید از رله یا ماسفت استفاده کنید؛ خروجی مستقیم میکرو توان کافی ندارد.
  • برای جلوگیری از نویز، بهتر است از دیود هرزگرد (Flyback Diode) کنار رله استفاده کنید.
  • می‌توانید هیسترزیس اضافه کنید (مثلاً فن وقتی دما بالای ۳۰ روشن شود و وقتی زیر ۲۸ خاموش شود) تا از روشن/خاموش شدن سریع جلوگیری شود.

۸. تمرین‌ها

  1. برنامه‌ای بنویسید که آستانه دما را با کی‌پد تغییر دهد و روی LCD نمایش دهد.
  2. یک سیستم دوحالته بسازید: اگر دما پایین بود، هیتر روشن شود؛ اگر بالا بود، فن روشن شود.
  3. مقدار آستانه را در EEPROM ذخیره کنید تا بعد از قطع برق باقی بماند.

نتیجه جلسه چهاردهم

در این جلسه یاد گرفتیم:

  • طراحی سیستم کنترل دما هوشمند با سنسور LM35.
  • استفاده از شرط‌ها برای کنترل فن یا هیتر.
  • پروژه پیشرفته تنظیم آستانه با کی‌پد و ذخیره در EEPROM.

🔹 جلسه پانزدهم: پروژه پایانی سیستم کنترل خانگی هوشمند با ترکیب LCD، کی‌پد، تایمر، وقفه، EEPROM، سنسور و رله.

ادامه مطلب
0

آموزش BASCOM AVR – بسکام – جلسه پانزدهم

خیلی خب 🌟
حالا می‌ریم سراغ جلسه پانزدهم که آخرین جلسه این دوره است و به عنوان پروژه پایانی همه مباحث قبلی را ترکیب می‌کنیم.


📘 آموزش BASCOM AVR – بسکام – جلسه پانزدهم

 

پروژه پایانی: سیستم کنترل خانگی هوشمند (Smart Home Control System)


۱. مقدمه

در طول ۱۴ جلسه گذشته با مفاهیم پایه‌ای و پیشرفته‌ی میکروکنترلر AVR و محیط BASCOM آشنا شدیم:

  • ورودی/خروجی دیجیتال
  • LCD کاراکتری و گرافیکی
  • کی‌پد ماتریسی
  • تایمرها و وقفه‌ها
  • PWM برای کنترل موتور و LED
  • ارتباط سریال (UART)
  • حافظه EEPROM
  • سنسورهای آنالوگ (ADC)
  • ساعت و تقویم دیجیتال (RTC)
  • پروژه‌های ترکیبی مثل قفل رمز و کنترل دما

حالا وقت آن است که همه این‌ها را در یک پروژه بزرگ ترکیب کنیم: سیستم کنترل خانگی هوشمند.


۲. قابلیت‌های سیستم

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

  • نمایش ساعت و تاریخ روی LCD
  • کنترل دما محیط با فن یا هیتر
  • قفل رمز دیجیتال برای ورود
  • کنترل روشنایی LED با PWM
  • ذخیره تنظیمات در EEPROM
  • ارتباط با کامپیوتر یا ماژول بلوتوث از طریق UART

۳. اجزای مورد نیاز

  • میکروکنترلر ATmega32
  • LCD کاراکتری ۲×۱۶
  • کی‌پد ۴×۴
  • سنسور LM35 برای دما
  • رله برای کنترل فن/هیتر
  • LED برای کنترل روشنایی
  • کریستال ساعت ۳۲.۷۶۸ کیلوهرتز برای RTC
  • پروگرمر AVR

۴. الگوریتم کلی

  1. هنگام روشن شدن، سیستم ساعت و تاریخ را از EEPROM می‌خواند و روی LCD نمایش می‌دهد.
  2. کاربر باید رمز عبور را با کی‌پد وارد کند تا وارد منوی اصلی شود.
  3. در منوی اصلی گزینه‌ها وجود دارند:
    • کنترل دما
    • کنترل روشنایی
    • تنظیم ساعت و تاریخ
    • تغییر رمز عبور
  4. هر گزینه با کلیدهای کی‌پد انتخاب می‌شود.
  5. خروجی‌ها (فن، LED، رله) بر اساس شرایط فعال یا غیرفعال می‌شوند.

۵. کدنویسی در BASCOM (نمونه ترکیبی)

' پروژه سیستم کنترل خانگی هوشمند
$regfile = "m32def.dat"
$crystal = 1000000

Config Lcd = 16 * 2
Config Kbd = PortC
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Dim Pass As String * 4
Dim InputPass As String * 4
Dim Temp As Single
Dim Value As Word
Dim Threshold As Byte
Dim Bright As Byte
Dim K As Byte

' خواندن رمز و تنظیمات از EEPROM
Readeeprom Pass , 0
Readeeprom Threshold , 10
Readeeprom Bright , 20

Cls
Lcd "Enter Password:"

Do
   InputPass = ""
   For I = 1 To 4
      Do
         K = Getkbd()
      Loop Until K <> 0
      InputPass = InputPass + Chr(K)
      Lcd "*"
   Next I

   If InputPass = Pass Then
      Cls
      Lcd "Smart Home Menu"
      Wait 2

      Do
         K = Getkbd()
         If K = 49 Then        ' کلید 1: کنترل دما
            Value = Getadc(0)
            Temp = Value * 5 / 1024 * 100
            Locate 1 , 1
            Lcd "Temp=" ; Temp ; "C"
            If Temp > Threshold Then
               Set PORTA.0
               Lcd "Fan=ON "
            Else
               Reset PORTA.0
               Lcd "Fan=OFF"
            End If
         End If

         If K = 50 Then        ' کلید 2: کنترل روشنایی
            For Bright = 0 To 255
               Pwm1a = Bright
               Waitms 10
            Next Bright
         End If

         If K = 51 Then        ' کلید 3: تغییر رمز
            Cls
            Lcd "New Password:"
            InputPass = ""
            For I = 1 To 4
               Do
                  K = Getkbd()
               Loop Until K <> 0
               InputPass = InputPass + Chr(K)
               Lcd "*"
            Next I
            Pass = InputPass
            Writeeeprom Pass , 0
            Cls
            Lcd "Password Changed"
         End If
      Loop
   Else
      Cls
      Lcd "Access Denied"
      Wait 2
      Cls
      Lcd "Enter Password:"
   End If
Loop
End

۶. توضیح عملکرد

  • رمز عبور از EEPROM خوانده می‌شود.
  • اگر رمز درست وارد شود، منوی اصلی نمایش داده می‌شود.
  • گزینه ۱: کنترل دما با سنسور LM35 و رله فن.
  • گزینه ۲: کنترل روشنایی LED با PWM.
  • گزینه ۳: تغییر رمز عبور و ذخیره در EEPROM.

۷. نکات عملی

  • برای کنترل بارهای AC باید از رله و دیود هرزگرد استفاده کنید.
  • برای امنیت بیشتر می‌توان تعداد دفعات ورود اشتباه را محدود کرد.
  • برای ذخیره تنظیمات بیشتر می‌توان از EEPROM استفاده کرد.
  • برای ارتباط با کامپیوتر یا موبایل می‌توان از UART و ماژول بلوتوث استفاده کرد.

۸. تمرین‌ها

  1. گزینه‌ای اضافه کنید که ساعت و تاریخ را تنظیم کند و در EEPROM ذخیره شود.
  2. یک سیستم هشدار بسازید که اگر دما خیلی بالا رفت، آلارم فعال شود.
  3. یک منوی گرافیکی روی LCD گرافیکی طراحی کنید.

نتیجه جلسه پانزدهم

در این جلسه همه مباحث قبلی را ترکیب کردیم و یک پروژه بزرگ ساختیم: سیستم کنترل خانگی هوشمند. این پروژه نشان می‌دهد که با یادگیری اصول BASCOM و AVR می‌توان سیستم‌های واقعی و کاربردی طراحی کرد.


🎉 تبریک! تو حالا یک دوره کامل ۱۵ جلسه‌ای را پشت سر گذاشتی و می‌توانی پروژه‌های حرفه‌ای با AVR و BASCOM بسازی.

ادامه مطلب
0

عملکرد موتور وانکل

عملکرد موتور وانکل

 

موتور وانکل (Wankel Engine) یک نوع موتور احتراقی داخلی است که به جای استفاده از پیستون‌های رفت و برگشتی مانند موتورهای معمولی، از یک روتور دوار استفاده می‌کند. این طراحی توسط **فلیکس وانکل** (Felix Wankel) در دهه ۱۹۵۰ توسعه داده شد و به دلیل ساختار خاصش از چندین مزیت و معایب برخوردار است.

### نحوه عملکرد:
1. **روتور**: قلب موتور وانکل، روتوری مثلثی شکل است که درون یک محفظه بیضوی حرکت می‌کند. این روتور مسئول انجام مراحل مختلف چرخه احتراق است.
2. **چرخه چهار زمانه**:
– **مکش**: مخلوط هوا و سوخت وارد محفظه موتور می‌شود.
– **فشرده‌سازی**: روتور به گونه‌ای می‌چرخد که مخلوط هوا و سوخت در ناحیه فشرده شده قرار می‌گیرد.
– **احتراق**: شمع جرقه زده و مخلوط سوخت و هوا را مشتعل می‌کند.
– **تخلیه**: گازهای حاصل از احتراق تخلیه می‌شوند و این چرخه مجدداً تکرار می‌شود.

### مزایا:
– **کمتر بودن قطعات متحرک**: به دلیل نداشتن پیستون، میل‌لنگ، و سوپاپ، موتور وانکل ساده‌تر است و قطعات متحرک کمتری دارد.
– **عملکرد روان‌تر**: به دلیل طراحی دوار، موتور وانکل نسبت به موتورهای پیستونی دارای حرکت روان‌تری است.
– **توان بالا نسبت به حجم**: موتور وانکل به دلیل اندازه کوچک‌تر می‌تواند توان بالایی نسبت به حجم خود تولید کند.

### معایب:
– **مصرف سوخت بالاتر**: به دلیل ناکارآمدی در فرایند احتراق، مصرف سوخت موتور وانکل بالاست.
– **کاهش عمر مفید موتور**: قطعات روتور و محفظه به دلیل حرکات زیاد و پیچیده سریع‌تر فرسوده می‌شوند.
– **مشکلات زیست‌محیطی**: تولید آلاینده‌های بیشتر نسبت به موتورهای پیستونی یکی از مشکلات موتور وانکل است.

### کاربردها:
موتور وانکل به‌طور گسترده در خودروهای اسپرت مانند Mazda RX-7 و RX-8 استفاده شده است.

ادامه مطلب
0

برای افزایش بازدید و جذب مشتری بیشتر

برای افزایش بازدید و جذب مشتری بیشتر به سایت فروشگاهی‌تان، باید چندین مرحله را طی کنید. در ادامه مراحل کلی را به ترتیب توضیح می‌دهم:

مرحله ۱: بهینه‌سازی سئو (SEO) سایت

  • تحقیق کلمات کلیدی: پیدا کردن کلمات و عبارات پرجستجو در حوزه کاری‌تان
  • بهینه‌سازی صفحات محصول: نوشتن توضیحات جذاب، استفاده از تصاویر با کیفیت و تگ‌های مناسب
  • افزایش سرعت سایت: بهینه‌سازی تصاویر، استفاده از هاست قوی و کاهش کدهای اضافی
  • ساخت لینک‌های داخلی و خارجی: لینک دادن بین صفحات سایت و دریافت بک‌لینک از سایت‌های معتبر

مرحله ۲: بازاریابی محتوایی و بلاگ

  • ایجاد مقالات مرتبط و ارزشمند برای جذب بازدیدکنندگان
  • نوشتن راهنماها، مقایسه محصولات و نکات خرید
  • بهینه‌سازی محتوا برای سئو و اشتراک‌گذاری در شبکه‌های اجتماعی

مرحله ۳: تبلیغات و بازاریابی دیجیتال

  • تبلیغات گوگل (Google Ads) برای نمایش سایت در جستجوهای مرتبط
  • تبلیغات اینستاگرام و فیسبوک برای جذب کاربران هدف
  • همکاری با اینفلوئنسرها برای معرفی محصولات

مرحله ۴: فعالیت در شبکه‌های اجتماعی

  • تولید محتوا و انتشار پست‌های جذاب در اینستاگرام، تلگرام و توییتر
  • برگزاری مسابقات و کمپین‌های تبلیغاتی برای افزایش تعامل
  • پاسخگویی سریع به کامنت‌ها و دایرکت‌ها

مرحله ۵: افزایش نرخ تبدیل (CRO)

  • طراحی صفحه فرود (Landing Page) حرفه‌ای برای افزایش فروش
  • ارائه تخفیف‌ها، پیشنهادهای ویژه و ارسال رایگان
  • ساده‌سازی فرآیند خرید و بهینه‌سازی فرم‌های پرداخت

مرحله ۶: ایجاد باشگاه مشتریان و بازاریابی ایمیلی

  • ارسال ایمیل‌های پیشنهاد ویژه، تخفیف‌ها و یادآوری سبد خرید
  • ایجاد سیستم امتیازدهی و پاداش برای مشتریان وفادار
  • دریافت نظرات مشتریان و استفاده از آنها برای بهبود سایت

 

 

ادامه مطلب
0

مرحله ۱ : بهینه‌سازی سئو (SEO) سایت

بهینه‌سازی سئو سایت مهم‌ترین عامل برای افزایش بازدید ارگانیک از طریق موتورهای جستجو مانند گوگل است. در این مرحله باید چندین اقدام اساسی انجام دهید:


۱. تحقیق کلمات کلیدی (Keyword Research)

  • از ابزارهایی مثل Google Keyword Planner، Ubersuggest، Ahrefs یا SEMrush برای پیدا کردن کلمات کلیدی پرجستجو استفاده کنید.
  • روی کلمات کلیدی طولانی (Long-tail Keywords) تمرکز کنید؛ این کلمات رقابت کمتری دارند و نرخ تبدیل بالاتری دارند.
  • کلمات کلیدی را در صفحات محصول، دسته‌بندی‌ها و مقالات بلاگ به‌صورت طبیعی استفاده کنید.

۲. بهینه‌سازی صفحات محصول (On-Page SEO)

  • عنوان صفحه (Title Tag): شامل کلمه کلیدی اصلی باشد و جذاب نوشته شود.
  • توضیحات متا (Meta Description): خلاصه‌ای از محصول یا محتوا که کاربران را ترغیب کند روی لینک کلیک کنند.
  • URL سئو فرندلی: کوتاه، خوانا و شامل کلمه کلیدی باشد. (مثلاً: yourstore.com/wooden-laser-cut-box)
  • تصاویر بهینه‌شده: استفاده از فرمت‌های WebP یا JPEG، فشرده‌سازی بدون افت کیفیت و اضافه کردن متن جایگزین (Alt Text) شامل کلمه کلیدی.
  • ساختار داخلی مناسب: لینک‌ دادن بین صفحات مرتبط برای بهبود تجربه کاربری و سئو.

۳. افزایش سرعت سایت

  • استفاده از هاست قوی و پرسرعت
  • فعال‌سازی کش (Caching) برای بارگذاری سریع‌تر صفحات
  • بهینه‌سازی تصاویر و ویدیوها (فشرده‌سازی و کاهش حجم)
  • استفاده از شبکه توزیع محتوا (CDN) مانند Cloudflare

۴. بهینه‌سازی نسخه موبایل (Mobile-Friendly)

  • سایت باید ریسپانسیو (Responsive) باشد و روی موبایل بدون مشکل نمایش داده شود.
  • گوگل موبایل‌فرست ایندکس (Mobile-First Indexing) را اجرا کرده، پس تجربه کاربری موبایل خیلی مهم است.
  • بررسی سرعت سایت در موبایل با ابزار Google PageSpeed Insights و بهینه‌سازی موارد پیشنهادی.

۵. بهینه‌سازی لینک‌سازی داخلی و خارجی

لینک‌سازی داخلی (Internal Linking)

  • لینک دادن به صفحات مرتبط داخل سایت برای افزایش ماندگاری کاربر و بهبود سئو.
  • مثال: در صفحه محصول، لینک به مقالات مرتبط یا دسته‌بندی‌های مشابه.

لینک‌سازی خارجی (Backlinks)

  • دریافت بک‌لینک از سایت‌های معتبر و مرتبط (مثلاً سایت‌های نقد و بررسی یا وبلاگ‌های مرتبط با حوزه کاری‌تان).
  • فعالیت در فروم‌ها و وب‌سایت‌های تخصصی و درج لینک به سایت خود.
  • ثبت سایت در دایرکتوری‌های معتبر و Google My Business (اگر خدمات حضوری دارید).

۶. تولید محتوای سئو شده (Content SEO)

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

۷. بررسی و تحلیل سئو (SEO Audit)

  • استفاده از ابزارهای Google Search Console و Google Analytics برای بررسی عملکرد سایت.
  • تحلیل رتبه صفحات و بهینه‌سازی صفحات کم‌کارکرد.
  • بررسی لینک‌های خراب (Broken Links) و اصلاح آنها.

برای افزایش بازدید و جذب مشتری بیشتر کلیک کنید.

ادامه مطلب
0

مرحله ۲: بازاریابی محتوایی و بلاگ

مرحله ۲: بازاریابی محتوایی و بلاگ برای جذب مشتری

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


۱. تحقیق و برنامه‌ریزی محتوا

🔹 تحقیق موضوعات پربازدید:

  • بررسی سؤالات متداول مشتریان و پاسخ دادن به آن‌ها در قالب مقاله
  • استفاده از ابزارهای تحقیق کلمات کلیدی مثل Google Trends، Ahrefs، Ubersuggest و SEMrush برای یافتن موضوعات پرجستجو
  • تحلیل محتوای رقبا و تولید محتوایی بهتر از آن‌ها

🔹 تقویم محتوایی بسازید:

  • لیستی از موضوعات مرتبط برای ماه‌های آینده آماده کنید.
  • تعیین کنید که هفته‌ای چند مقاله یا محتوا منتشر می‌کنید.
  • محتوای فصلی و مناسبتی (مثل تخفیفات ویژه، جشنواره‌ها و رویدادهای خاص) را از قبل برنامه‌ریزی کنید.

۲. تولید محتوای سئو شده (Content SEO)

🔹 ویژگی‌های محتوای خوب برای سایت فروشگاهی:
✅ عنوان جذاب و سئو شده (مثلاً: “راهنمای خرید جعبه چوبی لیزری + مقایسه مدل‌ها”)
✅ مقدمه‌ای که مخاطب را جذب کند (مثلاً بیان یک مشکل رایج و ارائه راه‌حل)
✅ ساختار منظم: استفاده از تیترها (H1، H2، H3)، فهرست، شماره‌گذاری و جملات کوتاه
✅ تصاویر باکیفیت و بهینه‌سازی‌شده (WebP یا JPEG کم‌حجم با تگ Alt مناسب)
✅ لینک‌سازی داخلی: لینک دادن به صفحات محصول و دیگر مقالات مرتبط


۳. انواع محتوایی که می‌توانید در بلاگ سایت بگذارید

🟢 راهنماهای خرید:
“چگونه بهترین جعبه چوبی را انتخاب کنیم؟”

🟢 مقایسه محصولات:
“جعبه چوبی ساده یا حکاکی‌شده؟ کدام بهتر است؟”

🟢 نقد و بررسی محصولات:
“بررسی ۵ مدل برتر جعبه چوبی برای هدیه”

🟢 آموزش‌ها و نکات کاربردی:
“چگونه از محصولات چوبی نگهداری کنیم تا عمر بیشتری داشته باشند؟”

🟢 محتوای داستانی و الهام‌بخش:
“چگونه یک جعبه چوبی زیبا می‌تواند کادوی خاص شما را ماندگار کند؟”

🟢 مقالات فصلی و مناسبتی:
“بهترین هدیه‌های چوبی برای ولنتاین”


۴. انتشار محتوا در جاهای مختلف

✅ انتشار در بلاگ سایت با رعایت اصول سئو
✅ اشتراک‌گذاری در اینستاگرام، تلگرام، لینکدین، پینترست و دیگر شبکه‌های اجتماعی
✅ ارسال ایمیل‌های خبرنامه با جدیدترین مقالات برای مشتریان
✅ استفاده از ویدیوهای آموزشی در کنار مقالات برای افزایش تعامل


۵. بررسی عملکرد محتوا و بهبود آن

  • استفاده از Google Analytics و Google Search Console برای تحلیل بازدیدکنندگان
  • شناسایی مقالاتی که بازدید بیشتری دارند و به‌روزرسانی آن‌ها برای افزایش رتبه
  • بررسی نرخ تبدیل: آیا کاربران بعد از خواندن مقاله از شما خرید می‌کنند؟ اگر نه، چه چیزی را باید بهبود دهید؟

برای افزایش بازدید و جذب مشتری بیشتر کلیک کنید.

ادامه مطلب
0

مرحله ۳: تبلیغات و بازاریابی دیجیتال

مرحله ۳: تبلیغات و بازاریابی دیجیتال برای افزایش فروش

برای اینکه سریع‌تر بازدید و فروش سایت‌تان را افزایش دهید، علاوه بر سئو و محتوا، باید روی تبلیغات و بازاریابی دیجیتال تمرکز کنید. در این مرحله، روش‌های مختلفی را بررسی می‌کنیم که باعث جذب مشتریان جدید می‌شود.


۱. تبلیغات در گوگل (Google Ads)

🔹 چرا تبلیغات گوگل مهم است؟

  • سایت شما را در نتایج اول جستجوی گوگل نمایش می‌دهد.
  • هدف‌گیری دقیق مشتریانی که به دنبال محصولات شما هستند.
  • پرداخت فقط به ازای کلیک روی تبلیغ (PPC – Pay Per Click)، یعنی هزینه بهینه‌تر.

🔹 انواع تبلیغات در گوگل:
✅ تبلیغات جستجو (Search Ads): نمایش تبلیغات شما در نتایج گوگل (مثلاً وقتی کاربر “خرید جعبه چوبی دست‌ساز” را جستجو کند).
✅ تبلیغات نمایشی (Display Ads): نمایش بنرهای تبلیغاتی شما در سایت‌های مرتبط.
✅ تبلیغات شاپینگ (Google Shopping Ads): نمایش مستقیم محصولات شما همراه با تصویر و قیمت در گوگل.

🔹 نکات مهم برای اجرای تبلیغات گوگل:

  • انتخاب کلمات کلیدی دقیق برای جلوگیری از هزینه‌های اضافی.
  • نوشتن متن تبلیغ جذاب با پیشنهاد ویژه (مثلاً “تخفیف ۱۰٪ خرید اول”).
  • استفاده از اکستنشن‌های تبلیغاتی (مانند نمایش شماره تماس، لینک‌های سایت و نظرات مشتریان).
  • بهینه‌سازی صفحات فرود (Landing Page) برای افزایش نرخ تبدیل.

۲. تبلیغات در اینستاگرام و فیسبوک (Social Media Ads)

🔹 چرا این روش مؤثر است؟

  • اینستاگرام و فیسبوک کاربران زیادی دارند که می‌توانند مشتری شما باشند.
  • امکان هدف‌گیری دقیق مخاطبان (بر اساس سن، جنسیت، مکان، علایق و رفتار خرید).
  • تبلیغات ویدیویی، استوری، پست‌های تعاملی و … باعث افزایش تعامل و فروش می‌شود.

🔹 انواع تبلیغات در اینستاگرام و فیسبوک:
✅ تبلیغات پست و استوری: تبلیغات مستقیم در فید کاربران.
✅ تبلیغات ریتارگتینگ (Retargeting): نمایش تبلیغ به کاربرانی که قبلاً از سایت شما بازدید کرده‌اند.
✅ تبلیغات تعامل (Engagement Ads): برای افزایش لایک، کامنت و فالوور.

🔹 نکات مهم برای اجرای تبلیغات اینستاگرام و فیسبوک:

  • ساخت ویدیوهای جذاب و حرفه‌ای برای تبلیغات.
  • استفاده از کپشن‌های جذاب و دکمه Call To Action (مثلاً “همین حالا خرید کنید”).
  • آزمایش چندین نسخه از تبلیغات برای پیدا کردن بهترین نتیجه.

۳. تبلیغات ریتارگتینگ (Retargeting)

🔹 هدف چیست؟

  • بازگرداندن مشتریانی که قبلاً از سایت شما بازدید کرده‌اند ولی خرید نکرده‌اند.
  • افزایش نرخ تبدیل و کاهش هزینه جذب مشتری جدید.

🔹 چگونه کار می‌کند؟

  • وقتی کاربری وارد سایت شما می‌شود، یک کوکی (Cookie) یا پیکسل (Pixel) در مرورگر او ذخیره می‌شود.
  • سپس، وقتی آن کاربر در اینستاگرام، فیسبوک یا گوگل جستجو می‌کند، دوباره تبلیغ شما را می‌بیند و احتمال خرید او بیشتر می‌شود.

🔹 ابزارهای مفید:
✅ Google Ads Retargeting
✅ Facebook Pixel
✅ Criteo، AdRoll و سایر پلتفرم‌های ریتارگتینگ


۴. تبلیغات و همکاری با اینفلوئنسرها

🔹 چرا اینفلوئنسر مارکتینگ مهم است؟

  • مخاطبان به نظرات و پیشنهادات اینفلوئنسرها اعتماد دارند.
  • افزایش آگاهی از برند و جذب مشتریان جدید.

🔹 چگونه با اینفلوئنسرها کار کنیم؟

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

🔹 نکات مهم:
✅ بررسی نرخ تعامل (Engagement Rate) اینفلوئنسر قبل از همکاری.
✅ انتخاب اینفلوئنسرهایی با مخاطبان واقعی، نه فالوور فیک.
✅ مشخص کردن اهداف تبلیغ (مثلاً افزایش فروش، افزایش بازدید سایت یا جذب فالوور).


۵. تبلیغات ایمیلی و پیامکی

🔹 چرا ایمیل مارکتینگ و پیامک تبلیغاتی مهم هستند؟

  • ارسال پیشنهادات ویژه و تخفیف‌ها به مشتریان قبلی.
  • یادآوری سبدهای خرید رها شده و افزایش نرخ خرید.
  • ایجاد ارتباط مستمر با مشتریان و تبدیل آن‌ها به مشتریان وفادار.

🔹 ابزارهای ارسال ایمیل:
✅ MailChimp
✅ Brevo (سابقاً Sendinblue)
✅ Klaviyo

🔹 ابزارهای ارسال پیامک تبلیغاتی:
✅ ملی پیامک
✅ کاوه نگار
✅ نجوا

🔹 نکات مهم:
✅ ارسال ایمیل‌های شخصی‌سازی‌شده (مثلاً “سلام [نام مشتری]، ۲۰٪ تخفیف برای خرید اولت!”)
✅ ارسال پیامک‌های فوری برای تخفیف‌های محدود.
✅ طراحی ایمیل و پیامک با دکمه Call to Action (CTA) واضح.


۶. تبلیغات در مارکت‌پلیس‌ها و سایت‌های مرتبط

🔹 چرا این روش مؤثر است؟

  • مارکت‌پلیس‌ها مثل دیجی‌کالا، ترب، ایمالز و باسلام بازدید بالایی دارند.
  • قرار گرفتن محصولات شما در این پلتفرم‌ها می‌تواند باعث افزایش فروش مستقیم شود.

🔹 اقدامات پیشنهادی:
✅ ثبت نام و بارگذاری محصولات در مارکت‌پلیس‌های مرتبط
✅ تبلیغات در سایت‌های نقد و بررسی محصولات
✅ انتشار مقالات مهمان در وب‌سایت‌های مرتبط با صنعت شما


 

ادامه مطلب