معرفی آردوینو Arduino UNO
آردوینو یک بسته سخت افزاری/نرم افزاری متن باز است که برای ساخت پروژههای الکترونیکی استفاده میشود. این بسته شامل یک برد کامپیوتری با پردازنده ATmega328P و یک محیط برنامهنویسی مبتنی بر زبان سی و سی پلاس پلاس میشود. برد آردوینو معمولاً به عنوان یک برد توسعهیافته برای ساخت پروژههای الکترونیکی با استفاده از میکروکنترلرهای AVR و ARM استفاده میشود.برد آردوینو با پردازنده ATmega328P که یک پردازنده 8 بیتی است، به سرعتی بیشتر از بسیاری از میکروکنترلرهای دیگر کار میکند.برد آردوینو میتواند با استفاده از افزونههایی مانند شیلد Ethernet به اینترنت متصل شود و از طریق اینترنت با سایر دستگاهها ارتباط برقرار کند. برد آردوینو دارای ورودیها و خروجیهای مختلفی است که میتواند با دستگاههای مانند سنسورها، رلهها و سرووموتورها ارتباط برقرار کند. محیط برنامهنویسی آردوینو برای برنامهنویسی با زبان سی و سی پلاس پلاس طراحی شده است. این محیط بسیار ساده و کاربرپسند است و به کاربران کمک میکند تا پروژههای خود را با سرعت بیشتری توسعه دهند.
ویژگی های برد آردوینو UNO
- پردازنده: ATmega328P
- ولتاژ کاری: 5 ولت
- ولتاژ ورودی: 7 تا 12 ولت
- ولتاژ ورودی حداکثر: 20 ولت (با استفاده از جک تغذیه خارجی)
- جریان خروجی دیجیتال: 20 میلی آمپر برای هر پین
- جریان خروجی آنالوگ: 50 میلی آمپر برای هر پین
- پینهای دیجیتال: 14 (از جمله 6 پین با قابلیت PWM)
- پینهای آنالوگ: 6
- حافظه فلش: 32 کیلوبایت (از جمله 0.5 کیلوبایت برای بوتلودر)
- SRAM: 2 کیلوبایت
- EEPROM: 1 کیلوبایت
- سرعت بالای انتقال سریال: 9600 تا 115200 بیت بر ثانیه
- ابعاد: 68.6 × 53.4 میلیمتر
- وزن: 25 گرم
بررسی پایه های برد آردوینو UNO
برد آردوینو Uno دارای پایههایی است که به عنوان ورودی یا خروجی برای ارتباط با دستگاههای خارجی یا اتصال سنسورها و ماژولهای الکترونیکی به برد استفاده میشوند. پایههای آنالوگ برای اتصال سنسورهای آنالوگ به برد استفاده میشوند و برای اینکه میتواند مقادیر آنالوگ را اندازه گیری کند، به تبدیل آنالوگ به دیجیتال (ADC) مجهز است. پایههای آنالوگ برد Uno از A0 تا A5 شمارهگذاری شدهاند.پایههای دیجیتال برای ارتباط با دستگاههای دیجیتال و کنترل خروجیهای دیجیتالی استفاده میشوند. همچنین برای استفاده از PWM برای کنترل سرعت موتورها و روشنایی LED ها نیز مورد استفاده قرار میگیرند. پایههای دیجیتال برد Uno از D0 تا D13 شمارهگذاری شدهاند.پایههای تغذیه برای اتصال منبع تغذیه به برد و تامین برق لازم برای برد و قطعات وابسته به آن مورد استفاده قرار میگیرند. پایه تغذیه برد Uno از VIN و GND شمارهگذاری شدهاند.پایههای ارتباطی برای ارتباط با دستگاههایی مانند سریال (Serial)، SPI و I2C استفاده میشوند. پایههای ارتباطی برد Uno شامل RX و TX برای ارتباط سریال و پایههای SDA و SCL برای ارتباط با شبکههای I2C و پایههای MOSI، MISO و SCK برای ارتباط با دستگاههایی مانند SPI کار میکنند.
چه اقلامی در کیت آردوینو باکس موجود است؟
کیت آردوینوباکس با هدف یادگیری آردوینو Arduino و اجرای پروژه های کاربردی برای یادگیری برنامه نویسی و فانکشن های آردوینو طراحی شده است. یادگیری آردوینو وابسته به دانش برنامه نویسی سی پلاس پلاس است. اما آموزش پروژه محور در یادگیری آردوینو تاثیر به سزایی دارد. در این کیت از برد آردوینو ARDUINO UNO R3 به همراه شیلد پروتوتایپ برای آردوینو قرار گرفته شده است. مزیت استفاده از شیلد پروتوتایپ در 5 عدد پایه VCC , GND است که تا 5 سنسور را میتوانید به شیلد برای اتصال تغذیه متصل کنید.
- برد آردوینو ARDUINO UNO R3
- شیلد پروتوتایپ آردوینو
در این کیت از 15 سنسور با ماهیت و کاربری متفاوت استفاده شده است تا تجربه ی استفاده از انواع پروتکل های کاربردی در برنامه نویسی آردوینو را آغاز و تمرین کنید. سنسورهای قرار گرفته شده در کیت به صورت زیر است.
- سنسور دما رطوبت DHT11
- سنسور مادون قرمز IR FC-51
- سنسور تاچ TOUCH
- سنسور آلتراسونیک
- سنسور میکروفن
- سنسور فتوسل
- سرو موتور SG90
برای نمایش داده های دریافتی از هر سنسور یک نمایشگر OLED با درایور SSD1306 در کیت قرار گرفته شده است. ابعاد نمایشگر 0.96 اینچ است و کتابخانه روش نصب تا اجرا از آردوینو پشتیبانی میکند.
- نمایشگر OLED SSD1306
تجهیزات جانبی کیت آردوینوباکس شامل یک عدد کابل نری به مادگی 10 سانتی متری، یک عدد مینی بردبورد و کابل تایپ B مخصوص آردوینو و جعبه مخصوص برای نگهداری قطعات است. در صورت نیاز همراه با کیت پک 3 عددی کابل فلت 20 سانتی متری تهیه کنید.
- مینی برد بورد رنگی
- پک 3 عددی کابل فلت 20 سانتی متری
- کابل USB TO TYPE B
- جعبه مخصوص نگهداری قطعات
یک فایل پی دی اف PDF برای آموزش راه اندازی قطعات همراه با کیت ارائه داده شده است. با انتخاب گزینه همراه با فایل پی دی اف آموزش های لازم برای شروع کار و روش استفاده از سنسورها در اختیار کاربران قرار گرفته میشود.
راه اندازی سنسور DHT11 با آردوینو
در این کد، ابتدا کتابخانه DHT را اضافه میکنیم که امکان ارتباط با سنسور DHT11 را فراهم میکند. سپس پین دیجیتالی به کدام سنسور DHT11 متصل است را تعریف میکنیم و یک شی DHT برای برقراری ارتباط با سنسور ایجاد میکنیم.در تابع setup()، ارتباط سریال با سرعت baud 9600 را برای اهداف اشکال زدایی اولیه ایجاد میکنیم.در تابع loop()، تابع read11() شی DHT را صدا میزنیم تا دادهها از سنسور خوانده شوند. سپس مقادیر رطوبت و دما را با استفاده از توابع Serial.print() و Serial.println() در مانیتور سریال چاپ میکنیم.در نهایت، با استفاده از تابع delay()، به اندازه 2 ثانیه منتظر میمانیم تا دادههای جدیدی از سنسور خوانده شوند.
#include <dht.h>
#define DHTPIN 2 // Define the digital pin to which the DHT11 is connected
dht DHT; // Create a DHT object to communicate with the sensor
void setup() {
Serial.begin(9600); // Initialize serial communication for debugging
}
void loop() {
int chk = DHT.read11(DHTPIN); // Read data from the DHT11 sensor
Serial.print("Humidity: "); // Print the humidity value
Serial.print(DHT.humidity);
Serial.print("%");
Serial.print(" | Temperature: "); // Print the temperature value
Serial.print(DHT.temperature);
Serial.println("°C");
delay(2000); // Wait for 2 seconds before taking the next reading
}
راه اندازی سنسور فاصله سنج SRF04 با آردوینو
در این کد، ابتدا پایه های دیجیتالی که پین تریگر و اکو سنسور SRF04 به آنها وصل شدهاند را تعریف میکنیم. تابع setup()، ابتدا ارتباط سریال با سرعت بودریت 9600 برای اهداف اشکالزدایی را مقداردهی اولیه میکنیم. سپس پین تریگر را به عنوان یک خروجی و پین اکو را به عنوان یک ورودی تعریف میکنیم.در تابع loop()، ابتدا دو متغیر برای ذخیره مقدار زمان و فاصله تعریف میکنیم. سپس با تنظیم پین تریگر به مدت 10 میکروثانیه به حالت بالا و سپس دوباره به حالت پایین، سیگنال تریگر را به سنسور SRF04 ارسال میکنیم. سپس از تابع pulseIn() برای خواندن طول پالس اکو استفاده میکنیم که زمانی که سیگنال اولتراسونیک از سنسور به شیء و برگشت به سنسور سفر میکند را برای ما محاسبه میکند. این زمان را میتوانیم برای محاسبه فاصله تا شیء به سانتیمتر استفاده کنیم.در نهایت، با استفاده از توابع Serial.print() و Serial.println()، مقدار فاصله را به مانیتور سریال چاپ میکنیم. ما یک تابع delay() را هم اضافه میکنیم تا 1 ثانیه قبل از گرفتن خواندنی بعدی از سنسور منتظر بمانیم.
#define trigPin 9 // Define the digital pin for the trigger pin of the SRF04 sensor
#define echoPin 10 // Define the digital pin for the echo pin of the SRF04 sensor
void setup() {
Serial.begin(9600); // Initialize serial communication for debugging
pinMode(trigPin, OUTPUT); // Set the trigger pin as an output
pinMode(echoPin, INPUT); // Set the echo pin as an input
}
void loop() {
long duration, distance; // Define variables to store the duration and distance values
digitalWrite(trigPin, LOW); // Set the trigger pin to low for 2 microseconds
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // Set the trigger pin to high for 10 microseconds
delayMicroseconds(10);
digitalWrite(trigPin, LOW); // Set the trigger pin to low again
duration = pulseIn(echoPin, HIGH); // Read the duration of the echo pulse
distance = duration / 58.2; // Calculate the distance in centimeters
Serial.print("Distance: "); // Print the distance value to the serial monitor
Serial.print(distance);
Serial.println(" cm");
delay(1000); // Wait for 1 second before taking the next reading
}
راه اندازی سنسور تاچ با آردوینو
در این کد، ابتدا پین دیجیتالی مورد نیاز برای اتصال سنسور لمسی تعریف شده و یک متغیر جهت ذخیره وضعیت سنسور تعریف میشود.در تابع loop()، با استفاده از تابع digitalRead() وضعیت سنسور تاچ را خوانده و پس از تاچ سنسور (یعنی وضعیت آن برابر با HIGH باشد) با استفاده از تابع Serial.println() یک پیام را به سریال مانیتور چاپ میکنیم. سپس با اضافه کردن تابع delay() به مدت 100 میلی ثانیه، منتظر میمانیم تا مجدد وضعیت سنسور تاچ را بخوانیم.
const int touchPin = 2; // Define touch sensor pin
int touchState = 0; // Initialize touch state variable
void setup() {
Serial.begin(9600); // Initialize serial communication
pinMode(touchPin, INPUT); // Set touch pin as input
}
void loop() {
touchState = digitalRead(touchPin); // Read the touch sensor state
if (touchState == HIGH) { // If touch sensor is pressed
Serial.println("Touch sensor is pressed!"); // Print message to serial monitor
}
delay(100); // Wait for 100 milliseconds before checking again
}
راه اندازی نمایشگر OLED با آردوینو
در این کد کتابخانه های Adafruit_GFX.h و Adafruit_SSD1306.h فراخوانی میکنیم. ما پین OLED_RESET را به پین 4 تعریف می کنیم و همچنین عرض و ارتفاع صفحه نمایش را تعریف می کنیم.در تابع setup()، ما با استفاده از تابع begin() صفحه نمایش را مقداردهی اولیه می کنیم و با استفاده از تابع clearDisplay() بافر نمایش را پاک می کنیم. سپس اندازه و رنگ متن را با استفاده از توابع setTextSize() و setTextColor() تنظیم می کنیم. ما موقعیت نشانگر را با استفاده از تابع setCursor() تعیین می کنیم و "سلام" و "دنیا!" را در خطوط جداگانه با استفاده از تابع println() چاپ می کنیم.
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
// Initialize the OLED display
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
// Clear the display buffer
display.clearDisplay();
// Set the text size and color
display.setTextSize(1);
display.setTextColor(WHITE);
// Display a welcome message
display.setCursor(0, 0);
display.println("Hello,");
display.setCursor(0, 10);
display.println("world!");
display.display();
}
void loop() {
// Do nothing in the loop
}
راه اندازی سرو موتور SG90 با آردوینو
جهت راه اندازی سرو موتور در ابتدا کتابخانه را فراخوانی میکنیم. سپس برنامه ای مینویسیم که سرو در حرکت اول از زاویه 0 تا زاویه 180 درجه شافت آن تغییر کند و سپس از زاویه 180 به زاویه 0 بازگردد. این حرکت با تاخیر 15 میلی ثانیه مدام تکرار میشود.
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
راه اندازی سنسور مادون قرمز FC51 با آردوینو
در این کد، پینهای دیجیتالی که خروجی سنسور FC-51 و LED به آنها متصل شدهاند، تعریف میشوند. ما ارتباط سریال را در سرعت بودریت ۹۶۰۰ برقرار میکنیم.در تابع حلقه، از تابع digitalRead() برای خواندن وضعیت سنسور FC-51 استفاده میکنیم. اگر سنسور فعال شود (یعنی وضعیت آن برابر با HIGH باشد)، LED را روشن میکنیم و پیامی را به مانیتور سریال چاپ میکنیم. اگر سنسور فعال نشود، LED را خاموش میکنیم. همچنین، ۱۰۰ میلی ثانیه تاخیر اضافه میکنیم تا شناساییهای چندگانه را جلوگیری کنیم.
int ledPin = 13; // LED connected to digital pin 13
int sensorPin = 2; // FC-51 sensor output connected to digital pin 2
int sensorState; // variable to store the sensor state
void setup() {
pinMode(ledPin, OUTPUT); // set the LED pin as an output
pinMode(sensorPin, INPUT); // set the sensor pin as an input
Serial.begin(9600); // initialize serial communication
}
void loop() {
sensorState = digitalRead(sensorPin); // read the sensor state
if (sensorState == HIGH) { // if the sensor is triggered
digitalWrite(ledPin, HIGH); // turn on the LED
Serial.println("Motion detected!"); // print a message to the serial monitor
} else { // if the sensor is not triggered
digitalWrite(ledPin, LOW); // turn off the LED
}
delay(100); // delay to avoid multiple detections
}
راه اندازی سنسور میکروفن با آردوینو
در این کد، ابتدا پین ورودی آنالوگی را که سنسور میکروفون به آن متصل شده است تعریف می کنیم. همچنین مقدار آستانه برای تشخیص، که می تواند با توجه به حساسیت میکروفون تنظیم شود، تعیین می کنیم.در تابع setup()، برای اهداف اشکال زدایی، ارتباط سریال با سرعت بودری 9600 را مقدار دهی اولیه می کنیم.در تابع loop()، مقدار آنالوگی از میکروفون با استفاده از تابع analogRead() خوانده می شود. اگر مقدار بالاتر از آستانه باشد، با استفاده از تابع Serial.println() پیامی را به مانیتور سریال چاپ می کنیم. ما تابع delay() را اضافه می کنیم تا نصف ثانیه قبل از تشخیص صدا دیگر منتظر بمانیم. این تاخیر می تواند برای تغییر نرخ تشخیص تنظیم شود.
const int MIC_PIN = A0; // define the analog input pin for microphone
int threshold = 550; // set the threshold value for detection
void setup() {
Serial.begin(9600); // initialize serial communication at 9600 bits per second
}
void loop() {
int micValue = analogRead(MIC_PIN); // read the analog value from the microphone
if (micValue > threshold) { // if the value is above the threshold
Serial.println("Sound detected!"); // print a message to the serial monitor
delay(500); // wait for half a second before detecting again
}
}
راه اندازی سنسور فتوسل با آردوینو
در این کد، ابتدا پین ورودی آنالوگی که حسگر میکروفون به آن متصل شده است را تعریف میکنیم. همچنین، یک مقدار آستانه برای تشخیص تندی صدا تعیین میکنیم که میتواند با توجه به حساسیت میکروفون تنظیم شود.در تابع setup()، ارتباط سریال با سرعت baud rate 9600 برای اهداف اشکال زدایی را شروع میکنیم.در تابع loop()، با استفاده از تابع analogRead() مقدار آنالوگ از میکروفون را میخوانیم. اگر مقدار بالاتر از آستانه باشد، با استفاده از تابع Serial.println() پیامی را در مانیتور سریال چاپ میکنیم. ما تابع delay() را برای صبر نیم ثانیه قبل از شناسایی مجدد صدا اضافه میکنیم. این تاخیر میتواند برای تغییر نرخ تشخیص استفاده شود.
const int MIC_PIN = A0; // define the analog input pin for microphone
int threshold = 550; // set the threshold value for detection
void setup() {
Serial.begin(9600); // initialize serial communication at 9600 bits per second
}
void loop() {
int micValue = analogRead(MIC_PIN); // read the analog value from the microphone
if (micValue > threshold) { // if the value is above the threshold
Serial.println("Sound detected!"); // print a message to the serial monitor
delay(500); // wait for half a second before detecting again
}
}
راه اندازی ال ای دی و میکروسوییچ با آردوینو
در این کد، ابتدا پینهایی که سوییچ و LED به آنها متصل هستند را تعریف میکنیم و وضعیت سوییچ را خاموش مقداردهی اولیه میکنیم. در تابع setup()، پین سوییچ را با مقاومت داخلی pull-up به عنوان ورودی تنظیم میکنیم، پین LED را به عنوان خروجی تعریف کرده و ارتباط سریال را مقداردهی اولیه میکنیم.در تابع loop()، با استفاده از تابع digitalRead() وضعیت سوییچ را خوانده و اگر سوییچ فشرده شده باشد (یعنی وضعیت آن HIGH باشد) با استفاده از تابع digitalWrite() LED را روشن میکنیم و با استفاده از تابع Serial.println() یک پیام به مانیتور سریال چاپ میکنیم. در صورتی که سوییچ فشرده نباشد، با استفاده از تابع digitalWrite() LED را خاموش میکنیم.
const int SWITCH_PIN = 2; // connect switch to pin 2
const int LED_PIN = 3; // connect LED to pin 3
bool switchState = false; // initialize switch state as off
void setup() {
pinMode(SWITCH_PIN, INPUT_PULLUP); // set switch pin as input with internal pullup resistor
pinMode(LED_PIN, OUTPUT); // set LED pin as output
Serial.begin(9600); // initialize serial communication
}
void loop() {
switchState = digitalRead(SWITCH_PIN); // read the state of the switch
if (switchState == HIGH) { // if the switch is pressed
digitalWrite(LED_PIN, HIGH); // turn on the LED
Serial.println("Switch is pressed!"); // print a message to the serial monitor
} else { // if the switch is not pressed
digitalWrite(LED_PIN, LOW); // turn off the LED
}
}
آیا آردوینو فقط مصرف آموزشی دارد یا در صنعت هم قابل استفاده است؟
این سوال چالشی ترین سوال تا به امروز است. کسانی که از ابتدا در مسیر تولید و طراحی بردهای الکترونیکی بوده اند با ساختار چنین بردهایی با ابهامات زیادی رو به رو هستند و چالش های زیادی را در این مسیر مشاهده میکنند. اما نباید هدف اصلی طراحی این بردها را فراموش کرد. در سال 2022 هستیم و تا همین امروز کمپانی آردوینو جدیدترین بردش را در PLC معرفی کرده است. برد جدید با نام OPTA اولین micro PLC با ظرفیت Industrial IoT است که ورود به دنیای صنعتی را به صورت رسمی آغاز کرده است. این برد از LD , FBD در رده فوق صنعتی بهره برده است. دیگر بردهای خانواده آردوینو با نام NANO 33 با هدف اجرای پروژه های اینترنت اشیا IoT طراحی شده است و با تمامی پلتفرم های IoT سازگاری دارد و اکثرا در ساخت بردها از سنسورهای داخلی قدرتمندی استفاده شده است.
از کجا آردوینو را یاد بگیرم؟
برای یادگیری آردوینو بایستی علاقه به الکترونیک و برنامه نویسی را داشته باشید تا بتوانید در اجرای پروژه ها قدم بردارید. قطعا در ابتدای مسیر تمامی مباحث برای شما جدید خواهد بود. هدف فقط نمایش داده نیست! طی کردن مسیر ایده تا اجرا جذابیت عمیقی دارد. نمایش خطا در کدنویسی شاید ناخوشایند باشد اما در پس هر خطا یک درس جدید نهفته است. شاید اتصالات ماژول ها و سنسورها پیچیده و ترسناک ( ترس خراب شدن ) باشد اما با یادگیری هر اتصال یک درس الکترونیکی یاد میگیریم پس نباید این فرصت یادگیری را از خود دریغ کنیم. این حرکت یک اقدام دو طرفه است و باید با هم در یک راستا حرکت کنیم.ما در خط پایان ایستاده ایم و در این «مسیر کدنویسی تا الکترونیک» در کنار شما مثل یک مربی هستیم . تلاش میکنیم تا تجربه ی متفاوتی را برای یادگیری کسب کنید. به همین دلیل تیم دیجی اسپارک با تجربه ای پس از سال ها برگزاری دوره های آردوینو به صورت حضوری در دانشگاه ها و آموزشگاه های خصوصی تا آموزش به صورت برخط ( آنلاین ) از سراسر ایران آموزش های متعددی را به زبان فارسی برای شما تولید کرده است تا بتوانید هر زمان در هر موقعیتی برای یادگیری اقدام کنید. تمامی آموزش ها در لینک زیر قرار گرفته شده است و به صورت رایگان به آن ها دسترسی دارید.
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- سطح تجربه مورد نیاز
- مبتدی
- نوع ال ای دی
- ال ای دی 5 میلی متری
- ولتاژ مورد نياز
- 5 ولت USB
- طول کابل
- 10 سانتی متری
- تعداد پایه ها
- دارای 14 پایه دیجیتال و 6 پایه آنالوگ
- میکروفن
- دارد
- سنسور
- IR, LDR, Ultrasonic, Microphone, Touch
- ارتباط UART
- دارد
- پردازنده
- ARM
- معماری پردازنده
- Atmega328P
- موتور
- دارای سرو موتور
- وضعیت لوازم جانبی
- کابل و مینی برد بورد
- نوع LCD
- OLED SSD1306
- سنسور IR
- دارد
- بیزر Buzzer
- دارد
- آموزش راه اندازی
- دارای آموزش راه اندازی (خودآموز)
- فرمت آموزش
- آموزش متنی PDF
- نوع کیت
- بر پایه برد Arduino
- نسخه آردوینو
- آردوینو Uno
- نوع نمایشگر
- نمایشگر OLED
- SWDCLK- پین ساعت SWD
- SWDIO- پین داده SWD
- SWDRST - پین ریست SWD
- میکروپایتون: از زبان برنامه نویسی پایتون استفاده می کند که خواندن و نوشتن آن آسان است و برای مبتدیان مناسب تر است.
- آردوینو: از زبان برنامه نویسی مبتنی بر C++ استفاده می کند که پیچیده تر است و به دانش برنامه نویسی بیشتری نیاز دارد.
- میکروپایتون: می تواند بر روی بردهای مختلف میکروکنترلر، از جمله ESP8266، ESP32 و Raspberry Pi Pico اجرا شود.
- آردوینو: پلتفرمی با مجموعه ای از بردهای توسعه خود است که هر کدام ویژگی ها و قابلیت های خاص خود را دارند.
- میکروپایتون: به طور پیش فرض از بسیاری از کتابخانه های مفید مانند GPIO، ADC، PWM، I2C، SPI و Wi-Fi پشتیبانی می کند.
- آردوینو: برای استفاده از بسیاری از این کتابخانه ها، نیاز به نصب کتابخانه های خارجی دارید.
- میکروپایتون: جامعه ای رو به رشد دارد، اما به اندازه جامعه آردوینو بزرگ نیست.
- آردوینو: جامعه ای بزرگ و فعال با پشتیبانی گسترده و منابع آموزشی فراوان دارد.
- میکروپایتون: به طور کلی سریعتر از آردوینو است.
- آردوینو: برای پروژه های مبتنی بر الکترونیک و سخت افزار مناسب تر است.
- سطح تجربه شما در برنامه نویسی: اگر مبتدی هستید، میکروپایتون انتخاب آسان تری است.
- نوع پروژه ای که می خواهید انجام دهید: اگر به دنبال پروژه ای مبتنی بر الکترونیک هستید، آردوینو انتخاب مناسب تری است.
بله، همانطور که در تصویر کالا هم مشخص است، خازن و رگولاتور LM2596 در این کیت قرار دارند.
جهت دسترسی به پروژههای آردوینو از سایت دیجی اسپارک استفاده کنید. طی سالیان گذشته تا به امروز هر روز آموزشهای جدید در جهت توسعه و یادگیری برنامهنویسی آردوینو منتشر شده است. همچنین در سایت دانشجوکیت در بخش کیتهای آردوینو و پروژه های آردوینو، پروژههای متنوعی در اختیار کاربران قرار گرفته شده است تا به روزترین آموزشها را دریافت کنن.
// تعریف تابع
void myFunction() {
// بدنه تابع (کد اجرایی)
}
void setup() {
// کد تنظیمات...
}
void loop() {
// کد اجرایی...
myFunction(); // فراخوانی تابع
}
میکروپروسسور یک تراشه کلی است که اجزای مختلف سیستم را در خود جای داده است، در حالی که میکروکنترلر، یک نوع ویژه از میکروپروسسور است که اجزای کنترلی و ورودی/خروجی را برای اجرای برنامههای کنترلی دارد.
برای یادگیری آردوینو، نیازی به دانش قبلی در زمینه الکترونیک یا برنامهنویسی ندارید. با این حال، داشتن دانش پایه در این زمینهها میتواند به شما کمک کند تا یادگیری آردوینو را سریعتر و آسانتر انجام دهید. اگر دانش پایهای در زمینه الکترونیک ندارید، میتوانید با مطالعه دیجی اسپارک، مقالات و دورههای آموزشی آنلاین و متنی، این دانش را به دست آورید. اگر دانش پایهای در زمینه برنامهنویسی ندارید، میتوانید با یادگیری زبان برنامهنویسی C/C++، شروع به یادگیری آردوینو کنید.
برای کدنویسی در آردوینو، باید از زبان برنامهنویسی C/C++ استفاده کنید. کدهای آردوینو در فایلهای متنی با پسوند .ino ذخیره میشوند. برای نوشتن کدهای آردوینو، میتوانید از نرمافزار Arduino IDE استفاده کنید. در نرم افزار نمونه کد ساده برای شروع قرار گرفته شده است اما میتوانید با مراجعه به سایت دیجی اسپارک از سری آموزشهای مقدماتی و رایگان بهره ببرید.
برای شروع کار با آردوینو، نیازی به دانش قبلی در زمینه الکترونیک یا برنامهنویسی ندارید. با این حال، داشتن دانش پایه در این زمینهها میتواند به شما کمک کند تا یادگیری آردوینو را سریعتر و آسانتر انجام دهید.
برای شروع کار با آردوینو، به یک برد آردوینو ترجیحا مدل UNO R3 و یا R4، کابل Type Bو یک سیستم نیاز دارید. از نرمافزار Arduino IDE برای نوشتن و کامپایل کردن کدهای آردوینو و برنامهنویسی استفاده کنید. برای خرید قطعات کیت سنسور انتخاب خوبی برای شروع برنامه نویسی میکروکنترلرهاست و به مجموعهای از سنسورهای کاربردی دسترسی خواهید داشت.
با دستور digitalWrite(pinNumber, HIGH); و digitalWrite(pinNumber, LOW); میتوانید وضعیت پین را به ترتیب به HIGH و LOW تغییر دهید.
منظور از pinnumber همان پایههای دیجیتال برد آردوینو است به عنوان مثال از 3 تا 130
digitalRead برای خواندن وضعیت یک پین دیجیتال (HIGH یا LOW) و analogRead برای خواندن ولتاژ از یک پین آنالوگ استفاده میشود.
Serial.print داده را به صورت ASCII به سریال ارسال میکند، در حالیکه Serial.write داده را به صورت بایتی ارسال میکند.
آردوینو به صورت پیشفرض thread است. برای پیادهسازی چندنخی، میتوان از توابع اینتراپت و مدیریت توابع کالبک (callback functions) استفاده کرد.
در این خصوص پیشنهاد میشود از فول پک سنسور استفاده کنید.
در ادامه لینک کالا قرار گرفته شده است.
برای عیب یابی کد خود در نرم افزار آردوینو می توانید از بخش Debug استفاده کنید. برای این کار، ابتدا باید گزینه Debug را از منوی Tools انتخاب کنید. سپس، کد خود را به صورت مرحله ای اجرا کنید و مقادیر متغیرها را مشاهده کنید. برای این کار، می توانید از دکمه های Step Into، Step Over، Step Out، و Run استفاده کنید.
در Arduino IDE، خروجی Serial Monitor به عنوان یک ابزار برای مشاهده لاگها به کار میرود. اما در آینده، ابزارهای دیگر ممکن است این امکانات را گسترش دهند.
با استفاده از یک دوربین و الگوریتمهای پردازش تصویر برای تشخیص چهره میتوانید این سیستم را پیادهسازی کنید.
همچنین از برد مایکسیدوینو برای پردازش تصویر میتوانید استفاده کنید.
پین SWD در Arduino UNO R4 برای اشکال زدایی پیشرفته استفاده میشود. SWD مخفف Serial Wire Debug است و یک پروتکل ارتباطی است که برای اتصال یک ابزار اشکال زدایی به یک میکروکنترلر استفاده میشود. با استفاده از پین های SWD، می توان کد میکروکنترلر را در حین اجرا مشاهده کرد، مقادیر حافظه را خواند و نوشت، و نقاط وقفه را تنظیم کرد. این می تواند برای عیب یابی مشکلات در کد میکروکنترلر بسیار مفید باشد.
در Arduino UNO R4، پین های SWD در زیر برد قرار دارند و به شرح زیر نامگذاری شده اند:
Arduino uno R3 بر اساس میکروکنترلر ATmega328P ساخته شده است، در حالی که Arduino uno r4 RA4M1 بر اساس میکروکنترلر RA4M1 از شرکت Renesas ساخته شده است. این دو میکروکنترلر از نظر عملکرد و ویژگیهای کلی شباهتهای زیادی دارند، اما تفاوتهایی نیز با یکدیگر دارند. برخی از تفاوتهای اصلی عبارتند از:
میکروکنترلر RA4M1 دارای حافظه بیشتری، سرعت کلاک بالاتر و پشتیبانی از ویژگیهای جدیدی مانند CAN bus است.
Arduino uno r4 RA4M1 دارای یک منبع تغذیه داخلی 5 ولت است، در حالی که Arduino uno R3 نیاز به یک منبع تغذیه خارجی دارد.
Arduino uno r4 RA4M1 دارای یک پورت سریال جدید به نام JTAG است که برای عیبیابی استفاده می شود.
Arduino uno R3 گزینه بهتری برای مبتدیان است زیرا ارزان تر و سادهتر است. همچنین دارای یک کتابخانه گسترده تر از کدها و مثال ها است که برای مبتدیان مفید است.
Arduino uno r4 RA4M1 گزینه بهتری برای کاربران پیشرفته است زیرا دارای ویژگی ها و عملکردهای بیشتری است. همچنین می تواند برای پروژه هایی که نیاز به حافظه بیشتر، سرعت کلاک بالاتر یا پشتیبانی از ویژگی های جدید مانند CAN bus دارند، استفاده شود.
برای اتصال برد آردوینو uno r4 به کابل تایپ C نیاز دارید. برای برقراری ارتباط ابتدا نرمافزار آردوینو arduino ide را نصب کنید. سپس پکیج UNO R4 را نصب کنید. با استفاده از کابل تایپ C اتصال برد به سیستم را برقرار کنید.
برای نصب برد Arduino Uno R4 Minima RA4M1 در نرمافزار Arduino، ابتدا باید نرمافزار Arduino را از وبسایت رسمی Arduino دانلود و نصب کنید. پس از نصب نرمافزار Arduino، مراحل زیر را دنبال کنید:
۱. در نرمافزار Arduino، به منوی File > Preferences بروید.
۲. در پنجره باز شده، به بخش Boards Manager بروید.
۳. در کادر جستجو، عبارت Arduino Uno R4 Minima RA4M1 را تایپ کنید.
۴. پس از یافتن برد Arduino Uno R4 Minima RA4M1، روی دکمه Install کلیک کنید.
پس از نصب برد Arduino Uno R4 Minima RA4M1، میتوانید آن را در پروژههای خود استفاده کنید.
آردوینو یک پلتفرم توسعه است که شامل یک IDE (محیط توسعه یکپارچه) و یک زبان برنامه نویسی مبتنی بر C++ است. میکروپایتون یک زبان برنامه نویسی است که می تواند بر روی بردهای آردوینو با تراشه ESP, RP2040 و همچنین سایر میکروکنترلرها مثل ESP, STM استفاده شود.
تفاوت های کلیدی بین میکروپایتون و آردوینو:
زبان برنامه نویسی:
سخت افزار:
قابلیت ها:
جامعه:
موارد دیگر:
انتخاب بین میکروپایتون و آردوینو به عوامل مختلفی بستگی دارد:
کیتهای آردوینو نوعی از کیت الکترونیکی پیشرفته هستند. کیت الکترونیکی پرورش دهندهی خلاقیت و سرگرمی فوق العادهای است. کیت های آردوینو عموما دارای آموزش راه اندازی و سورس برنامه نویسی هستند. در دانشجو کیت انواع کیت آردوینو را میتوانید بررسی و خرید کنید. کلیه این کیتها توسط دانشجو کیت طراحی و تولید میشوند. جهت خرید و بررسی کیت آردوینو از شاخههای اصلی در نوار آبی رنگ بالای سایت قسمت بردهای توسعه را انتخاب کنید. (کافیست نشانگر موس را بر روی برد های توسعه قرار دهید.) سپس گزینه کیت آردوینو را انتخاب نمایید.
جهت سهولت در انتخاب کیت و کابرد مورد نظر در نوار سمت راست سایت امکان جستجو و فیلتر در دسترس کاربران قرار گرفته است. اولین گزینه انتخاب نوع کیت است، که کیت ها بر اساس بردهای مصرفی و همچنین مونتاژ دسته بندی شده اند. به تصویر زیر دقت کنید.
فیلتر بعدی رنج سنی است که با این فیلتر میتوان کیت آردوینو متناسب با رنج سنی کاربر تهیه کرد. رنج سنی یک شاخص کلی برای محدود کردن انتخابها برای خرید کیت آردوینو است.
فیلتر بعدی خرید بر اساس نوع نمایشگر مورد استفاده است. نمایشگر در کیت آردوینو کمک میکند تا اطلاعات مورد نظر را روی آن نمایش دهید. از اینجا میتوانید کیت های آردوینو براساس نوع نمایشگر را فیلتر کنید.
فیلتر بعدی خرید کیت آردوینو بر اساس برد آردوینو مورد استفاده است. بردهای آردوینو انواع مختلفی دارند، میتوانید از این بخش گزینه مورد نظر را فیلتر کنید.
فیلتر آموزش راه اندازی در جهت سهولت دسترسی کاربر به کیت های همراه یا فاقد آموزش(خود آموز) قرار گرفته است. دارا بودن آموزش برای یک کیت آردوینو گزینهی مهمی است. بنابراین اگر تمایل به خرید کیت آردوینو دارای آموزش را دارید، از این بخش استفاده کنید. به تصویر زیر دقت کنید.
با استفاده از فرمت آموزش میتوان نوع آموزش مورد نظر خود را به راحتی انتخاب کرد که به دو صورت تصویری و کتبی در دسترس قرار میگیرد.
فیلتر بعدی بر اساس میزان فرکانس RFID است. اگر کیت مورد نظر براساس نوع RFID باشد میتوانید فرکانس آنرا از این بخش انتخاب کنید.
با استفاده از فیلتر سنسور میتوان کیت آردوینو مورد نظر خود را بر اساس نوع سنسور به کار رفته انتخاب کرد.
فیلتر بعدی معماری پردازنده است که با استفاده از این فیلتر میتوان نوع پردازنده کیت را انتخاب کرد. شاید بخواهید کیت مورد نظرتان براساس تراشهای خاص باشد که از اینجا میتوانید انتخاب کنید.
با استفاده از این فیلتر میتوان پهنای باند اینترنت را انتخاب کرد. اگر کیت آردوینو مورد نظر دارای ماژول سیم کارتی باشد، میتوانید پهنای باند آنرا مشخص کنید. کیتهای ارزان قیمت معمولا دارای پهنای باند 2g هستند.
با استفاده از این فیلتر میتوان کیت های آردوینو را بر اساس نوع باتری مورد استفاده انتخاب کرد.
با این گزینه میتوان کیت مورد نظر و مصرفی خود را بر اساس برند مورد استفاده انتخاب کرد. ما در فروشگاه دانشجو کیت علاوه براینکه کالاهای تولیدی خودمان را به فروش میرسانیم کالاهای دیگر تولید کنندگان ایرانی را هم به فروش میرسانیم. بنابراین از این بخش میتوانید از برندهای معتبر تولید داخل استفاده کنید.
گزینه بعدی محدوده قیمتی است که با این گزینه میتوان به راحتی کیت آردوینو با بودجه مورد نظر را تهیه کرد.
روند ثبت سفارش کیت آردوینو از فروشگاه دانشجو کیت با موبایل
برای ثبت سفارش از طریق تلفن همراه برای دسترسی به شاخه محصولات باید در صفحه اصلی در قسمت بالا صفحه از سه خط افقی استفاده کرد. در ادامه کلیه روند خرید کیت آردوینو با موبایل را شرح دادهایم.
در فهرست شاخههای اصلی اولین گزینه بردهای توسعه است که برای باز کردن آن روی قسمت پلاس میزنیم.
در زیر مجموعه بردهای توسعه اولین گزینه آردوینو است که دوباره برای دیدن زیر مجموعه آن باید روی گزینه پلاس کلیک کرد.
سپس اولین گزینه کیت آردوینو را انتخاب کنید.
در تلفن همراه برای فیلتر محصولات ابتدا باید روی گزینه خرید سریع رفته تا فیلتر محصولات نمایش داده شود.
جهت سهولت در انتخاب کیت و کابرد مورد نظر در نوار سمت راست سایت امکان جستجو و فیلتر در دسترس کاربران قرار گرفته است. اولین گزینه انتخاب نوع کیت است، که کیت ها بر اساس بردهای مصرفی و همچنین مونتاژ دسته بندی شده اند.
فیلتر بعدی رنج سنی است که با این فیلتر میتوان کیت آردوینو متناسب با رنج سنی کاربر تهیه کرد.
گزینه بعدی نسخه رزبری پای و خرید کیت بر اساس برد رزبری پای است. اگر کیت مورد نظر براساس بردهای میکروکنترلر رزبری پای باشد، میتوانید از اینجا نوع برد را انتخاب کنید.
فیلتر بعدی خرید بر اساس نوع نمایشگر مورد استفاده است.
فیلتر بعدی خرید کیت آردوینو بر اساس برد آردوینو مورد استفاده است.
فیلتر آموزش راه اندازی در جهت سهولت دسترسی کاربر به کیت های همراه یا فاقد آموزش(خود آموز) قرار گرفته است.
با استفاده از فرمت آموزش میتوان نوع آموزش مورد نظر خود را به راحتی انتخاب کرد که به دو صورت تصویری و کتبی در دسترس قرار میگیرد.
فیلتر بعدی بر اساس میزان فرکانس RFID است.
با استفاده از فیلتر سنسور میتوان کیت آردوینو مورد نظر خود را بر اساس نوع سنسور به کار رفته انتخاب کرد.
فیلتر بعدی معماری پردازنده است که با استفاده از این فیلتر میتوان نوع پردازنده کیت را انتخاب کرد.
با استفاده از این فیلتر میتوان کیت های آردوینو را بر اساس نوع باتری مورد استفاده انتخاب کرد.
نوع فرکانس مصرفی در کیت را میتوان با این فیلتر تعیین کرد.
با این گزینه میتوان کیت مورد نظر و مصرفی خود را بر اساس برند مورد استفاده انتخاب کرد.
گزینه بعدی محدوده قیمتی است که با این گزینه میتوان به راحتی کیت آردوینو با بودجه مورد نظر را تهیه کرد.
گزینه آخر نوع کانکتور و جامپر و پین هر مصرفی است.