Arduino Primo Co to jest, do czego służy i jakie są jego cechy szczególne?

Jeśli szukasz stół arduino podłączony do Internetu przez WiFi , posługiwać się La technologia Bluetooth itp. NFC, jest modelką Najpierw jest idealny do Twoich projektów.

Wynika to z jakości jego łączności, a także innych komponentów, które znacznie poprawiają funkcjonalność. ten Jedną z tych pozycji jest kolekcja mikrokontrolery służy do utrzymania dobrego połączenia.

Jeśli chcesz się nauczyć, jak pracować razem Malowanie Arduino Primo powinieneś czytać. Pokażemy Ci listę najlepszych pomysłów które możesz zrobić sam.

Co to jest Arduino Primo i do czego służą te darmowe płyty sprzętowe?

La Malowanie Arduino Primo to model opracowany w Stanach Zjednoczonych i wydany w 2016 roku. Posiada 32-bitową architekturę w sterownikach, 14 pinów dla wejść i wyjść cyfrowych oraz 6 dla wejść analogowych ten

On może tworzyć różnorodne projekty W zwłaszcza te zawierające baterię a także oferuje odbiornik i nadajnik podczerwieni oraz ładowarkę baterii. Ponadto zawiera sieć karty Wi-Fi i bluetooth co mu pozwala praca w IoT ten

Jakie są szczególne cechy płytek rozwojowych Arduino Primo?

Najważniejsze cechy, jakie można znaleźć w panelu Arduino Primo to:

  • Ten rekord się liczy! 7,62 5,08 cm. i waży 85 gramów.
  • Może być podłączony do Wi-Fi Z Bluetooth i od La technologia komunikacyjna blisko pola NFC ten
  • Posiada 3 mikrokontrolery , nRF52832, STM32f103 i ESP8266. Które działają jako główne karty MCU, odpowiednio dla debugerów i społeczności przez Wi-Fi.
  • on ma 14 pinów wejście i wyjście cyfrowy 12 z nich może służyć jako wskaźnik impulsowy lub PWM. Ponadto ma 6 analogowych pinów wejściowych ten
  • Posiada spinacz do papieru Micro USB , z anteną do NFC, brzęczyk oraz przyciski reset i stop.
  • To także ma Ładowarka akumulatorów z rezonatorem 64 MHz ten
  • Trend, z którym pracuje to 3V więc musisz być ostrożny nie spalaj danych ten
  • Działa z Protokół Wi-Fi 11 pne en Częstotliwość 2,4 GHz ten

Lepsza łączność Jak w pełni wykorzystać funkcjonalność Arduino Primo?

Aby w pełni wykorzystać łączność oferowaną przez panel Arduino Primo, musisz dodać płytę główną Arduino NRF52 do IDE ten

Możesz to zrobić, przechodząc do Narzędzia, następnie wybierając Kafelki i wreszcie wybierając Menedżera map:

  • Następnie otworzy się nowe okno, w którym Musisz wybrać jądro NRF52 ten
  • Musisz pamiętać, że jeśli pracujesz na komputerze z systemem operacyjnym Windows lub MacOS nie będzie miał nie musisz instalować sterowników ten Z drugiej strony, jeśli używasz Linuksa, powinno wykonaj swój skrypt znajdź na oficjalnej stronie Arduino. https://www.arduino.cc/en/Sh/Txt
  • Więc powinieneś dodaj port szeregowy ten W tym celu musisz wejść WYBRAĆ SIĘ i kliknij Mechanizm później Menu portu szeregowego gdzie znajdziesz nazwę portu, do którego podłączona jest karta.
  • Po pobraniu środowiska (klikając Program później Pobierać ), to musi połączyć się z Internetem przez WiFi ten Możesz to zrobić, aktywując kartę, a następnie przechodząc do menu Sieć na swoim komputerze. Znajdziesz SSID zbyt łatwe , bo to się nazywa Arduino ten
  • Musisz wpisać adres w przeglądarce http://192.168.240.1/aby uzyskać dostęp do opcji konfiguracji karty. Następnie musisz przejść do menu Połączenie , musisz wprowadzić hasło Wi-Fi, a następnie kliknąć POŁĄCZYĆ ten
  • Wreszcie Zostanie wyświetlony adres IP Arduino , musisz zmienić stan tabeli na ZMIANA DZIAŁANIA STANU ten W ten sposób możesz mieć lepszą łączność.

Lista pomysłów na projekty, które możesz rozwijać z płytkami Arduino Primo

Poniżej znajdziesz listę najlepszych projektów, które możesz wykonać samodzielnie z Arduino Primo:

Monitoruj swoje tętno

