Llévate los mejores 📘EBOOKS📘 ➡ ENTRA AQUÍ

Arduino Primo ¿Qué es, para qué sirve y cuáles son sus prestaciones especiales?

Si estás buscando una placa de Arduino que se conecte a Internet por medio de WiFi, utilice la tecnología de bluetooth y la NFC, entonces el modelo Primo es ideal para tus proyectos.

Esto se debe a la calidad de conectividad que tiene y también a los demás componentes que mejoran de manera sustancial la operatividad. Uno de esos elementos es el conjunto de MCU que se usan para sostener una buena conexión.

Si quieres saber cómo trabajar con una placa Arduino Primo, tendrás que continuar leyendo. Te mostraremos una lista con las mejores ideas que puedes hacer tú mismo.

¿Qué son las Arduino Primo y para qué sirven estas placas de hardware libre?

La placa Arduino Primo es un modelo que se desarrolla en los Estados Unidos y fue lanzada en el año 2016. Dispone de una arquitectura de 32 bits en sus controladores, 14 pines para entrada y salida digital y 6 para entradas analógicas.

Se puede crear una gran variedad de proyectos, en especial aquellos que incluyen batería, ya que ofrece un receptor y transmisor de infrarrojos y un cargador de pilas. Además, incluye una red de placa de WiFi y de Bluetooth, por lo que se puede trabajar en IoT.

¿Cuáles son las características especiales de las placas de desarrollo de Arduino Primo?

¿Cuáles son las características especiales de las placas de desarrollo de Arduino Primo?

Las características más destacadas que podrás encontrar en una placa Arduino Primo son las siguientes:

  • Esta placa tiene un tamaño de 7,62 x 5,08 cm. y pesa 85 gramos.
  • Se puede conectar a WiFi, por medio de Bluetooth y por medio de la tecnología de comunicación campo cercano NFC.
  • Dispone de 3 microcontroladores, el nRF52832, el STM32f103 y el ESP8266. Los cuales trabajan como el MCU principal de la placa, para la depuración de programas y para la colectividad por medio de WiFi, respectivamente.
  • Posee 14 pines digitales de entrada y salida, de los cuales 12 se puede usar como marcador de pulsos o PWM. Además, tiene 6 pines de entrada analógica.
  • Cuenta con un conector MicroUSB, con una antena para NFC, un zumbador y botones de reset y de apagado.
  • También tiene un cargador de baterías con un resonador de 64 MHz.
  • La tensión con la que trabaja es de 3V, por lo que hay que tener cuidado de no quemar los componentes.
  • Trabaja con un protocolo de WiFi 11 bgn en 2.4 GHz de frecuencia.
Recomendado para ti:
¿Cómo mejorar y aumentar mi privacidad en las redes sociales fácil y rápido? Guía paso a paso

Mejor conectividad ¿Cómo aprovechar mejor esta característica de las Arduino Primo?

Mejor conectividad ¿Cómo aprovechar mejor esta característica de las Arduino Primo?

Para aprovechar mejor la conectividad que ofrece la placa Arduino Primo vas a tener que agregarle la placa Arduino NRF52 Core en el IDE.

Esto lo podrás hacer ingresando a Herramientas, luego seleccionar Placas y por último escoger Gestor de tarjetas:

  • A continuación, se abrirá una ventana nueva en la cual tendrás que elegir NRF52 Core.
  • Debes tener en cuenta que si trabajas en un ordenador con sistema operativo Windows o MacOS no necesitarás la instalación de controladores. En cambio, si usas Linux vas a tener que ejecutar el script encontrarás en la página oficial de Arduino. https://www.arduino.cc/en/Sh/Txt
  • Luego de esto, tendrás que agregar el puerto de serie. Para eso deberás ingresar en el IDE y hacer clic en Herramientas y después en Menú del puerto serie, en donde encontrarás el nombre del puerto en el cual tienes conectada la placa.
  • Luego de subir el entorno (pulsando en Programa y después en Subir), necesitarás conectarte a Internet por medio de WiFi. Esto lo podrás hacer encendiendo la placa y luego ingresando al menú Redes de tu ordenador. Encontrarás muy fácil el SSID, ya que lleva el nombre Arduino Primo.
  • En el navegador deberás ingresar a la dirección http://192.168.240.1/ para que puedas acceder a las opciones de configuración de la placa. Después, tendrás que dirigirte al menú Conexión vas a tener que ingresar la contraseña de Wifi y luego pulsar en CONECTAR.
  • Por último, te aparecerá la IP de la Arduino, por lo que deberás cambiar el estado desde el panel de configuración a SWITCH TO STA MODE. De esta manera podrás obtener una mejor conectividad.

Lista de ideas de proyectos que puedes desarrollar usando placas Arduino Primo

A continuación, vas a poder encontrar una lista con los mejores proyectos que puedes hacer tú mismo con una Arduino Primo:

Monitor de pulso cardíaco

Monitor de pulso cardíaco



"ACTUALIZADO ✅ ¿Quieres conocer acerca de las platas Arduino PRIMO y cómo trabajar con ellas? ⭐ ENTRA AQUÍ ⭐ y Aprende Todo ✅ DESDE CERO ✅"
Ebooks de IPAP
Ebooks IPAP

