Lägga till Bluetooth 4.0 till din Arduino projekt [IoT] - kontrolleras av Smartphone (6 / 8 steg)

Steg 6: Kod - mellanliggande förklaring



I det här avsnittet ser vi över koden, så att du kan ändra det själv i framtiden.

Den första viktiga delen är linje 23 och 24. SPI.h måste använda SPI maskinvara på Arduino. Adafruit_BLE_UART.h måste inkluderas som ett bibliotek i Arduino som beskrivs i föregående avsnitt, eller du kommer att få ett fel. Det här biblioteket hanterar samtliga låg nivå meddelanden till styrelsen Adafruit bluetooth - allt som beskrivs i avsnittet SPI.

28-30 rader beskriver pin mappningar. Som beskrivs i REQ pin och RST pin ovan, kan stift 9 och 10 flyttas till ganska mycket alla andra stift, så länge linjer 28 och 30 ändras också. Om du använder en analog ingång stift, är de numrerade A0, A1, A2, etc.

Stift 2, RDY PIN-koden kan flyttas som väl - men bara till en annan avbrott kan pin. På Uno och Duemilanove är som enda pin 2 eller 3. Se bild 1.


Om du lägger till några extra stift, måste du se till att initiera dem i setup ()-funktionen. Funktionen pinMode () tar den pin-kod som det första argumentet (i detta fall ledde = 3), och antingen utgång eller ingång som det andra argumentet. På linje 49 vi ser till lampan inte lyser, genom att ange det låg med digitalWrite (). Ställer in det skulle höga aktivera LED. Senare får vi se hur initiera en analog stift. Se bild 2.


Loop () funktion är där din kod går när det är "bara sitter". Koden här måste kunna hantera alla situationer du bryr dig om. Denna kod körs om och om igen tills power kopplas. Första att notera är linje 61, vilket orsakar öglan för att idle för 50 millisekunder så att den endast är klar ca 20 gånger per sekund. Detta håller strömförbrukning, och är fortfarande förmodligen snabbare än du behöver. Se bild 3.

Resten av loopen hanterar kommunikationen med den kod som ser efter Bluetooth styrelsen. Du kan förmodligen ignorera det tills du kommer till linje 73. Här läsa ett tecken från bluetooth i taget och placeras i variabeln "val". Linje 74 använder en if () uttalande att räkna ut vilken karaktär lästes. Allt mellan {} efter if uttalande bara händer om det om uttrycket utvärderas till true. På linjen 75 aktivera vi LED genom att ange pin 3 till hög. På linje 76 använder vi en anpassad funktion för att skicka data via bluetooth tillbaka till användaren. Mer komplexa beteende kan läggas till genom att lägga till mer om () {} block. Koden kan ställas in att svara på olika bokstav kommandon och manipulera olika pins eller skicka tillbaka data i svaret.

SendData funktion är på rad 87. I while loop, vi använder kommandon sendData ("\nLED på") och sendData ("\nLED OFF"). NRF8001 chip kan bara skicka 20 tecken i taget, så det är begränsningen i funktionen sendData. Tecknet \n visas inte, men snarare gör en ny rad ska visas i smartphone app (motsvarighet till en vagnretur). Se bild 4.

Se Steg
Relaterade Ämnen

Lägg till bluetooth till din Arduino projekt - Arduino + HC-06

Skulle inte du älskar att slå på och av lamporna i ditt hus utan att behöva höja ett finger? (Tja, tekniskt du måste höja ett finger eller två, men du får jist av historien). Den goda nyheten är att du kan. Allt du behöver är en arduino, HC-06 blueto...

Gör din Arduino projekt trådlöst i minuter, med den trådlösa uppfinnare skydda

uppfinnare skölden använder en trådlös röret, vilket är en särskild trådlös RF-modul som tillåter dig att enkelt och tillförlitligt sätt, skicka och ta emot felfri trådlösa data mellan två eller flera Arduino styrelser.Det är Long Range – avstånd upp...

Lägga till din bloggs RSS-flöde till Hootsuite

blogga mer än bara skriva och klicka på publicera. Du skriver ett inlägg, lägga till en bild, tryck på publicera och då måste man gå ut och lyfta fram innehållet du har just skrivit!Det är tidskrävande men Hootsuite kan påskynda blogg befordran. I de...

Röstigenkänning enkelt - talar till din Arduino seriekabel

Varför använder röst erkännande sköld medan du har denna funktion från din smartphone (Android). I denna tutorial vet du hur lätt att använda röstigenkänning att skicka röstkommandon till din Arduino använder BlueAct app.Du kan ha använt röstkommando...

#MyoCraft: gest-aktivera din Arduino projekt med en Myo armbindel