„AKTUALIZACJA ✅ Chcesz dowiedzieć się więcej o Arduino PRIMO Silver i jak z nimi pracować? ⭐ ODWIEDŹ TUTAJ ⭐ i dowiedz się wszystkiego ✅ OD ZERA”

Możesz Stwórz ten projekt w za pomocą panelu Arduino Primo , czujnik tętna w uzyskać informacje o tętnie i kable wymagane do podłączenia. Pierwszą rzeczą, którą musisz zrobić, to podłączyć czujnik PWR do 3,3V. po GND na GND karty i sygnale na kanale A0.

Następnie musisz wprowadzić te kody programowania:

#zawierać

#define SYGNAŁ A0

BLPeripheral blePeripheral;

BLEService heartRateService („180D”);

BLECharakterystyczne heartRateChar („2A37”,

BLECzytaj | BLEPowiadom, 2);

void findHeartRate (zmienna średniaPróbka);

próbka int [300] = {0};

int n = 0;

int sumPróbka = 0;

średnia zmiennoprzecinkowaPróbka = 0;

pusta konfiguracja () {

początek (250000);

setLocalName ("HeartRateSketch");

setAdvertisedServiceUuid (heartRateService.uuid ());

addAttribute (heartRateService);

addAttribute (heartRateChar);

zacząć ();

println („Urządzenie Bluetooth aktywne, czeka na połączenia…”);

}

pusta pętla () {

BLECentral central = blePeripheral.central ();

jeśli (centralny) {

print ("Połączony z centralą:");

println (adres centralny ());

// włącz diodę BLE

digitalWrite (BLE_LED, WYSOKA);

while (central.podłączony ()) {

jeśli (mili ()% 10 == 0) {

int rawValue = odczyt analogowy (A0);

int sensorValue = mapa (wartość surowa, 0, 1023, 0, 255);

println (wartość czujnika);

sumSample = sumSample + sensorValue;

sumSample = sumSample - próbka [n];

próbka [n] = wartośćczujnika;

n++;

średniaPróbka = (liczba zmiennoprzecinkowa) sumaPróbka / 300;

jeśli (n == 300) {

n = 0;

findHeartRate (średnia próbka);

}

opóźnienie (1);

}

}

print ("Odłączony od centralnego:");

println (adres centralny ());

}

digitalWrite (BLE_LED, LOW);

opóźnienie (200);

digitalWrite (BLE_LED, WYSOKA);

opóźnienie (200);

}

void findHeartRate (zmienna średniaPróbka) {

liczba int = 0;

int całkowityCzas = 0;

int ostatniI = 0;

wartość logiczna trendState = false;

wartość logiczna goOverThreshold = false;

int tętno = 0;

float setThreshold = 1,25;

for (int i = 0; ja <300; ja ++) {

goOverThreshold = (próbka [i]> (averageSample * setThreshold));

if (goOverThreshold! = stan trendu) {

trendState = goOverThreshold;

if (goOverThreshold == false) {

jeśli (liczba> 0) {

totalTime = totalTime + (i - lastI);

}

liczyć ++;

ostatniI = i;

}

}

}

HeartRate = 6000 * (liczba - 1) / totalTime;

const unsigned char heartRateCharArray [2] = {0, (char) heartRate};

setValue (heartRateCharArray, 2);

//Serial.print("heartRate wynosi: ");

//Serial.println(heartRate);

}

Sterowanie myszą za pomocą telefonu komórkowego na odtwarzaczu multimedialnym

Będziesz potrzebować baterii typu guzikowego CR2032, od nadać cechy osobiste Płytka Arduino Primo Core i telefon komórkowy z Bluetooth aktywny.

Podczas pracy z IDE nie będziesz potrzebować obwodów, więc musisz wprowadzić te kody bezpośrednio:

#zawierać

#zawierać

#zawierać

#zawierać

#define ZASIĘG_MYSZY 24

#define INT1 21

wewn. kran = 0;

int chrono = 0;

liczba int = 0;

BLEHIDPeripheral BLEHIDPeripheral = BLEHIDPeripheral ();

BL Mysz BL Mysz;

BLESystemControl bleSystemControl;

pusta konfiguracja () {

pinMode (LED_BUILTIN, OUTPUT);

pinMode (12, WYJŚCIE);

początek (115200);

println (F ("BLE HID Peripheral - Wyczyść dane łącza"));

wyczyśćBondStoreData ();

setReportIdOffset (1);

setLocalName ("Mysz Arduino Core");

addHID (bleMouse);

addHID (bleSystemControl);

zacząć ();

println (F ("BLE HID Demo"));

zacząć ();

włącz wykrywanie pojedynczego naciśnięcia ();

attachInterrupt (INT1, Tap, RISING);

}

