در ساختار ماشینهای امروزی، معمولا از چیزی بین ۶۰ تا ۱۰۰ عدد سنسور مختلف برای تشخیص و تبادل دادهها استفاده میشود. این را هم اضافه کنید که تولیدکنندگان خودرو دائما در تلاش هستند که ماشینهای تولیدی خود را روز به روز هوشمندتر و پیشرفتهتر کنند. مثلا امکاناتی همچون سیستم ایربگ، …
ادامه نوشته »آموزش FreeRTOS در آردوینو: اجرای پروژهی سادهی LED چشمک زن در بورد Arduino uno با استفاده از FreeRTOS task
RTOS یا سیستم عامل بلادرنگ، سیستم عاملی است که در درون دیوایسهای امبدد وجود دارد. از آنجایی که در این ابزارها زمانبندی اجرای وظایف از اهمیت ویژهای برخوردار است، بلادرنگ بودن سیستم عامل مورد استفاده نیز بالطبع مهم خواهد بود. منظور از بلادرنگ بودن اجرای وظایف این است که مدت …
ادامه نوشته »برقراری ارتباط بین دو بورد آردوینو با استفاده از پروتکل I2C
در آموزشهای قبلی نحوهی استفاده از پروتکل SPI در بوردهای آردوینو را توضیح دادهایم. در این جلسه میخواهیم نوع دیگری از ارتباط سریال در این بوردها یعنی پروتکل ارتباطی Inter Integrated Circuits) I2C) را یاد بگیریم. اگر بخواهیم این دو پروتکل یعنی I2C و SPI را با هم مقایسه کنیم؛ …
ادامه نوشته »توابع پایه مربوط به زمان و وقفه در آردوینو
در این جلسه میخواهیم در مورد توابع پایه مربوط به زمان و وقفه که پیوسته در IDE آردوینو به کار بسته میشوند صحبت کنیم. توابع زمانی تابع ()millis این تابع تعداد میلیثانیههای سپری شده از زمانی که بورد آردوینو شروع به اجرای برنامه جاری کرده است را برمیگرداند. این عدد …
ادامه نوشته »USART در آردوینو Uno
مقدمه Universal Serial Asynchronous Receiver Transmitter یا به اختصار USART یک پروتکل ارتباط سریال است که برای دریافت/ارسال داده به صورت سریال و در یک baud rate مشخص به کار گرفته میشود. قطعات مختلف از جمله GPS ،GSM ،RFID، سنسورها و … به منظور دریافت یا انتقال اطلاعات، باید با …
ادامه نوشته »پینهای GPIO دیجتیال آردوینو
مقدمه پینهای ورودی خروجی همه منظوره (GPIO) پینهای دیجیتال روی یک آیسی میباشند. میتوان از آنها برای ارتباط با دستگاهها به صورت ورودی یا خروجی استفاده کرد. اگر بخواهیم وضعیت یک سوییچ، دادههای سنسور و … را بخوانیم باید پین را به عنوان ورودی پیکربندی کنیم. اگر هدف ما کنترل …
ادامه نوشته »ADC در آردوینو
مقدمه وقتی ارتباط بین سنسورها با میکروکنترلر را برقرار میکنیم، در اکثر موارد خروجی سنسورها ذاتاً آنالوگ میباشد. اما میکروکنترلر تنها سیگنالهای دیجیتالی را پردازش میکند. بنابراین باید از ADC بین سنسور و میکروکنترلر استفاده کنیم. ADC سیگنال آنالوگ را به دیجیتال تبدیل کرده و تحویل میکروکنترلر میدهد. ADC کاربردهای …
ادامه نوشته »تایمر سگ نگهبان با آردوینو
بورد آردوینو Uno یک چیپ ATmega328P را به عنوان واحد کنترل کننده در قلب خود دارد. ATmega328P دارای یک تایمر سگ نگهبان (Watchdog Timer) است. این تایمر در سناریوهایی که سیستم در اثر وجود خطا در کد نوشته شده هنگ کرده و فریز میشود و یا در شرایطی که مشکلات …
ادامه نوشته »PWM در آردوینو
مقدمه مدلاسیون پهنای پالس (PWM) تکنیکی است که در آن فرکانس ثابت نگه داشته شده و پهنای پالس تغییر میکند. این مدولاسیون روشی برای تولید سیگنال آنالوگ با استفاده از یک منبع دیجیتال میباشد. یک سیگنال PWM شامل دو مولفه اساسی به نامهای duty cycle و فرکانس است که رفتارش …
ادامه نوشته »I2C آردوینو
مقدمه Inter-Integrated Circuit یا به اختصار I2C یک پروتکل ارتباطی سریال میباشد. این پروتکل two wire interface) TWI) نیز نامیده میشود زیرا از دو سیم برای برقراری ارتباط استفاده میکند. این دوسیم SDA (داده سریال) و SCL (کلاک سریال) میباشند. I2C یک پروتکل ارتباطی مبتنی بر تایید (acknowledgment-based) میباشد، بدین …
ادامه نوشته »اتصال LCD (نمایشگر کریستال مایع) ۱۶*۲ به آردوینو
در این آموزش، مروری بر مراحل اتصال یک LCD 16*2 ساده به آردوینو خواهیم داشت. کارهای زیادی هست که میتوان با یک LCD (نمایشگر کریستال مایع) انجام داد، این نمایشگر یک دستگاه کوچک مفید برای یادگیری و برقراری ارتباط میباشد. میدانید که اکثر بوردهای LCD بدون پین هدر عرضه میشوند …
ادامه نوشته »توابع پایه مرتبط با ارتباط سریال در آردوینو
در این جلسه برخی از توابع پایه مرتبط با ارتباط سریال، که پیوسته در IDE آردوینو استفاده میشوند را با هم ملاحظه میکنیم. USART تابع (Serial.begin(baud_rate Baud_rate: باودریتی که برای ارتباط سریال استفاده میشود. میتواند ۴۸۰۰، ۹۶۰۰، ۱۴۴۰۰، ۱۹۲۰۰ و … باشد. این تابع برای تعریف باودریت مورد استفاده در …
ادامه نوشته »اضافه کردن کتابخانه جدید به آردوینو و استفاده از آن
اجازه دهید نحوهی اضافه کردن یک کتابخانه برای ماژول MPU6050 (ژیروسکوپ + شتابسنج + دماسنج) را با هم مشاهده کنیم. در اینجا، ما از کتابخانه MPU6050 آقای Kornelisuz Jarzebski از گیتهاب استفاده میکنیم. کتابخانه را از اینجا دانلود کنید. کتابخانه را دانلود کرده و از حالت فشرده خارج کنید و …
ادامه نوشته »توابع GPIO آردوینو (توابع پایه)
میخواهیم چند تابع پایه مربوط به راهاندازی آردوینو و GPIO که پیوسته در IDE آردوینو استفاده میشوند را با هم مرور کنیم. توابع شروع به کار ()setup این تابع در آغاز اسکچ فراخوانی میشود. این تابع برای آغاز و مقداردهی اولیه متغیرها، مد پینها و … استفاده میشود. این تابع …
ادامه نوشته »پروتکل CAN Bus در آردوینو با آیسی MCP2515
در این پروژه، میخواهیم با ماژول MCP2515 که یک CAN controller است آشنا شویم و یاد بگیریم که چگونه این ماژول را به بورد آردوینو متصل کنیم. همچنین اینکه چگونه با استفاده از این ماژول و پروتکل CAN، بین دو بورد آردوینو ارتباط برقرار کنیم. فهرست مطالبی که در این …
ادامه نوشته »