Hack-A-Lamp of over het bepalen van de Arduino met uw smartphone (4 / 5 stap)

Stap 4: Protocoder Code


Laten we digg in Protocoder code.

Dit is gonna omgaan met gebruikersinterface, bluetooth communicatie, ontleden kleurgegevens van de schuifregelaars voor gehele getallen en weergegeven: kleur alvorens het aan de Arduino.

Eerst wijzigen we de instellingen van de werkbalk en scherm met:

 ui.toolbar.title("Hack-A-Lamp "); ui.toolbar.bgColor(55, 155, 155, 255); ui.toolbar.show(true); //ui.screenMode("fullscreen"); ui.screenOrientation("portrait");</p><p>var speed=25; var btClient; var sendString= "10,0,0,0",string="0,0,0", hexString="000"; var btStatus = false; var margin = 10; var w = ui.screenWidth - 2*margin; var h = 150; 

h's gonna worden gebruikt als hoogte voor knoppen. Als u de tekst in de knoppen niet ziet, probeer om het wijzigen van deze waarde te bevestigen.

Vervolgens behandelen we hoe aansluiten en loskoppelen met een bluetooth-apparaat. Opmerking dat elke bluetooth-module moet worden gekoppeld met Android bluetooth menu vóór trying voor verbinden hier, anders gaat u niet te zien in dit app.

 var btnConnect = ui.addButton("Connect to bluetooth", margin,0,w, h).onClick(function() { //if you want to use the Bluetooth Address, use: //network.bluetooth.connectSerial(macAddess, function(status) {}); btClient = network.bluetooth.connectSerial(function(status) { console.log("connected " + status); if (status === true){ btStatus = true; ui.toast("Connected!"); btnConnect.setAlpha(0); btnDisconnect.setAlpha(255); } }); }); var btnDisconnect = ui.addButton("Disconnect",margin,h, w, h).onClick(function() { if (btStatus === true ) { btClient.disconnect(); btStatus = false; ui.toast("Disconnected!"); btnConnect.setAlpha(255); btnDisconnect.setAlpha(0); }else{ ui.toast("Not Connected"); } }); 

Zoals u kunt zien hier, we knoppen hebt gemaakt en de binnenkant van het behandelen we alle communicatie.

De parameters die we nodig hebben om een knop te maken zijn, van links naar rechts in de functie: tekst getoond, x positie, y-positie, breedte en hoogte.

Met btnConnect wij verbinden met bluetooth, en alleen met deze functie wij tonen een lijstweergave tonen alle eerder gekoppelde apparaten. Vervolgens drukken we bluetooth-status op protocoder web ide en, als de status gelijk is aan true (is aangesloten) Stel btStatus, die we gebruiken als een vlag op true, dan zijn we tonen een Android Toast gezegde die is aangesloten en alpha transparantie van beide knoppen wijzigen, draaien verbinden knop om volledige transparantie, en verbreken tot volledig ondoorzichtig.

Klik vervolgens met de btnDisconnect wij onthutsen met bluetooth, een ook wij omkeren, alle veranderingen die we hebben gedaan nadat de Klik op btnConnect.

Na dat, we gonna wenskaarten en schuifregelaar voor elke kleur (RGB) maken. Elke code is meestal identiek zijn, dus ik ga om het te verklaren voor slechts een van hen.

Eerst maken we een variabele met de naam van de kleur, dat het gaat om op te slaan van de waarde van de slider met readed:

 var red = 0; 

Daarna maken we de kaart die, in dit geval, het is als een klein teken dat de naam van de kleur wordt weergegeven. Om ze te maken we gebruiken:

 var cardRed = ui.addCard("Red", margin, 2*h, ui.screenWidth - margin , 100); 

Dan gaan we de schuifregelaar te creëren:

 var sliderRed = ui.addSlider(margin, 3*h, w, 20, 0, 255).onChange(function(val) { red = Math.floor(val);</p><p> string = red +","+ green +","+ blue; colourDec.setText(string); hexString = red.toString(16) + green.toString(16) + blue.toString(16); hexString = hexString.toUpperCase(); colourHex.setText(hexString); console.log(string); }); 

De parameters moeten we een schuifregelaar te creëren zijn, van links naar rechts in de functie: x positie, y-positie, breedte, hoogte, beginnend van de waarde van de schuifregelaar en definitieve waarde van de schuifregelaar.

Nadat ze zijn gemaakt, we omgaan met alles wat nodig is om ons project werken:

Ten eerste willen wij enkel gebruik van gehele getallen, zodat we de waarde van de schuifregelaar van zweven naar int. readed parse

Na dat we samenvoegen alle kleuren aanpassen aan het formaat dat Arduino verwacht te ontvangen, alle waarden readed van kleuren in een tekenreeks op te slaan in de manier waarop: rood, groen en blauw

Na dat zetten we de waarde van colourDec, een variabele die de kleur die we gaan om te sturen in een decimale notatie "manier" zichtbaar is.

Dan we hetzelfde voor hexString, een variabele die de kleur die we gaan om te sturen in een hexadecimale "weg", zichtbaar maken en zet het in hoofdletters, een gemeenschappelijke manier om hexadecimale getallen te tonen.

Dan afdrukreeks we gewoon, die is de variabele die we gaan naar de Arduino te sturen.

Om het programma Toon info over welke kleur we gonna sturen, we trekken een doek en wij tonen de kleur die we gonna verzenden. Om te bereiken dat we deze code gebruiken:

 var canvas = ui.addCanvas(margin, 8*h, w, h); canvas.loopDraw(35, function() { canvas.fill(red,green,blue,10); canvas.rect(0, 0, ui.screenWidth, 500); }); 

Na dat drukken wij decimale en hexadecimale waarden van de kleur met:

 var colourDecLabel = ui.addText("Dec = ", margin, 9*h, 2*w, h); var colourDec = ui.addText(h, 9*h, 2*w, h); var colorHexLabel = ui.addText("Hex = ", margin, 9.5*h, 2*w, h); var colourHex = ui.addText(h, 9.5*h, 2*w, h); 

Deze code is vrij zelf verklarend, ja, ik ga door.

Ten minste, bereiken we de functie verzenden, die omgaan met communicatie met Arduino. Hier is waar we gegevens overbrengen naar de Arduino via bluetooth.

 var btnSend = ui.addButton("Send", margin, 10*h, w, h).onClick(function() { if (btStatus === true){ ui.jump(btnSend); console.log("String = "+string); btClient.send(string +\n"); ui.toast("Sended!"); }else{ ui.toast("¡Not connected!"); } }); 

In deze code we maken een knop, net als wij vóór, en na wat waarde heeft opgeslagen btStatus (gewoon om te onthouden, als het aangesloten gaat om waar te zijn, anders is gonna be valse). In het geval dat btStatus gelijk is aan true, voeren wij een trucje om de knop wordt geanimeerd met ui.jump(); functie te maken.

Dan we tekenreeks tonen gegevens in de console, alleen voor debugging voorstel, verzenden de tekenreeks en een lijnsprong (\n) Trough bluetooth, dus we sturen: rood, groen, blue\n, die wat Arduino verwacht is te ontvangen.

Vervolgens laten we zien een Android toast zeggen dat de gegevens is gestuurd.

In het geval dat btStatus vlag variabele gelijk is aan false (niet aangesloten) we gaan een toast waarschuwing over deze situatie te verzenden.

Dat is allemaal aan de kant van de Protocoder!

Gerelateerde Artikelen

Ontsluiten Ember voor meer macht (of over het bepalen van de LED en Wintech projector via USB)

Ontsluiten Ember voor meer macht (of over het bepalen van de LED en Wintech projector via USB)

De maximum lichtopbrengst van de Wintech projector gebruikt in de Ember printer varieert van eenheid naar eenheid. In de fabriek wordt de projector in een Ember printer zo aangepast dat alle projectoren dezelfde output (ongeveer 22,5 mW/cm2 hebben).
Lamp Project.  Het toevoegen van nieuw leven met interne nachtlampje en geschilderde schaduw

Lamp Project. Het toevoegen van nieuw leven met interne nachtlampje en geschilderde schaduw

een tijdje geleden kocht ik een glas vaas tafellamp op een rommelmarkt.  Ik wilde niet het maar het was het einde van de dag en de dame wilde alleen maar om zich te ontdoen van het, zodat ze niet zou moeten het inpakken en het terug naar huis nemen. 
Over het doen van de vakantie met een robot: deel 1 - Halloween

Over het doen van de vakantie met een robot: deel 1 - Halloween

Voor een onderzoeksplatform gooide ik samen wat elektronica een stuk laags hout en sommige motoren.Kom Halloween tijd een briljant idee popped in mijn hoofd!De robot verkleden als iets als een prop dan jagen na mensen.--------------------------------
Het gebruik van een Joystick met een FPGA

Het gebruik van een Joystick met een FPGA

Dit instructable is nog een stop op mijn reis om het spel van de klauw gedreven door een FPGA. Eerder schreef ik over het bepalen van een stappenmotor met een FPGA. Ik moest nu een joystick controle zodat ik beide op mijn besturing uiteindelijk verbi
Beheersing van een Arduino met cacao (Mac OS X) of C# (Windows)

Beheersing van een Arduino met cacao (Mac OS X) of C# (Windows)

Nee ik ben niet praten over het besturen van een Arduino met een reep of cacaopoeder. Ik heb het over de programmeertaal Objective-C. Dus wat is cacao? Cacao is een set van frameworks geschreven in de programmeertaal van Objective-C voor Mac OS X. Ne
ChipKIT dp32 instellen voor het gebruik van de Arduino IDE

ChipKIT dp32 instellen voor het gebruik van de Arduino IDE

Ken jij dat u kunt programmeren uw chipKIT bord of elke PIC32 chip met behulp van de Arduino IDE? Het is eigenlijk heel eenvoudig. Deze tutorial zal laten zien hoe uw chipKIT dp32 instellen voor gebruik van Arduino IDE te ontwikkelen. Merk op dat dez
Hoe het bouwen van een Arduino Powered Schaken Playing Robot

Hoe het bouwen van een Arduino Powered Schaken Playing Robot

te oordelen naar het zuivere aantal Schaken verwante Instructables, ik denk dat het veilig om te zeggen de Gemeenschap geniet van het spel.  Het kan moeilijk zijn, echter om te vinden iemand die speelt op hetzelfde niveau u doen.  Om op te lossen dit
Hoe tweet van een Arduino met behulp van de wifi-Shield

Hoe tweet van een Arduino met behulp van de wifi-Shield

he, ik ben een grote fan van Instructables. Ik heb het consequent gebruikt voor de afgelopen 3 jaar en nu is het tijd voor mij om te schrijven een zelf.Hier gaan we. Dit instructable is voor degenen die willen een levenloos voorwerp tweet automatisch
3DOF bal over het gebruik van de plaat gesloten lus stappenmotoren

3DOF bal over het gebruik van de plaat gesloten lus stappenmotoren

De bal op plaat probleem bestaat uit een vlakke plaat waaraan een bal moet worden geplaatst. Bal positionering wordt alleen bereikt door unstable evenwicht waar elke kleine veranderingen in de hoek van de plaat in de continue versnelling van de bal r
Wat is quad copter een een beetje over het maken van een

Wat is quad copter een een beetje over het maken van een

Wat is een Quad-copter?een onbemande helikopter met vier rotoren. meer gewoonMultiCopters aërodynamisch onstabiel zijn en absoluut vereisen een boordcomputer (aka vlucht controller) voor stabiele vlucht. Dientengevolge, zij zijn "Fly by Wire" sy
Meer Open Source wetenschap - het bepalen van de versnelling als gevolg van zwaartekracht

Meer Open Source wetenschap - het bepalen van de versnelling als gevolg van zwaartekracht

ik zal gaan door een proces dat u toelaten zal om het bepalen van de versnelling als gevolg van de zwaartekracht. Ik gebruik deze activiteit met mijn middelbare school natuurkunde studenten. We hebben een soortgelijke activiteit met behulp van een co
Mijn twee centen over het opslaan van uw Dollars en centen

Mijn twee centen over het opslaan van uw Dollars en centen

geld. Die zou hebben thunk , dat zou ons in deze puinhoop. Zoals het meest, je waarschijnlijk een gevoel de Angel van deze economische crisis. Verkoop van limonade op de hoek van de straat is niet van plan om het te dekken. Sommige maatregelen nodig.
Pandahall Tutorial over het maken van een witte parelmoer bloem ketting voor meisjes

Pandahall Tutorial over het maken van een witte parelmoer bloem ketting voor meisjes

Vind je handgemaakte Parel Kettingen? Deze Pandahall tutorial is over het maken van een witte parelmoer bloem ketting voor meisjes. Hoop dat u love it.Parels zijn gewaardeerd voor duizenden jaren vanwege hun glans en zeldzaamheid. In dit artikel, kun
Gratis Tutorial over het maken van een draad gewikkeld bloem Ear Cuff Earring

Gratis Tutorial over het maken van een draad gewikkeld bloem Ear Cuff Earring

Draad verpakking en beading turquoise kralen zijn betrokken bij het ontwerp van draad ear cuff earring. Ongeacht of u oor doorboord, kunt u de bloem ear cuff earring dragen. Laten we beginnen de tutorial over het maken van wire wrapped oor manchet oo