pusta pętla () {

BLECentral centralny = bleHIDPeripheral.central ();

digitalWrite (LED_BUILTIN, LOW);

jeśli (centralny) {

drukuj (F („Podłączone do centrali:”));

println (adres centralny ());

liczba = 0;

while (central.podłączony ()) {

digitalWrite (LED_BUILTIN, WYSOKA);

jeśli (naciśnij) {

dotknij = 0;

stan uint8_t = 0;

getStatusSingleTapDetection (& status);

jeśli (stan)

{

jeśli (liczba% 2 == 0) {

digitalWrite (12, WYSOKA); // włącz diodę

pospiesz się ();

liczyć ++;

}

inny {

digitalWrite (12, NISKI);

Wydanie ();

liczyć ++;

}

}

}

akcelerometry int32_t [3] = {0};

getAccelerometer (akcelerometry);

if (akcelerometry [2]> 0 && (abs (akcelerometry [0])> 100 || abs (akcelerometry [1])> 100) && (mili ()> (chrono + 200))) {

int mappedX = mapa (akcelerometry [0], -1023, 1023, -12, 12);

int mappedY = mapa (akcelerometry [1], -1023, 1023, -12, 12);

int x = -1 * mapowanyX;

int y = odwzorowany Y;

ruch (x, y);

}

Wtedy musisz podłącz telefon komórkowy do karty przez bluetooth aby rozpocząć korzystanie z myszy bezprzewodowej.

Czujnik pogody

To zadanie jest nieco bardziej skomplikowane niż poprzednie, ponieważ będziesz je mieć potrzebujesz dwóch płyt Arduino, Primo i Primo Core. Ten drugi odpowiada za wysłanie sygnału do tego pierwszego, dzięki czemu można przeszukać sieć pod kątem temperatury w danym mieście. Oprócz dwóch talerzy będziesz potrzebować CR2032 i smartfona.

Musisz podłączyć Arduino do właściwych pinów i dalej wpisywać te kody do IDE:

#zawierać

#zawierać


#zawierać


BLESerial bleSerial = BLESerial ();


identyfikator znaku [] = "cclIT";


znak pass [] = "ht34! np $";


int keyIndex = 0;


numer wewnętrzny;


pamięć znaków [5];


char Fahrenheit [4];


char Celsjusz [4];


flaga logiczna = fałsz;


stan int = WL_IDLE_STATUS;


serwer znaków [] = "www.nytimes.com";


Klient WiFiClient;


pusta konfiguracja () {


setLocalName ("Wyszukiwarka pogody");


pinMode (BLE_LED, WYJŚCIE);


początek (115200);


zacząć ();


pamięć [4] = ' 0';


stopnie Fahrenheita [3] = ' 0';


stopnie Celsjusza [3] = ' 0';


}


pusta pętla () {


ankieta ();


if (bleSerial && Serial) {


bajt int;


if ((byte = bleSerial.read ())> 0) {


jeśli (WiFi.status () == WL_NO_WIFI_MODULE_COMM) {


println ("Komunikacja z modułem WiFi nie została nawiązana.");


}


while (stan! = WL_CONNECTED) {


print ("Próba połączenia z SSID:");


println (SSID);


status = WiFi.begin (ssid, pass);


opóźnienie (10000);


}


println („Połączono z Wi-Fi”);


println (" nUruchamianie połączenia z serwerem...");


if (klient.connect (serwer, 80)) {


println ("podłączony do serwera");


println ("GET /gst/pogoda.html?detail=Cagliari--IY HTTP / 1.1");


println („Host: www.nytimes.com”);


println ("Połączenie: zamknij");


println ();


}


flaga = prawda;


}


}


podczas (flaga) {


while (klient.dostępny ()) {


char c = klient.odczyt ();


jeśli (c == 176 && liczba <2)


{


jeśli (liczba == 0) {


Fahrenheit [0] = pamięć [0];


Fahrenheit [1] = pamięć [1];


Fahrenheit [2] = pamięć [2];


} inny


{


stopnie Celsjusza [0] = pamięć [0];


stopnie Celsjusza [1] = pamięć [1];


stopnie Celsjusza [2] = pamięć [2];


}


liczyć ++;


}


pamięć [0] = pamięć [1];


pamięć [1] = pamięć [2];


pamięć [2] = pamięć [3];


pamięć [3] = c;


}


if (! klient.podłączony ()) {


println ();


println ("rozłącz się z serwerem.");


jeśli (stopnie Fahrenheita [1] == 62) {


stopnie Fahrenheita [1] = 32;


stopnie Fahrenheita [0] = 32;


} inaczej if (fahrenheit [0] == 62) {


stopnie Fahrenheita [0] = 32;


}


jeśli (stopnie Celsjusza [1] == 40) {


stopnie Celsjusza [1] = 32;
<

Dodaj komentarz