Arduino Primo De quoi s’agit-il, à quoi sert-il et quelles sont ses particularités?
Si vous recherchez une carte Arduino qui se connecte à Internet via WiFi , utilise la technologie Bluetooth et NFC, alors le modèle Primo est idéal pour vos projets.
Cela est dû à la qualité de la connectivité dont il dispose et également aux autres composants qui améliorent considérablement l’opérabilité . L’un de ces éléments est l’ensemble des microcontrôleurs qui sont utilisés pour maintenir une bonne connexion.
Si vous voulez savoir comment travailler avec une carte Arduino Primo , vous devrez continuer à lire. Nous allons vous montrer une liste des meilleures idées que vous pouvez vous faire.
Qu’est-ce que Arduino Primo et à quoi servent ces cartes matérielles gratuites?
La carte Arduino Primo est un modèle développé aux États-Unis et lancé en 2016. Elle possède une architecture 32 bits dans ses pilotes, 14 broches pour les entrées et sorties numériques et 6 pour les entrées analogiques .
Il peut créer une grande variété de projets , en particulier ceux qui incluent une batterie , car il offre un récepteur et un émetteur infrarouge et un chargeur de batterie. De plus, il comprend un réseau de cartes WiFi et Bluetooth , ce qui lui permet de fonctionner dans l’IoT .
Quelles sont les particularités des cartes de développement Arduino Primo?
Les fonctionnalités les plus remarquables que vous pouvez trouver dans une carte Arduino Primo sont les suivantes:
- Cette assiette mesure 7,62 x 5,08 cm. et pèse 85 grammes.
- Il peut être connecté au WiFi , via Bluetooth et via la technologie de communication en champ proche NFC .
- Il dispose de 3 microcontrôleurs , le nRF52832, le STM32f103 et l’ESP8266. Qui fonctionnent comme le MCU principal de la carte, pour les programmes de débogage et pour la communauté via WiFi, respectivement.
- Il dispose de 14 broches d’ entrée et de sortie numériques , dont 12 peuvent être utilisées comme marqueur d’impulsion ou PWM. En outre, il dispose de 6 broches d’entrée analogiques .
- Il dispose d’un connecteur MicroUSB , avec une antenne pour NFC, un buzzer et des boutons de réinitialisation et d’arrêt.
- Il dispose également d’ un chargeur de batterie avec un résonateur 64 MHz .
- La tension avec laquelle il fonctionne est de 3V , vous devez donc faire attention à ne pas brûler les composants .
- Il fonctionne avec un protocole WiFi 11 bgn en fréquence 2,4 GHz .
Meilleure connectivité Comment mieux profiter de cette fonctionnalité de l’Arduino Primo?
Pour profiter au mieux de la connectivité offerte par la carte Arduino Primo, vous devrez ajouter la carte Arduino NRF52 Core dans l’IDE .
Vous pouvez le faire en entrant Outils, puis sélectionnez Plaques et enfin choisissez Gestionnaire de cartes:
- Ensuite, une nouvelle fenêtre s’ouvrira dans laquelle vous devrez choisir NRF52 Core .
- Vous devez garder à l’esprit que si vous travaillez sur un ordinateur avec un système d’exploitation Windows ou MacOS , vous n’aurez pas besoin d’installer de pilotes . Par contre, si vous utilisez Linux, vous devrez exécuter le script que vous trouverez sur la page officielle Arduino.
https://www.arduino.cc/en/Sh/Txt
- Après cela, vous devrez ajouter le port série . Pour cela, vous devez entrer dans l’ IDE et cliquer sur Tools puis sur Serial Port Menu , où vous trouverez le nom du port sur lequel vous avez connecté la carte.
- Après avoir téléchargé l’environnement (en cliquant sur Programme puis sur Télécharger ), vous devrez vous connecter à Internet via WiFi . Vous pouvez le faire en allumant la carte puis en entrant dans le menu Réseaux de votre ordinateur. Vous trouverez le SSID très facile , car il porte le nom Arduino Primo .
- Dans le navigateur, vous devez entrer l’adresse
http://192.168.240.1/
pour pouvoir accéder aux options de configuration de la carte. Ensuite, vous devrez aller dans le menu Connexion , vous devrez entrer le mot de passe Wi-Fi puis cliquer sur CONNECTER . - Enfin, l’IP de l’Arduino apparaîtra , vous devrez donc changer l’état du panneau de configuration en SWITCH TO STA MODE . De cette façon, vous pouvez obtenir une meilleure connectivité.
Liste des idées de projets que vous pouvez développer à l’aide des cartes Arduino Primo
Ensuite, vous pourrez trouver une liste des meilleurs projets que vous pouvez réaliser vous-même avec un Arduino Primo:
Surveiller le rythme cardiaque
«MISE À JOUR ✅ Voulez-vous en savoir plus sur les silvers Arduino PRIMO et comment travailler avec eux? ⭐ ENTREZ ICI ⭐ et apprenez tout ✅ À PARTIR DE ZÉRO ✅»
Vous pouvez créer ce projet à l’ aide d’une carte Arduino Primo , d’un capteur de pouls pour obtenir des informations sur la fréquence cardiaque et les câbles nécessaires à la connexion. La première chose à faire est de connecter le PWR du capteur à 3,3 V; puis GND au GND de la carte et le signal au canal A0.
Ensuite, vous devrez entrer ces codes de programmation:
#include <BLEPeripheral.h> #define SIGNAL A0 BLEPeripheral blePeripheral; BLEService heartRateService ("180D"); BLECaractéristique heartRateChar ("2A37", BLERead | BLENotify, 2); void findHeartRate (float averageSample); échantillon int [300] = {0}; int n = 0; int sumSample = 0; float averageSample = 0; void setup () { commencer (250000); setLocalName ("HeartRateSketch"); setAdvertisedServiceUuid (heartRateService.uuid ()); addAttribute (heartRateService); addAttribute (heartRateChar); commencer (); println ("Périphérique Bluetooth actif, en attente de connexions ..."); } boucle void () { BLECentral central = blePeripheral.central (); if (central) { print ("Connecté au central:"); println (adresse. centrale ()); // allume la led BLE digitalWrite (BLE_LED, HIGH); while (central.connected ()) { si (millis ()% 10 == 0) { int rawValue = analogRead (A0); int sensorValue = carte (valeur brute, 0, 1023, 0, 255); println (sensorValue); sumSample = sumSample + sensorValue; sumSample = sumSample - échantillon [n]; échantillon [n] = sensorValue; n ++; averageSample = (float) sumSample / 300; si (n == 300) { n = 0; findHeartRate (averageSample); } retard (1); } } print ("Déconnecté du central:"); println (adresse. centrale ()); } digitalWrite (BLE_LED, LOW); retard (200); digitalWrite (BLE_LED, HIGH); retard (200); } void findHeartRate (float averageSample) { nombre int = 0; int totalTime = 0; int lastI = 0; booléen trendState = false; booléen goOverThreshold = false; int heartRate = 0; float setThreshold = 1,25; pour (int i = 0; i <300; i ++) { goOverThreshold = (échantillon [i]> (averageSample * setThreshold)); if (goOverThreshold! = trendState) { trendState = goOverThreshold; if (goOverThreshold == false) { if (nombre> 0) { totalTime = totalTime + (i - dernierI); } count ++; lastI = i; } } } heartRate = 6000 * (nombre - 1) / totalTime; const unsigned char heartRateCharArray [2] = {0, (char) heartRate}; setValue (heartRateCharArray, 2); //Serial.print("heartRate est: "); //Serial.println(heartRate); }
Contrôle de la souris via mobile sur un lecteur multimédia
Vous aurez besoin d’une pile bouton de type CR2032, d’ une carte Arduino Primo Core et d’un mobile avec Bluetooth activé.
Lorsque vous travaillez avec IDE, vous n’aurez besoin d’aucun circuit, vous devez donc entrer directement ces codes:
#include <CoreSensors.h> #include <BLEHIDPeripheral.h> #include <BLEMouse.h> #include <BLESystemControl.h> #define MOUSE_RANGE 24 #define INT1 21 int tap = 0; int chrono = 0; nombre int = 0; BLEHIDPeripheral bleHIDPeripheral = BLEHIDPeripheral (); BLEMouse bleMouse; BLESystemControl bleSystemControl; void setup () { pinMode (LED_BUILTIN, OUTPUT); pinMode (12, SORTIE); commencer (115200); println (F ("BLE HID Peripheral - Effacement des données de liaison")); clearBondStoreData (); setReportIdOffset (1); setLocalName ("Arduino Core Mouse"); addHID (bleMouse); addHID (bleSystemControl); commencer (); println (F ("Démo BLE HID")); commencer (); enableSingleTapDetection (); attachInterrupt (INT1, Tap, RISING); } boucle void () { BLECentral central = bleHIDPeripheral.central (); digitalWrite (LED_BUILTIN, LOW); if (central) { print (F ("Connecté au central:")); println (adresse. centrale ()); compte = 0; while (central.connected ()) { digitalWrite (LED_BUILTIN, HIGH); si (appuyez sur) { tap = 0; état uint8_t = 0; getStatusSingleTapDetection (& statut); si (statut) { if (nombre% 2 == 0) { digitalWrite (12, HIGH); // allume la led presse (); count ++; } autre { digitalWrite (12, FAIBLE); Libération (); count ++; } } } accéléromètres int32_t [3] = {0}; getAccelerometer (accéléromètres); if (accéléromètres [2]> 0 && (abs (accéléromètres [0])> 100 || abs (accéléromètres [1])> 100) && (millis ()> (chrono + 200))) { int mappedX = map (accéléromètres [0], -1023, 1023, -12, 12); int mappedY = map (accéléromètres [1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappéY; déplacer (x, y); }
Ensuite, vous devez connecter le mobile à la carte via Bluetooth pour commencer à utiliser la souris sans fil.
Capteur météorologique
Ce projet est un peu plus compliqué que les précédents, car vous aurez besoin de deux cartes Arduino, un Primo et un Primo Core. Ce dernier est chargé d’envoyer un signal au premier afin que vous puissiez rechercher sur le Web la température d’une ville spécifique. En plus des deux plaques, vous aurez besoin d’un CR2032 et d’un smartphone.
Vous devez connecter les Arduinos à leurs broches respectives et continuer avec la saisie de ces codes dans l’IDE:
#include <WiFiLink.h>
#include <BLEPeripheral.h>
#include <BLESerial.h>
BLESerial bleSerial = BLESerial ();
char ssid [] = "cclIT";
char pass [] = "ht34! eG $";
int keyIndex = 0;
nombre int;
mémoire de caractères [5];
char fahrenheit [4];
char celsius [4];
indicateur booléen = faux;
état int = WL_IDLE_STATUS;
char server [] = "www.nytimes.com";
Client WiFiClient;
void setup () {
setLocalName ("WeatherFinder");
pinMode (BLE_LED, OUTPUT);
commencer (115200);
commencer ();
mémoire [4] = '\ 0';
fahrenheit [3] = '\ 0';
celsius [3] = '\ 0';
}
boucle void () {
sondage ();
if (bleSerial && Serial) {
int byte;
if ((byte = bleSerial.read ())> 0) {
if (WiFi.status () == WL_NO_WIFI_MODULE_COMM) {
println ("Communication avec le module WiFi non établie.");
}
while (statut! = WL_CONNECTED) {
print ("Tentative de connexion au SSID:");
println (ssid);
status = WiFi.begin (ssid, pass);
retard (10000);
}
println ("Connecté au wifi");
println ("\ nDémarrage de la connexion au serveur ...");
if (client.connect (serveur, 80)) {
println ("connecté au serveur");
println ("GET /gst/weather.html?detail=Cagliari--IY HTTP / 1.1");
println ("Hébergeur: www.nytimes.com");
println ("Connexion: fermer");
println ();
}
drapeau = vrai;
}
}
while (drapeau) {
while (client.available ()) {
char c = client.read ();
si (c == 176 && compte <2)
{
if (nombre == 0) {
fahrenheit [0] = mémoire [0];
fahrenheit [1] = mémoire [1];
fahrenheit [2] = mémoire [2];
} autre
{
celsius [0] = mémoire [0];
celsius [1] = mémoire [1];
celsius [2] = mémoire [2];
}
count ++;
}
mémoire [0] = mémoire [1];
mémoire [1] = mémoire [2];
mémoire [2] = mémoire [3];
mémoire [3] = c;
}
if (! client.connected ()) {
println ();
println ("se déconnecter du serveur.");
si (fahrenheit [1] == 62) {
fahrenheit [1] = 32;
fahrenheit [0] = 32;
} sinon si (fahrenheit [0] == 62) {
fahrenheit [0] = 32;
}
si (celsius [1] == 40) {
celsius [1] = 32;<