کیت آردوینو نانو ®ProMake
توصیف
خانواده محصولات آردوینو پلتفرم عالی برای یادگیری الکترونیک، برنامه نویسی و اینترنت اشیاء می باشد.
کیت آردوینو نانو ®ProMake یک برد توسعه منعطف و مقرون به صرفه برای تمام انواع ماژول های استاندارد آردوینو نانو می باشد. این کیت 3 ماژول ®ProMake را پذیرا می باشد.
ماژول های ®ProMake طیف وسیعی از قابلیت های ارتباطی، حسگرها و عملگرها را به پلتفرم مورد علاقه شما می افزایند.
این کیت توسعه ای راهکاری بسیار آسان و مشترک را برای به کارگیری بردهای مشابه آردوینو نانو و ماژول های ®ProMake در پروژه های آتی شما ارائه می دهد.
وقتی صحبت از یک میکروکنترلر میزبان به میان می آید، می توان آنرا در انواع مختلفی یافت، مانند میکروکنترلر 8 بیتی AVR با کارائی بالا (در ماژول های آردوینو نانو و آردوینو نانو Every) یا میکرو کنترلر کم مصرف 32 بیتی ARM-Cortex (در آردوینو نانو 33 IOT و آردوینو نانو 33 BLE) که قابلیت های بیشتری را با هزینه ای اندک به هر پروژه می افزاید.
در مقایسه با فرم فاکتور آشنای UNO، بردهای نانو بسیار کوچکتر هستند و لذا در کاربردهایی که فضای فیزیکی یک محدودیت می باشد، عملکردی خوبی دارند. برخی بردهای نانو دارای ماژول ارتباطی نیز می باشند (از Wi-Fi گرفته تا GSM) که آنها را به راهکاری مناسب برای پروژه های آتی اینترنت اشیا تبدیل می کند.
لحیم کاری و سیم کشی وقتی ارتباطات پیچده می شوند یا قطعات خراب می شوند به یک مشکل آزار دهنده تبدیل می شوند و زمان و هزینه پروژه ها را افزایش می دهند. به لطف طراحی ماژولار کیت آردوینو نانو ®ProMake نمونه سازی سریع، ساده و اقتصادی خواهد بود. بدون این راهکار نمونه سازی ایده ها و یا پروژه های الکترونیکی خودت-انجامش-بده(DIY) تبدیل به یک پروژه طولانی و پیچیده می شوند.
مجموعه کدهای نمونه مهیا شده برای ماژول های ®ProMake، یک مخزن از کدهای آماده به کار را برای استفاده درجا و یا به عنوان نقطه شروع پروژه در اختیار شما قرار می دهد.
کیت آردوینو نانو ®ProMake منبع تغذیه مستقلی دارد که تغذیه اضافی برای ماژول های ارتباطی و سنسورها و حتی برد آردوینو را تامین می کند. شما می تواند با ولتاژ ورودی VIN و یا تغذیه توسط USB Type-C این کیت را روشن نمایید. این کیت طور طراحی شده که می توان با تغذیه کیت برد آردوینو را نیز تغذیه نمود و نیاز به منبع تغذیه جداگانه وجود ندارد.
قابلیت ها
- تطابق با همه ماژولهای استاندارد آردوینو نانو
- پشتیبانی از 3 ماژول ®ProMake، که به سادگی و بدون هیچ لحیم کاری بر روی کیت قرار می گیرند
- ارتباطات SPI,I2C و آنالوگ برای اولین ماژول
- ارتباطات SPI,I2C برای دومین ماژول
- ارتباطات I2C, سریال و آنالوگ برای سومین ماژول
- دارای چیپ ساعت (RTC) با باتری پشتیبان
- دو عدد RGB LED
- بازر
- کلید فشاری
- کانکتورهای توسعه ای SparkFun QWIIC و Seeed Studio Grove
- کانکتور هدر برای نمایشگر I2C OLED
مشخصات فنی
- ابعاد برد : 90mm x 70mm
- حالتهای منبع تغذیه :
- کانکتور روی برد USB Type-C :5v
- کانکتور پاور بیرونی : Vin(7-23v)
- پورت USB ماژول آردوینو
- دمای کاری : -40℃ ~85℃
نکات مهم
- المان LDO ولتاژ 3.3 روی کیت قادر به تامین حداکثر 600 میلی آمپر جریان می باشد
- کلید S1 را برای جلوگیری از تداخل UART در هنگام پروگرام کردن ماژول آردینو نانو در نظر گرفته شده است
- بنا بر محدودیت پین A6 در خانواده ماژولهای آردوینو نانو بر پایه AVR، بازر در این نوع از ماژولهای آردوینو کار نمی کند.
منابع
شماتیک برد
نرم افزار
روشن کردن LEDهای RGB روی برد
برای روشن کردن LEDهای RGB روی برد می بایست ابتدا کتابخانه "FastLED" که توسط Daniel Garcia توسعه داده شده را در Arduino® IDE خود نصب نمایید. حال با استفاده از کد زیر می تواند یک چراغ پلیسی روی کیت خود مشاهده نمایید.
#include <FastLED.h>
#define LED_PIN 17
#define NUM_LEDS 2
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
}
void loop() {
leds[0] = CRGB(255, 0, 0);
leds[1] = CRGB(0, 0, 0);
FastLED.show();
delay(500);
leds[0] = CRGB(0, 0, 0);
leds[1] = CRGB(0, 0, 255);
FastLED.show();
delay(500);
}
کار با RTC روی برد
برای استفاده از چیپ ساعت(RTC) روی برد ابتدا می بایست کتابخانه "RTClib" را که توسط Adafruit توسعه داده شده را در Arduino® IDE خود نصب نمایید. حال با استفاده از کد زیر می توانید ساعت را برروی RTC تنظیم نموده و آن را به طور پیاپی بخوانید
#include "RTClib.h"
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
void setup () {
while (!Serial); // for Leonardo/Micro/Zero
Serial.begin(57600);
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (! rtc.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}else{
Serial.println("RTC is running!");
}
}
void loop () {
DateTime now = rtc.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print(" since midnight 1/1/1970 = ");
Serial.print(now.unixtime());
Serial.print("s = ");
Serial.print(now.unixtime() / 86400L);
Serial.println("d");
delay(2000);
}
استفاده از نمایشگر OLED
ابتدا می بایست یک نمایشگر I2C مناسب از بازار تهیه نمایید، ما در این مثال از یک نمایشگر "SSD1306" که یک نمایشگر 0/91 اینچی، تک رنگ، 128x32 می باشد استفاده کردیم. حال با دقت به نام پایه های نمایشگر و برد نمایشگر را در جهت صحیح در کانکتور "J3" وارد نمایید.
برای شروع برنامه نویسی نیاز است که کتابخانه "Adafruit SSD1306" که توسط Adafruit توسعه داده شده را به همراه کتابخانه های وابسته ی آن در Arduino® IDE خود نصب نمایید. سپس با اجرای کد زیر پیام "Easy IoT" برروی نمایشگر به صورت متحرک نمایش داده خواهد شد.
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(9600);
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
// Show initial display buffer contents on the screen --
// the library initializes this with an Adafruit splash screen.
display.display();
delay(2000); // Pause for 2 seconds
// Clear the buffer
display.clearDisplay();
display.setTextSize(2); // Draw 2X-scale text
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 0);
display.println(F("Easy IoT"));
display.display(); // Show initial text
delay(100);
// Scroll in various directions, pausing in-between:
display.startscrollright(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrollleft(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrolldiagright(0x00, 0x07);
delay(2000);
display.startscrolldiagleft(0x00, 0x07);
delay(2000);
display.stopscroll();
delay(1000);
}
void loop() {
}
بصدا در آوردن بازر
برای به صدا در آوردن بازر فقط کافی است کد زیر را اجرا نمایید.
#define NANO_KIT_BUZZER_PIN 20
void setup() {
// put your setup code here, to run once:
pinMode(NANO_KIT_BUZZER_PIN,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(NANO_KIT_BUZZER_PIN,LOW);
delay(1);
digitalWrite(NANO_KIT_BUZZER_PIN,HIGH);
delay(1);
}