Materiel

Arduino Primo Wat is het, waar is het voor en wat zijn de bijzonderheden?

Als u op zoek bent naar een arduino bord die via wifi verbinding maakt met internet , toepassingen la technologie Bluetooth et NFC, dan het model eerste is ideaal voor uw projecten.

Dit komt door de kwaliteit van de connectiviteit die het heeft en ook door de andere componenten die de bediening aanzienlijk verbeteren. . Een van deze elementen is de verzameling van microcontrollers die worden gebruikt om een ​​goede verbinding te behouden.

Als je wilt weten hoe je moet werken met een Arduino Primo-bord , je zult moeten blijven lezen. We laten je een lijst zien met de beste ideeën dat je zelf kunt doen.

Wat is Arduino Primo en waar zijn deze gratis hardwarekaarten voor?

La Arduino Primo-bord is een model ontwikkeld in de Verenigde Staten en gelanceerd in 2016. Het heeft een 32-bits architectuur in de drivers, 14 pinnen voor digitale ingangen en uitgangen en 6 voor analoge ingangen .

Hij kan een grote verscheidenheid aan projecten creëren , en vooral die met een batterij , omdat het een infraroodontvanger en -zender en een batterijlader biedt. Daarnaast bevat het een réseau de kaarten WiFi en bluetooth , waardoor hij opereren in het IoT .

Wat zijn de speciale kenmerken van Arduino Primo ontwikkelborden?

De meest opvallende kenmerken die u in een Arduino Primo-bord kunt vinden, zijn als volgt:

  • Deze plaat meet: 7,62 5,08 x cm. en weegt 85 gram.
  • Het kan worden aangesloten op WiFi Via Bluetooth en via la Near Field Communication-technologie NFC .
  • Het heeft 3 microcontrollers , nRF52832, STM32f103 en ESP8266. Die werken als de belangrijkste MCU van de kaart, respectievelijk voor het debuggen van programma's en voor de gemeenschap via wifi.
  • Hij heeft 14 pins in- en uitstappen digitaal , waarvan er 12 kunnen worden gebruikt als puls- of PWM-marker. Bovendien heeft het 6 analoge ingangspinnen .
  • Het heeft een connector MicroUSB , met een antenne voor NFC, een zoemer en reset- en stopknoppen.
  • Het heeft ook een batterijlader met een 64 MHz resonator .
  • De spanning waarmee het werkt is 3V , dus je moet opletten verbrand de componenten niet .
  • Het werkt met een WiFi-protocol 11 miljard en Frequence 2,4 GHz .

Betere connectiviteit Hoe kunt u beter profiteren van deze functionaliteit van de Arduino Primo?

Om optimaal gebruik te maken van de connectiviteit die het Arduino Primo-bord biedt, je moet het Arduino NRF52 Core-bord toevoegen aan de IDE .

U kunt dit doen door Tools in te voeren, vervolgens Platen te selecteren en ten slotte Map Manager te kiezen:

  • Er wordt dan een nieuw venster geopend waarin: u moet NRF52 Core kiezen .
  • U moet er rekening mee houden dat als u op een computer met een besturingssysteem werkt Windows of MacOS , je zult niet hebben geen behoefte om stuurprogramma's te installeren . Aan de andere kant, als u Linux, je zou moeten voer het script uit dat u vind op de officiële pagina Arduino. https://www.arduino.cc/en/Sh/Txt
  • Daarna moet je seriële poort toevoegen . Hiervoor moet u de IDE en klik op Tools dan verder Seriële poortmenu , waar u de naam vindt van de poort waar u de kaart hebt aangesloten.
  • Na het downloaden van de omgeving (door te klikken op programma dan verder Downloaden ), je zal moeten verbinding maken met internet via wifi . U kunt dit doen door de kaart aan te zetten en vervolgens naar het menu Netwerken op uw computer te gaan. U zult het vinden SSID heel gemakkelijk , omdat het de naam draagt Arduino Neef .
  • In de browser moet u het adres invoeren http://192.168.240.1/om toegang te krijgen tot de kaartconfiguratie-opties. Dan moet je naar het menu VERBINDING , u moet het wifi-wachtwoord invoeren en vervolgens op . klikken AANSLUITEN .
  • Eindelijk, het IP-adres van de Arduino verschijnt , moet u de status van het bedieningspaneel wijzigen OVERSCHAKELEN NAAR STA-MODUS . Op deze manier kunt u een betere connectiviteit krijgen.

