BLE kontrollerade OLED-skärm (14 / 19 steg)
Steg 14: Arduino kod
Nu när våra chip är redo att användas, vi skriver lite kod för att göra det interagerar med vår smartphone. Det finns en Arduino SDK av Nordic (BLE library) som innehåller källkoden för utveckling av program på Arduino. Detta hjälper oss inkludera tjänster och arbeta med dem med hjälp av Arduino-miljö.
Arduino SDK bygger på ett koncept som kallas ACI (Application Controller Interface). ACI kan ses som en kommunikationskanal att varningar Arduino varje gång det är en händelse som ändring i status, mottagande av data, fel, etc. Varje cykel finns avsökning efter uppdateringar över ACI kommunikationskanalen till check huruvida en händelse har inträffat eller inte. I händelse av intresse är i detta fall när data har tagits emot. När text skickas via Bluetooth till utveckling styrelsen, meddelas Arduino så att det kan agera därefter för att visa texten på OLED.
Det finns en mall i BLE bibliotek (ble_my_project_template) som visar hur ACI är implementerad i Arduino IDE. För att hålla vår kod rent, skapade vi biblioteket JS_nRF8001 att ta itu med de nödvändiga ACI inställningarna och händelser. Nedan är koden som används för att visa text som skickas från en smartphone på en OLED.
#include < SPI.h >
#include < EEPROM.h >
#include < boards.h >
#include < JS_nRF8001.h >
#include < services.h >
#include < SSS1306_text.h >
#include < Wire.h >
#define OLED_RESET 5
SSD1306_text display(OLED_RESET);
void setup() {
display.init();
display.Clear();
BLE_initialize();
Serial.BEGIN(57600);
}
void loop() {
BLE_process();
om (BLE_free()) {
display.Clear();
samtidigt (BLE_free()) {
char r = BLE_get();
Serial.write(r);
display.Print(r);
}
}
}