
Якщо ви шукаєте його Плата Arduino який підключається до Інтернету через Wi-Fi, використовуйте технологію Bluetooth і NFC тоді модель Primo Це ідеально підходить для ваших проектів.
Це пов'язано з високоякісним підключенням та іншими компонентами, які суттєво покращують його працездатність.Одним із таких елементів є набір MCU які використовуються для підтримки гарного зв'язку.
Якщо ви хочете знати, як працювати з Плата Arduino PrimoВам доведеться продовжувати читати. Ми покажемо вам список найкращих ідей що ви можете зробити самі.
Що таке плати Arduino Primo та для чого використовуються ці апаратні плати з відкритим вихідним кодом?
La Плата Arduino Primo Це модель, розроблена у Сполучених Штатах та запущена у 2016 році. Він має 32-бітну архітектуру контролерів, 14 контактів для цифрового входу та виходу та 6 для аналогових входів..
Він може створювати широкий спектр проектів, особливо ті, що мають акумулятороскільки він пропонує інфрачервоний приймач і передавач, а також зарядний пристрій для акумулятора. Він також включає мережеву плату. Wi-Fi та Bluetooth, тому ви можете робота в Інтернеті речей.
Які особливості плат розробки Arduino Primo?
Найвидатніші характеристики, які ви знайдете на платі Arduino Primo, наступні:
- Ця тарілка має розмір 7,62 x 5,08 см. і важить 85 грам.
- можна підключити до Wi-Fi, наскрізь Bluetooth і за допомогою технології ближнього зв'язку NFC.
- Він має 3 мікроконтролериnRF52832, STM32f103 та ESP8266. Вони працюють як основний мікроконтролер плати, для налагодження програм та для підключення до Wi-Fi відповідно.
- Володіє 14 цифрові контакти вхідні та вихідні контакти, 12 з яких можна використовувати як імпульсні маркери або ШІМ. Він також має 6 аналогових вхідних контактів.
- Він має роз'єм MicroUSB, з антеною для NFC зумер і кнопки скидання та живлення.
- Також є зарядний пристрій з резонатором 64 МГц.
- Напруга, при якій він працює, становить 3VТому треба бути обережним, не спалюйте компоненти.
- Робота з а Протокол Wi-Fi 11 грн en 2.4 ГГц частоти.
Покращене підключення: Як найкраще скористатися цією функцією Arduino Primo?
Щоб краще використовувати можливості підключення, що пропонуються платою Arduino Primo Вам потрібно буде додати основну плату Arduino NRF52 в IDE..
Ви можете зробити це, перейшовши до Інструменти, потім вибравши Дошки та, нарешті, вибравши Менеджер дощок:
- Після цього відкриється нове вікно, в якому Вам потрібно буде вибрати ядро NRF52.
- Слід пам’ятати, що якщо ви працюєте на комп’ютері з операційною системою Windows або MacOS вам не потрібно буде встановлювати драйвериОднак, якщо ви використовуєте Linux тобі доведеться запустити сценарій Ви знайдете його на офіційному сайті Arduino.
https://www.arduino.cc/en/Sh/Txt - Після цього вам доведеться додати послідовний портДля цього вам потрібно буде увійти в систему IDE і натисніть на інструменти а потім в Меню послідовного порту, де ви знайдете назву порту, до якого підключена ваша плата.
- Після завантаження середовища (натиснувши на Програма а потім в Завантажувати), вам знадобиться Підключення до Інтернету через Wi-FiВи можете зробити це, увімкнувши мережевий адаптер, а потім відкривши меню «Мережа» на вашому комп’ютері. Ви знайдете його дуже легко. SSID, оскільки воно носить назву Двоюрідний брат Arduino.
- У вашому браузері вам потрібно буде ввести адресу
http://192.168.240.1/щоб ви могли отримати доступ до параметрів конфігурації материнської плати. Потім вам потрібно буде перейти до меню Зв'язок Вам потрібно буде ввести пароль від Wi-Fi, а потім натиснути ПІДКЛЮЧИТИ. - Нарешті, З'явиться IP-адреса Arduino.Тому вам потрібно буде змінити статус на панелі налаштувань на ПЕРЕЙТИ В РЕЖИМ STAТаким чином, ви можете отримати краще з'єднання.
Список ідей проектів, які можна розробити за допомогою плат Arduino Primo
Нижче ви знайдете список найкращих проектів, які ви можете виконати самостійно за допомогою Arduino Primo:
Монітор серцевого ритму
Ви зможете створити за допомогою плати Arduino Primoдатчик пульсу для отримати інформацію про частоту серцевих скорочень та необхідні кабелі для підключення. Перше, що вам слід зробити, це підключити живлення датчика до 3.3 В; потім заземлення до заземлення плати та сигнал до каналу A0.
Далі вам потрібно буде ввести ці програмні коди:
#включити #define SIGNAL A0 BLEPeripheral blePeripheral; BLEService heartRateService("180D"); BLECharacteristic heartRateChar("2A37", BLERead | BLENotify, 2); void findHeartRate(float averageSample); int sample[300] = { 0 }; int n = 0; int sumSample = 0; float averageSample = 0; void setup() { begin(250000); setLocalName("HeartRateSketch"); setAdvertisedServiceUuid(heartRateService.uuid()); addAttribute(heartRateService); addAttribute(heartRateChar); begin(); println("Пристрій Bluetooth активний, очікує з'єднань..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Підключено до central: "); println(central.address()); //увімкнути світлодіод BLE digitalWrite(BLE_LED, HIGH); while (central.connected()) { if (millis() % 10 == 0) { int rawValue = analogRead(A0); int sensorValue = map(rawValue, 0, 1023, 0, 255); println(sensorValue); sumSample = sumSample + sensorValue; sumSample = sumSample - sample[n]; sample[n] = sensorValue; n++; averageSample = (float)sumSample / 300; if (n == 300) { n = 0; findHeartRate(averageSample); } delay(1); } } print("Відключено від центрального: "); println(central.address()); } digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } void findHeartRate(float averageSample) { int count = 0; int totalTime = 0; int lastI = 0; bool trendState = false; bool goOverThreshold = false; int heartRate = 0; float setThreshold = 1.25; for (int i = 0; i < 300; i++) { goOverThreshold = (sample[i] > (averageSample * setThreshold)); if (goOverThreshold != trendState) { trendState = goOverThreshold; if (goOverThreshold == false) { if (count > 0) { totalTime = totalTime + (i - lastI); } count++; lastI = i; } } } heartRate = 6000 * (count - 1) / totalTime; const unsigned char heartRateCharArray[2] = { 0, (char)heartRate }; setValue(heartRateCharArray, 2); //Serial.print("частота серцевих скорочень: "); //Serial.println(частота серцевих скорочень); }
Керування мишею через мобільний пристрій у мультимедійному плеєрі
Вам знадобиться батарейка-ґудзик типу CR2032, тарілка Ядро Arduino Primo і мобільний телефон з Bluetooth активовано.
Під час роботи з IDE вам не знадобиться жодна друкована плата, тому вам потрібно буде просто ввести ці коди безпосередньо:
#включити #включити #включити #включити #define MOUSE_RANGE 24 #define INT1 21 int tap = 0; int chrono = 0; int count = 0; BLEHIDPeripheral bleHIDPeripheral = BLEHIDPeripheral(); BLEMouse bleMouse; BLESystemControl bleSystemControl; void setup() { pinMode(LED_BUILTIN, OUTPUT); pinMode(12, OUTPUT); begin(115200); println(F("Периферійний пристрій BLE HID - очищення даних зв'язку")); clearBondStoreData(); setReportIdOffset(1); setLocalName("Миша Arduino Core"); addHID(bleMouse); addHID(bleSystemControl); begin(); println(F("Демо BLE HID")); begin(); enableSingleTapDetection(); attachInterrupt(INT1, Tap, RISING); } void loop() { BLECentral central = bleHIDPeripheral.central(); digitalWrite(LED_BUILTIN, LOW); if (central) { print(F("Підключено до central: ")); println(central.address()); count = 0; while (central.connected()) { digitalWrite(LED_BUILTIN, HIGH); if (tap) { tap = 0; uint8_t status = 0; getStatusSingleTapDetection(&status); if (status) { if (count % 2 == 0){ digitalWrite(12, HIGH); //увімкнути світлодіод press(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t акселерометри[3] = {0}; getAccelerometer(акселерометри); якщо (акселерометри[2] > 0 && (abs(акселерометри[0])>100||abs(акселерометри[1])>100) && (millis()>(chrono+200))) { int mappedX = map(акселерометри[0], -1023, 1023, -12, 12); int mappedY = map(акселерометри[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Тоді ти мусиш Підключіть свій мобільний телефон до дошки через Bluetooth щоб почати користуватися бездротовою мишею.
Датчик погоди
Цей проект трохи складніший за попередні, оскільки Вам знадобляться дві плати Arduino, одна Primo та одна Primo Core. Останній відповідає за надсилання сигналу до першого, щоб ви могли шукати в Інтернеті температуру певного міста. Окрім двох панелей, вам знадобиться CR2032 і смартфон.
Вам потрібно буде підключити Arduino до відповідних контактів і продовжити вводити ці коди в IDE:
#включити #включити #включити BLESerial bleSerial = BLESerial(); char ssid[] = "cclIT"; char pass[] = "ht34!eG$"; int keyIndex = 0; int count; charmemory[5]; char fahrenheit[4]; char celsius[4]; bool flag = false; int status = WL_IDLE_STATUS; char server[] = "www.nytimes.com"; WiFiClient client; void setup() { setLocalName("WeatherFinder"); pinMode(BLE_LED, OUTPUT); begin(115200); begin(); memory[4] = '\0'; fahrenheit[3] = '\0'; celsius[3] = '\0'; } void loop() { poll(); if (bleSerial && Serial) { int byte; якщо ((byte = bleSerial.read()) > 0) { якщо (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Зв'язок з модулем WiFi не встановлено."); } while (status != WL_CONNECTED) { print("Спроба підключення до SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Підключено до Wi-Fi"); println("\nПочаток підключення до сервера..."); якщо (client.connect(server, 80)) { println("підключено до сервера"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Хост: www.nytimes.com"); println("З'єднання: закрити"); println(); } flag = true; } } while (прапор) { while (client.available()) { char c = client.read(); if (c == 176 && count < 2) { if (count == 0) { fahrenheit[0] = memory[0]; fahrenheit[1] = memory[1]; fahrenheit[2] = memory[2]; } else { celsius[0] = memory[0]; celsius[1] = memory[1]; celsius[2] = memory[2]; } count++; } memory[0] = memory[1]; memory[1] = memory[2]; memory[2] = memory[3]; memory[3] = c; } if (!client.connected()) { println(); println("Відключення від сервера."); if (fahrenheit[1] == 62){ fahrenheit[1] = 32; Фаренгейт[0] = 32; } інакше якщо (Фаренгейт[0] == 62){ Фаренгейт[0] = 32; } якщо (Цельсій[1] == 40){ Цельсій[1] = 32; Цельсій[0] = 32; } інакше якщо (Цельсій[0] == 40){ Цельсій[0] = 32; } print("Температура у Фаренгейтах: "); print(Фаренгейт); println("°"); print("Температура у Цельсіях: "); print(Цельсій); println("°"); stop(); write(Цельсій); flag = false; } } якщо (bleSerial.status() == РЕКЛАМА) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } інакше digitalWrite(BLE_LED, HIGH); }


