Lijst met projectideeën die u kunt ontwikkelen met behulp van Arduino Primo-kaarten

Dan vind je hier een lijst met de leukste projecten die je zelf kunt doen met een Arduino Primo:

Hartslag controleren

“UPDATE ✅ Wil je meer weten over Arduino PRIMO silvers en hoe je ermee kunt werken? ⭐ VOER HIER IN ⭐ en leer alles ✅ VANAF NUL ✅ »

je kunt creer dit project op met behulp van een Arduino Primo-bord , een polssensor voor hartslaginformatie krijgen en de kabels die nodig zijn voor de verbinding. Het eerste dat u moet doen, is de PWR van de sensor aansluiten op 3,3 V; dan GND naar GND van de kaart en het signaal naar kanaal A0.

Dan moet u deze programmeercodes invoeren:

#include

#define SIGNAAL A0

BLEPerifere blePerifere;

BLEService heartRateService ("180D");

BLEKarakteristieke hartslagChar ("2A37",

BLELees | BLEMelden, 2);

ongeldig findHeartRate (float averageSample);

voorbeeld int [300] = {0};

intn = 0;

int somSample = 0;

float gemiddeldeSample = 0;

ongeldige instelling () {

begin (250000);

setLocalName ("HeartRateSketch");

setAdvertisedServiceUuid(heartRateService.uuid());

addAttribute(heartRateService);

addAttribute(heartRateChar);

beginnen ();

println ("Bluetooth-apparaat actief, wacht op verbindingen ...");

}

lege lus () {

BLECentral central = blePeripheral.central();

als (centraal) {

print ("Verbonden met de centrale:");

println (adres. centrale ());

// zet de BLE-led aan

digitalWrite (BLE_LED, HOOG);

while (centrale.verbonden ()) {

if (millis ()% 10 == 0) {

int rawValue = analoog lezen (A0);

int sensorValue = kaart (onbewerkte waarde, 0, 1023, 0, 255);

println(sensorWaarde);

sumSample = sumSample + sensorWaarde;

sumSample = sumSample - voorbeeld [n];

monster [n] = sensorwaarde;

n++;

gemiddeldeSample = (float) sumSample / 300;

als (n == 300) {

n=0;

findHeartRate (gemiddeldeSample);

}

vertraging (1);

}

}

print ("Losgekoppeld van de centrale:");

println (adres. centrale ());

}

digitalWrite (BLE_LED, LAAG);

vertraging (200);

digitalWrite (BLE_LED, HOOG);

vertraging (200);

}

void findHeartRate(float gemiddeldeSample) {

getal int = 0;

int totaalTijd = 0;

int laatsteI = 0;

booleaanse trendState = false;

boolean goOverThreshold = false;

int hartslag = 0;

vlottersetdrempel = 1,25;

voor (int ik = 0; ik <300; ik ++) {

goOverThreshold = (voorbeeld [i]> (gemiddelde voorbeeld * setThreshold));

if (goOverThreshold!=trendState) {

trendState = goOverThreshold;

als (goOverThreshold == false) {

als (getal> 0) {

totalTime = totalTime + (i - lastI);

}

tel ++;

laatsteI = ik;

}

}

}

hartslag = 6000 * (getal - 1) / totale tijd;

const niet-ondertekende char heartRateCharArray[2] = {0, (char) heartRate};

setValue(heartRateCharArray, 2);

//Serial.print("hartslag is: ");

//Serial.println (hartslag);

}

Muisbediening via mobiel op een mediaspeler

U hebt een knoopcelbatterij van het type nodig CR2032, van een Arduino Primo Core-bord en een mobiel met Bluetooth geactiveerd.

Als je met IDE werkt, heb je geen circuits nodig, dus je moet deze codes direct invoeren:

#include

#include

#include

#include

#define MOUSE_RANGE 24

#definieer INT1 21

int tik = 0;

int chrono = 0;

getal int = 0;

BLEHIDperifere bleHIDPerifere = BLEHIDPerifere ();

BLEMuis bleMouse;

BLESystemControl bleSystemControl;