Este proyecto lo podrás crear utilizando una placa de Arduino Primo, un sensor de pulso para obtener información de la frecuencia cardíaca y cables necesarios para la conexión. Lo primero que deberás hacer es conectar el PWR del sensor a 3.3V; luego GND al GND de la placa y la señal al canal A0.

Recomendado para ti:
¿Cuáles son las mejores plantillas de PowerPoint gratis para descargar online? Lista [year]

A continuación, tendrás que ingresar estos códigos de programación:

#include <BLEPeripheral.h>

#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 device active, waiting for connections...");

}

void loop() {

BLECentral central = blePeripheral.central();

if (central) {

print("Connected to central: ");

println(central.address());

//turn on BLE led

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("Disconnected from central: ");

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("heartRate is: ");

//Serial.println(heartRate);

}

Control del ratón por medio del móvil en un reproductor multimedia

Control del ratón por medio del móvil en un reproductor multimedia

Vas a necesitar una pila de botón de tipo CR2032, una placa Arduino Primo Core y un móvil con Bluetooth activado.

Al trabajar con IDE no necesitarás de ningún circuito, por lo que directamente deberás ingresar estos códigos:

#include <CoreSensors.h>

#include <BLEHIDPeripheral.h>

#include <BLEMouse.h>

#include <BLESystemControl.h>

#define MOUSE_RANGE 24

#define INT1 21

int tap = 0;

int crono = 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 Peripheral - clearing bond data"));

clearBondStoreData();

setReportIdOffset(1);

setLocalName("Arduino Core Mouse");

addHID(bleMouse);

addHID(bleSystemControl);

begin();

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

begin();

enableSingleTapDetection();

attachInterrupt(INT1, Tap, RISING);

}

void loop() {

BLECentral central = bleHIDPeripheral.central();

digitalWrite(LED_BUILTIN, LOW);

if (central) {

print(F("Connected to 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); //turn on the led

press();

count++;

}

else {

digitalWrite(12, LOW);

release();

count ++;

}

}

}

int32_t accelerometers[3] = {0};

getAccelerometer(accelerometers);

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

int mappedX = map (accelerometers[0], -1023, 1023, -12, 12);

int mappedY = map (accelerometers[1], -1023, 1023, -12, 12);

int x = -1 * mappedX;

int y = mappedY;

move(x, y);

}

Luego deberás conectar el móvil a la placa por medio de Bluetooth para comenzar a usar el ratón inalámbrico.

Sensor meteorológico

Sensor meteorológico

Este proyecto es un poco más complicado que los anteriores, ya que necesitarás de dos placas Arduino, una Primo y una Primo Core. Esta última es la que se encarga de enviarle una señal a la primera para que busques en la web la temperatura de una ciudad determinada. Además de las dos placas necesitarás una CR2032 y un smartphone.

Recomendado para ti:
¿Cómo crear una cuenta de Xiaomi Mi fácil y rápido? Guía paso a paso

Deberás conectar las Arduino en sus respectivos pines y continuar con el ingreso de estos códigos en el IDE:

#include <WiFiLink.h>

#include <BLEPeripheral.h>

#include <BLESerial.h>

BLESerial bleSerial = BLESerial();

char ssid[] = "cclIT";

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

int keyIndex = 0;

int count;

char memory[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;

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

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

println("Communication with WiFi module not established.");

}

while (status != WL_CONNECTED) {

print("Attempting to connect to SSID: ");

println(ssid);

status = WiFi.begin(ssid, pass);

delay(10000);

}

println("Connected to wifi");

println("\nStarting connection to server...");

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

println("connected to server");

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

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

println("Connection: close");

println();

}

flag = true;

}

}

while (flag) {

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("disconnecting from server.");

if (fahrenheit[1] == 62){

fahrenheit[1] = 32;

fahrenheit[0] = 32;

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

fahrenheit[0] = 32;

}

if (celsius[1] == 40){

celsius[1] = 32;

celsius[0] = 32;

} else if (celsius[0] == 40){

celsius[0] = 32;

}

print("Temperature in fahrenheit: ");

print(fahrenheit);

println("°");

print("Temperature in celsius: ");

print(celsius);

println("°");

stop();

write(celsius);

flag = false;

}

}

if (bleSerial.status() == ADVERTISING) {

digitalWrite(BLE_LED, LOW);

delay(200);

digitalWrite(BLE_LED, HIGH);

delay(200);

}

else

digitalWrite(BLE_LED, HIGH);

}
Ebooks de IPAP
Ebooks IPAP

Si te quedaste con alguna duda, déjalas en los comentarios, te contestaremos lo antes posible, además seguro que será de gran ayuda para más miembros de la comunidad. Gracias! 😉

Más Trucos y Consejos cada día ¡Apúntate Aquí!


He leído y acepto los términos y condiciones

Temas

Félix Albornoz
Autor: Félix Albornoz

Llevo más de 20 años trabajando en el sector tecnológico ayudando a empresas y usuarios a desarrollarse y formarse en este campo. Siempre aprendiendo cosas nuevas.

Recomendadas

Relacionadas


Populares


Deja un comentario

  ◀ Acepto los términos de privacidad