معرفی
Atmel tinyAVR MCU تراشههای کوچک بسیار خوبی برای پروژهها هستند، اما اشکالزدایی آنها دشوار است. برخی از تراشههای ATtiny پشتیبانی مستقیم از سریال مبتنی بر سختافزار ندارند و بنابراین شیء سریال در کد شما در دسترس نیست، با این حال، اضافه کردن یک شیء سریال نرمافزار و مشاهده خروجی در Arduino IDE آسان است.
کد موجود در این مقاله از ATtiny85 با کابل USB سریال FTDI TTL-232 برای ارسال یا دریافت اطلاعات استفاده می کند. از آنجایی که به پین های CTR و RTS نیازی نیست، می توان از کابل TTL سریال USB نیز استفاده کرد .
توجه: این کابل برای برنامه ریزی AVR استفاده نمی شود. برای برنامه نویسی ATtiny85 به برنامه نویسی مانند SparkFun Tiny AVR Programmer نیاز دارید.
با استفاده از کتابخانه سریال نرم افزار
استفاده از کتابخانه سریال نرم افزار ساده است . با اطمینان از اینکه عبارت include در بالای طرح شما مشخص شده است شروع کنید. در مرحله بعد، یک شی SoftwareSerial ایجاد کنید که پین RX (پین برای دریافت روی) و پین TX (پین برای ارسال) را هنگام ایجاد نمونه مشخص می کند.
#include <SoftwareSerial.h>
// ***
// *** Define the RX and TX pins. Choose any two
// *** pins that are unused. Try to avoid D0 (pin 5)
// *** and D2 (pin 7) if you plan to use I2C.
// ***
#define RX 3 // *** D3, Pin 2
#define TX 4 // *** D4, Pin 3
// ***
// *** Define the software based serial port. Using the
// *** name Serial so that code can be used on other
// *** platforms that support hardware based serial. On
// *** chips that support the hardware serial, just
// *** comment this line.
// ***
SoftwareSerial Serial(RX, TX);
بقیه اسکچ شامل ارجاعات سریال استاندارد خواهد بود به همان روشی که در اسکچ های خود در سایر بردهای آردوینو عادت دارید.
void setup()
{
// ***
// *** Initialize the Serial port
// ***
Serial.begin(9600);
Serial.println("Initializing...");
}
یک نکته مهم این است که از آنجایی که ATtiny حافظه محدودی دارد، رشته های داخل دستورات Serial.print () خیلی سریع حافظه زیادی مصرف می کنند. این می تواند تعداد عبارات سریال یا مقدار کد و/یا کتابخانه هایی را که می توانید وارد کنید محدود کند. با خلاقیت در نحوه استفاده از مقادیر رشته ها، از رشته ها عاقلانه استفاده کنید.
اتصال USB به کابل سریال
صرف نظر از اینکه از کابل FTDI یا کابل USB به سریال دیگر استفاده می کنید، حداکثر از چهار سیم و حداقل سه سیم استفاده خواهید کرد. سیم هایی که نیاز دارید در زیر توضیح داده شده است.
- 3V3/5V - این سیم اختیاری است و می توان از آن برای تغذیه مدار خود در طول آزمایش استفاده کرد. فقط زمانی می توانید مدار خود را تغذیه کنید که تقاضای فعلی محدود باشد (کمتر از 500 میلی آمپر). این سیم معمولا قرمز است (رنگ ممکن است متفاوت باشد).
- GND - این سیم مورد نیاز است و باید به پایه 4 در ATtiny85 (یا به هر نقطه ای که به عنوان زمین تعیین کرده اید) متصل شود. این سیم معمولا سیاه است (رنگ ممکن است متفاوت باشد).
- TX - این سیم توسط دستگاه خارجی برای ارسال داده به ATtiny85 شما استفاده می شود. این سیم باید به پینی که به عنوان RX تعیین کرده اید، هنگام تنظیم نمونه سریال نرم افزاری خود متصل شود. در کابل های FTDI، این سیم معمولاً نارنجی است . در کابل سریال USB به TTL، این سیم معمولاً روشن است ( رنگ ممکن است متفاوت باشد).
- RX - این سیم توسط دستگاه خارجی برای دریافت اطلاعات از ATtiny85 شما استفاده می شود. این سیم باید به پینی که به عنوان TX تعیین کرده اید، هنگام تنظیم نمونه سریال نرم افزاری خود متصل شود. در کابل های FTDI، این سیم معمولا زرد است . در کابل سریال USB به TTL این سیم معمولاً سفید است (رنگ ممکن است متفاوت باشد).
مدار
مدار در این مقاله نحوه اتصال سنسور دمای Maxim DS18B20 (که از پروتکل Dallas OneWire استفاده می کند) به ATtiny85 و ارسال نتایج از طریق پورت سریال به Arduino IDE نشان می دهد.
با استفاده از برنامه نویس AVR، طرح را روی ATtiny85 بارگذاری کنید. اگر برنامه نویس ندارید، می توانید از Arduino Uno (یا برد مشابه) استفاده کنید. برای کمک به یک یا چند مقاله فهرست شده در زیر نگاهی بیندازید.
- برنامه نویسی ATtiny85 با Arduino Uno در Hackster.io
- کارگاه مجازی: ATTiny85 را با آردوینو برنامه ریزی کنید
- برنامه نویسی ATtiny با آردوینو 1.6 (یا 1.0)
- برنامه نویسی ATtiny با آردوینو 0022
هنگامی که ATtiny85 با طرح برنامه ریزی شد، آن را روی تخته نان قرار دهید و مدار را با ارجاع به شماتیک های پیوست شده بسازید.
در مرحله بعد، کابل سریال را به برد برد وصل کنید. من از یک هدر 6 پین روی بردم استفاده می کنم تا بتوان کابل را به راحتی وصل و جدا کرد. با اتصال کابل، ATtiny اکنون روشن و کار می کند. مرحله بعدی نظارت بر خروجی سریال است.