Du kan bygga en hel del coola saker med en Arduino. Vore det inte skönt att kunna styra den med en snärt med handleden?Låt mig visa dig hur du lägger till trådlösa gest kontroll en Arduino projekt med hjälp av en Myo armband. Vi gör detta via MyoDuni...

Lägga till dina egna spår i OpenStreetMaps

OpenStreetMaps är gratis kartor som kan användas med Garmin GPS. De kan redigeras av vem som helst med ett konto på openstreetmap.org. Tänk på dem som en karta wiki. Kev_MacD har en bra Instructable om hur du lägger till dem till din Garmin Oregon GP...

Att lägga till ICSP header till din Arduino/AVR styrelse

så du kanske har spelat med Arduino's, eller snarare Hackduino. Om du gjort din egen Hackduino eller liknande projekt, kanske du undrar hur du lägger till i ICSP huvudet. I grund och botten gör med ICSP-huvudet att du kan använda en extern programmer...

Interface en SRAM buss till din arduino

Mikrokontroller som PIC och Arduino är stora, men ibland måste du lagra en stor mängd data och det interna minnet bara räcker inte, och det är där yttre minne kommer in. SRAM är allmänt lättare att arbeta med än dynamisk minne (som behöver uppdateras...

Lägga till lysdioder i en Nes-kontrollant

Easilly lägga till led i din nes controllerSteg 1: Huvuddelen av det lägga leds till en Nes-kontrollant är helt enkelt allt du behöver är några tråd, lysdioder, sauder, och vissa epoxi eller en annan stark självhäftande.efter öppnandet den nes contro...

Telnet till din Arduino/AVR!

Häromdagen var jag vill kolla på en av min AVR: s men jag var på övervåningen och Gud vet det var för mycket jobbigt att gå ner till där mikrokontroller var. Men det fanns två inaktiv datorer sitter på övervåningen bredvid min lata rumpa, så jag hade...

Hacka en röst växlare för att lägga till en Arduino ingång

en annan snabb hacka. Jag köpte en röst växlare eftersom jag var ute efter något billigt som kunde vara hackat sig in en röst inmatningsenhet. Jag ville i princip animera en skalle när jag talade. Extra bonus, nu skalle marionett skulle också ha en s...

Avståndet till vinkel arduino projekt

Detta är ett mycket enkelt projekt för börja, kartong låda utrustade med 3servomotorer, ultrasonic sensor och arduino nano mikrokontroller. mikrokontroller konvertera avståndet till servo vinkel.Du kan se det fungerar härSteg 1: Del förteckning3 serv...

Skalbagge: Minimera din Arduino projekt

The DFRobot Beetle är en de senaste innovationerna i minimalistisk Arduino teknik. Om storleken på en kvart, och funktionerna i en Arduino Leonardo, kan den här lilla killen minimera dina projekt med lätthet utan att behöva offra funktionalitet.Efter...

Att lägga till din digitala signiature Docs

denna steg för steg går igenom skapandet av en digital signaturfil. Användbart för att signera dokument i farten och email dem fram och tillbaka, vilket sparar på Porto och minskar pappersanvändningen.Steg 1: Gör ditt varumärke Måste du börja med din...

Att lägga till din egen konst till Dollar Store pussel

Flera år gjorde tillbaka jag en hel del konstmässor och trottoaren visar. Jag hade gott om målningar, men de var inte prissatt med webbläsare i åtanke. Jag behövde mindre, mer prisvärda objekt. Jag hade en vän som sålde böcker av hans konstverk och t...

Lägga till 6 extra stift till din Arduino med ingen extra hårdvara

Hej, detta är min andra Instructable så tänk med mig.Jag ska berätta du hur till få 6 extra Arduino digital stift.Jag upptäckte detta genom att spela med Arduino IDE och försökt inställning-upp en LED på stift 14 (som inte finns i styrelsen) och giss...

Lägga till din logotyp på PCB i Proteus ARES

Handledning visar hur du sätter din logotyp på pcb i proteus (ares). Här metoder kan också användas för att infoga personliga konstverk, företagets logotyp eller ens ditt foto....

Lägga till enkla Bluetooth till Arduino

Ibland när du först startar ett nytt projekt, det finns en hel del felsökning går på, och med en Arduino plattform, med hjälp av serieporten för att spotta ut data kan vara ett mycket användbart verktyg. Tja vad om det finns inget utrymme att ansluta...

Lägga till knappar i din X52-Pro Joystick med en Arduino mikro

Jag har en Saitek X52-Pro HOTAS setup som jag använder för Elite: farligt. Det är en fantastisk joystick men det kan göra med bara några fler knappar. Med en Arduino Micro kan du utöka detta (eller någon annan) joystick för alla spel som kommer att s...