ongeldige instelling () {

pinMode (LED_BUILTIN, UITGANG);

pinMode (12, UITGANG);

begin (115200);

println (F ("BLE HID Peripheral - Clear Link Data"));

clearBondStoreData();

setReportIdOffset(1);

setLocalName ("Arduino Core-muis");

addHID(bleMouse);

addHID(bleSystemControl);

beginnen ();

println (F ("BLE HID-demo"));

beginnen ();

enableSingleTapDetection();

attachInterrupt (INT1, Tik, RIJZEND);

}

lege lus () {

BLECentral central = bleHIDPeripheral central();

digitalWrite (LED_BUILTIN, LAAG);

als (centraal) {

print (F ("Verbonden met de centrale:"));

println (adres. centrale ());

aantal = 0;

while (centrale.verbonden ()) {

digitalWrite (LED_BUILTIN, HOOG);

als (druk op) {

tik op = 0;

staat uint8_t = 0;

getStatusSingleTapDetection (& status);

als (status)

{

if (getal% 2 == 0) {

digitalWrite (12, HOOG); // zet de led aan

haast je ();

tel ++;

}

andere {

digitalWrite (12, LAAG);

Vrijlating ();

tel ++;

}

}

}

versnellingsmeters int32_t [3] = {0};

getVersnellingsmeter (versnellingsmeters);

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

int mappedX = kaart (versnellingsmeters [0], -1023, 1023, -12, 12);

int mappedY = kaart (versnellingsmeters [1], -1023, 1023, -12, 12);

int x = -1 * toegewezenX;

int y = toegewezenY;

verplaatsen (x, y);

}

Dan moet je verbind de mobiel met de kaart via bluetooth om de draadloze muis te gaan gebruiken.

Weersensor

Dit project is iets ingewikkelder dan de vorige, want je hebt twee Arduino-kaarten nodig, een Primo en een Primo Core. De laatste is verantwoordelijk voor het verzenden van een signaal naar de eerste, zodat u op internet kunt zoeken naar de temperatuur van een specifieke stad. Naast de twee platen heb je een CR2032 en een smartphone.

Je moet de Arduino's verbinden met hun respectievelijke pinnen en doorgaan met het invoeren van deze codes in de IDE:

#include

#include


#include


BLESerial bleSerial = BLESerial();


char ssid [] = "cclIT";


char pass [] = "ht34! eG $";


int sleutelindex = 0;


int nummer;


tekengeheugen [5];


char Fahrenheit [4];


wagen celsius [4];


booleaanse vlag = onwaar;


int staat = WL_IDLE_STATUS;


char server [] = "www.nytimes.com";


WiFiClient-client;


ongeldige instelling () {


setLocalName ("WeatherFinder");


pinMode (BLE_LED, UITGANG);


begin (115200);


beginnen ();


geheugen [4] = '\ 0';


fahrenheit [3] = '\ 0';


celsius [3] = '\ 0';


}


lege lus () {


peiling ();


if (bleSerial && Serial) {


int-byte;


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


if (WiFi.status() == WL_NO_WIFI_MODULE_COMM) {


println ("Communicatie met de WiFi-module niet tot stand gebracht.");


}


while (status! = WL_CONNECTED) {


print ("Poging om verbinding te maken met SSID:");


println(ssid);


status = WiFi.begin(ssid, pass);


vertraging (10000);


}


println ("Verbonden met wifi");


println ("\ nDe verbinding met de server starten ...");


if (client.connect (server, 80)) {


println ("verbonden met de server");


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


println ("Host: www.nytimes.com");


println ("Verbinding: sluiten");


println();


}


vlag = waar;


}


}


terwijl (vlag) {


while (client.beschikbaar ()) {


char c = client.lezen ();


als (c == 176 && tellen <2)


{


als (getal == 0) {


fahrenheit [0] = geheugen [0];


fahrenheit [1] = geheugen [1];


fahrenheit [2] = geheugen [2];


} andere


{


celsius [0] = geheugen [0];


celsius [1] = geheugen [1];


celsius [2] = geheugen [2];


}


tel ++;


}


geheugen [0] = geheugen [1];


geheugen [1] = geheugen [2];


geheugen [2] = geheugen [3];


geheugen [3] = c;


}


if (! client.verbonden ()) {


println();


println ("verbinding met de server verbreken.");


if (fahrenheit [1] == 62) {


fahrenheit[1]=32;


fahrenheit[0]=32;


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


fahrenheit[0]=32;


}


als (celsius [1] == 40) {


Celsius [1] = 32;
<

Vergelijkbare items

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

Terug naar boven knop