
Se você estiver procurando por um placa Arduino que se conecta à Internet via Wi-Fi, utilize a tecnologia de Bluetooth e pela NFC, então o modelo Primeiro É ideal para os seus projetos.
Isso se deve à sua conectividade de alta qualidade e a outros componentes que melhoram substancialmente sua operacionalidade.Um desses elementos é o conjunto de MCU que são usadas para manter uma boa conexão.
Se você quer saber como trabalhar com um Placa Arduino PrimoVocê terá que continuar lendo. Mostraremos uma lista com as melhores ideias. que você mesmo pode fazer.
O que são as placas Arduino Primo e para que servem essas placas de hardware de código aberto?
La Placa Arduino Primo É um modelo que foi desenvolvido nos Estados Unidos e lançado em 2016. Possui uma arquitetura de 32 bits em seus controladores, 14 pinos para entrada e saída digital e 6 para entradas analógicas..
Pode Criar uma ampla variedade de projetos, especialmente aquelas que incluem uma bateriapois oferece um receptor e transmissor infravermelho, além de um carregador de bateria. Também inclui uma placa de rede. Wi-Fi e Bluetooth, então você pode Trabalhando em IoT.
Quais são as características especiais das placas de desenvolvimento Arduino Primo?
As características mais marcantes que você encontrará em uma placa Arduino Primo são as seguintes:
- Este prato tem o tamanho de 7,62 5,08 cm x. e pesa 85 gramas.
- Ele pode se conectar a Wi-fi, por meio de Bluetooth e através da tecnologia de comunicação de campo próximo NFC.
- Possui 3 microcontroladores.O nRF52832, o STM32f103 e o ESP8266 funcionam como o microcontrolador principal da placa, para depuração de programas e para conectividade Wi-Fi, respectivamente.
- É dono 14 pinos digitais Pinos de entrada e saída, 12 dos quais podem ser usados como marcadores de pulso ou PWM. Também possui 6 pinos de entrada analógica.
- Possui um conector. MicroUSB, com uma antena para NFC, uma campainha e botões de reinicialização e de ligar/desligar.
- Também tem um carregador de bateria com um ressonador de 64 MHz.
- A tensão na qual ele opera é 3VPortanto, é preciso ter cuidado com Não queime os componentes..
- Trabalhe com um Protocolo WiFi 11 bilhões en 2.4 GHz de frequência.
Conectividade aprimorada: como aproveitar ao máximo esse recurso do Arduino Primo?
Para melhor aproveitar a conectividade oferecida pela placa Arduino Primo. Você precisará adicionar a placa Arduino NRF52 Core na IDE..
Você pode fazer isso acessando Ferramentas, selecionando Quadros e, por fim, escolhendo Gerenciador de Quadros:
- Uma nova janela será então aberta, na qual Você precisará escolher o núcleo NRF52..
- Você deve ter em mente que, se estiver trabalhando em um computador com um sistema operacional... No Windows ou macOS, você não precisará instalar drivers.No entanto, se você usar Linux Você terá que execute o script Você encontrará isso no site oficial de Arduino
https://www.arduino.cc/en/Sh/Txt - Depois disso, você terá que adicionar a porta serialPara isso, você precisará fazer login no IDE e clique Ferramentas e então em Menu da porta serial, onde você encontrará o nome da porta à qual sua placa está conectada.
- Após carregar o ambiente (clicando em programa e então em carregar), você precisará Conecte-se à internet via Wi-Fi.Você pode fazer isso ativando o adaptador de rede e acessando o menu Rede do seu computador. Você o encontrará facilmente. SSID, já que carrega o nome Primo Arduino.
- No seu navegador, você precisará inserir o endereço.
http://192.168.240.1/Assim, você poderá acessar as opções de configuração da placa-mãe. Em seguida, você precisará acessar o menu. Conexão Você precisará inserir sua senha de Wi-Fi e, em seguida, tocar em LIGAR. - Finalmente, O endereço IP do Arduino será exibido.Portanto, você precisará alterar o status no painel de configurações para MUDAR PARA O MODO STADessa forma, você poderá obter uma melhor conectividade.
Lista de ideias de projetos que você pode desenvolver usando placas Arduino Primo.
Abaixo você encontrará uma lista dos melhores projetos que você mesmo pode fazer com um Arduino Primo:
monitor de frequência cardíaca
Você poderá Criar usando uma placa Arduino Primoum sensor de pulso para obter informações sobre a frequência cardíaca e os cabos necessários para a conexão. O primeiro passo é conectar o PWR do sensor a 3.3V; em seguida, o GND ao GND da placa e o sinal ao canal A0.
Em seguida, você precisará inserir estes códigos de programação:
#incluir #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("Dispositivo Bluetooth ativo, aguardando conexões..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Conectado ao central: "); println(central.address()); //liga o LED 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("Desconectado da central: "); println(central.address()); } digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); atraso(200); } void encontrarFrequênciaCardíaca (float amostraMédia) { int contagem = 0; int tempoTotal = 0; int últimoI = 0; bool estadoTendência = falso; bool ultrapassarLimite = falso; int frequênciaCardíaca = 0; float definirLimite = 1.25; para (int i = 0; i < 300; i++) { ultrapassarLimite = (amostra[i] > (amostraMédia * definirLimite)); se (ultrapassarLimite != estadoTendência) { estadoTendência = ultrapassarLimite; se (ultrapassarLimite == falso) { se (contagem > 0) { tempoTotal = tempoTotal + (i - últimoI); } contagem++; últimoI = i; } } } frequênciaCardíaca = 6000 * (contagem - 1) / tempoTotal; const unsigned char heartRateCharArray[2] = { 0, (char)heartRate }; setValue(heartRateCharArray, 2); //Serial.print("Frequência cardíaca é: "); //Serial.println(heartRate); }
Controle do mouse por meio de dispositivo móvel em um reprodutor multimídia
Você precisará de uma bateria tipo botão. CR2032, um prato Arduino Primo Core e um telefone celular com Bluetooth ativado.
Ao trabalhar com uma IDE, você não precisará de nenhuma placa de circuito impresso, bastando inserir esses códigos diretamente:
#incluir #incluir #incluir #incluir #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 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("Conectado ao 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); //liga o 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()>(chrono+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); }
Então você deve Conecte seu celular à placa via Bluetooth. Para começar a usar o mouse sem fio.
Sensor meteorológico
Este projeto é um pouco mais complicado do que os anteriores, porque Você precisará de duas placas Arduino, uma Primo e uma Primo Core. Este último é responsável por enviar um sinal ao primeiro para que você possa pesquisar na internet a temperatura de uma cidade específica. Além dos dois painéis, você precisará de um CR2032 e um smartphone.
Você precisará conectar o Arduino aos seus respectivos pinos e continuar inserindo esses códigos na IDE:
#incluir #incluir #incluir 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; if ((byte = bleSerial.read()) > 0) { if (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Comunicação com o módulo WiFi não estabelecida."); } while (status != WL_CONNECTED) { print("Tentando conectar ao SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Conectado ao wifi"); println("\nIniciando conexão com o servidor..."); if (client.connect(server, 80)) { println("Conectado ao servidor"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Host: www.nytimes.com"); println("Conexão: fechada"); 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("desconectando do servidor."); 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("Temperatura em Fahrenheit: "); print(fahrenheit); println("°"); print("Temperatura em Celsius: "); print(celsius); println("°"); stop(); write(celsius); flag = false; } } if (bleSerial.status() == ADVERTISING) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); atraso(200); } senão digitalWrite(BLE_LED, HIGH); }


















