Spark.io Build nacht Rex-o-telefoon wifi xylofoon (5 / 6 stap)

Stap 5: Stap 5. Code ontwikkeling spark.io kant


Voorlopige hardware werd aangelegd met het solderen van punt tot punt. Ontwikkeling van de eerste code werd gedaan met

een arduino 328 kloon .shiftOut (dataPin, clockPin, LSBFIRST, j); was de eerste intstruction gebruikt en het

bleek dat het alleen zou verschuiven uit een een beetje word.

/*************************************************************/
/ * Spark.io functies voor de verwerking van webpagina interactie * /

/ * Bloominglabs Spark.io bouwen nacht 13 november en 15 2013 * /

/ * door Rex M Marling * /

/ * Momenteel een project in uitvoering voor een microcontrolled * /

/ * klokkenspel (xylophone). De Spark.io maakt draadloze * /

/ * interfacing met het bijbehorende bestand spelen RexOphone HTML-bestand * /

/ * Twee 74ls595 shift registers zijn wordt gebruikt om uit te breiden * /

/ * de uitvoergegevens van de spark.io. Jan 3 2015 * /

/ * INITIALISEER typen en TRIGGER onderbreken GEGEVENSFUNCTIE / * / * gegevenstype teken * /

char * songPtr;

/ * BOOL GEGEVENSTYPE * /

BOOL songDone = false;

BOOL remoteTriggered = false; Global-toestandsvariabele voor remoteTrigger() functie

/ * GEGEVENSTYPE BYTE *

/byte default_dur = 4;

byte default_oct = 6;

byte lowest_oct = 3;

byte Opmerking; byte schaal;

/ * GEGEVENSTYPE INT * /

int x; int de aanwijzer;

int resultaat;

int bpm = 63;

int num;

int clr = 7;

int gegevens = 3;

int klok = 4;

int klink = 5;

int inschakelen = 6;

int de teller;

/ * UNSIGNED INT GEGEVENSTYPE * /

unsigned int de opmerking;

unsigned int mask;

/ * de volgende unsigned int zijn toegewezen voor 16 notities * /

unsigned int a1 = 0x0001;

unsigned int b1 = 0x0002;

unsigned int c1 = 0x0004;

unsigned int c1p = 0x0008;

unsigned int d1 = 0x0010;

unsigned int d1p = 0x0020;

unsigned int e1 = 0x0040;

unsigned int f1 = 0x0080;

unsigned int f1p = 0x0100;

unsigned int g1 = 0x0200;

unsigned int g1p = 0x0400;

unsigned int a2 = 0x0800;

unsigned int ap2 = 0x1000;

unsigned int b2 = 0x2000;

unsigned int c2 = 0x4000;

unsigned int [n] = {0x8000, 0x4000, 0x2000, 0x1000, 0x0800, 0x0400, 0x0200, 0x0100, 0x0080, 0x0040, 0x0020, 0x0010, 0x0008, 0x0004, 0x0002, 0x0001};

/ * GEGEVENSTYPE LONG * /

lange wholenote;

lange duur;

/ * DEFINIEERT * /

#define DEBUG = false;

/ * SETUP DATA PORTS EN TRIGGER INTERRUPT * /

ongeldig setup(void) {}

if(debug) Serial1.begin(115200);

pinMode(D6,OUTPUT);

pinMode(D7,OUTPUT);

pinMode(data,OUTPUT);

pinMode(clock,OUTPUT);

pinMode(latch,OUTPUT);

pinMode(enable,OUTPUT);

digitalWrite(clock,HIGH);

digitalWrite(data,HIGH);

digitalWrite(latch,HIGH);

digitalWrite(enable,LOW);

digitalWrite(clr,HIGH);

Spark.function("Remote",remoteTrigger); }

/ * EINDE SETUP DATA PORTS EN TRIGGER INTERRUPT * /

/ * MAIN lus * / loop(void) {} ongeldig

/ * De belangrijkste loop processen de web knop Klik één notitie op een moment. */

/ * vermijden blokkeren de achtergrondtaken te lang * /

/ * of anders de Spark-kern de wolk zou verbreken. */

if(remoteTriggered) {}

digitalWrite(D7,HIGH);

Licht de onboard blauwe LED terwijl het lied speelt};

delay(600);

digitalWrite(D7,LOW);

Uitschakelen van de ingebouwde blauwe LED.

remoteTriggered = false;

if(debug) Serial1.println("Done!");

delay(2000); }

{

de volgende code is ontworpen om de klok van een 16-bits

unsigned int "Opmerking bovenstaande gegevens" door 2 x 74ls595

Shift registreert de functie van de enige overdracht van shiftOut

8 gegevensbits

syntaxis

shiftOut (dataPin, clockPin, bitOrder, waarde)

Parameters

dataPin: de pin op waarnaar u uitvoer van elke bit (int)

clockPin: de pin in-of uitschakelen zodra de dataPin is ingesteld op de juiste waarde (int)

bitOrder: welke volgorde te verplaatsen uit de bits; MSBFIRST of LSBFIRST.

(Meest significante Bit van de eerste en minst significante bits eerst)

waarde: de gegevens te verplaatsen uit. (byte)

Serial.println ('begin'); voor (aanwijzer = 0; aanwijzer < = 15; aanwijzer ++) {masker = 0x8000; / / & B1000000000000000 Opmerking = n [pointer]; Serial.println(Note); voor (x = 0; x < = 16; x ++) {resultaat = notitie & masker; mask masker = >> 1; als (resultaat > 0) {digitalWrite(data,HIGH); Serial.println ("hoog"); }

if(result == 0) {digitalWrite(data,LOW); Serial.println ("laag");} digitalWrite(clock,LOW); vertraging (15); digitalWrite(clock,HIGH); };

einde binnenste lus

digitalWrite(latch,LOW);

delay(15);

digitalWrite(latch,HIGH);

delay(15);

digitalWrite(enable,LOW);

delay(15);

digitalWrite(enable,HIGH);

delay(250); };

de buitenste lus einde

activeren van uitvoer inschakelen voor 74ls595 noot speelt "station output darlington-transistors" dan terug naar tristate

}

/**************************************************************/ /* */ /* END MAIN LOOP */ /**************************************************************

/ / * EXTERNE TRIGGER VOOR VONK. IO apparaat * / / *** / int remoteTrigger (String args) {als (args == '1') {counter = 1;};

Als (args == "2") {counter = 2;};

Als (args == "3") {counter = 3;};

Als (args == "4") {counter = 4;};

Als (args == "5") {counter = 5;};

Als (args == "6") {counter = 6;};

Als (args == "7") {counter = 7;};

Als (args == "8") {counter = 8;};

Als (args == "9") {counter = 9;};

Als (args == "10") {counter = 10;};

Als (args == "11") {counter = 11;};

Als (args == "12") {counter = 12;};

Als (args == "13") {counter = 13;};

Als (args == "14") {counter = 14;};

Als (args == "15") {counter = 15;};

Als (args == "16") {counter = 16;};

het argument van de webpagina knoppen is

geladen in de teller voor het beheersen van de for-lus

Visual test voor de goede werking van de gegevens van de webpagina

doorberekend muis knop te klikken

voor (teller; teller > 0; teller--)

{digitalWrite(D7,LOW);

delay(200);

digitalWrite(D7,HIGH);

delay(200);

digitalWrite(D7,LOW); }

remoteTriggered = true; retourneren van 200; }

/ * EINDE WEBPAGINA HANDLER * /

Gerelateerde Artikelen

MakeyMakey Build nacht--Target praktijk

MakeyMakey Build nacht--Target praktijk

We waren gelukkig genoeg om het addertje onder het gras een januari Instructables MakeyMakey bouwen Kit. We hebben 5 MakeyMakey kitsen dacht dat die we in vet stad waren. Vervolgens werd ons weer een realiteit. Onze eerste twee geplande MakeyMakey Bu
Apparaat veiliger voor DoDoCase Build nacht

Apparaat veiliger voor DoDoCase Build nacht

Ik ben echt onder de indruk met de Smartphone virtuele werkelijkheid Viewer uit DoDoCase VR geweest. We hebben een geweldige tijd pronken aan onze leden hier in de bibliotheek. Maar ik ben meestal met behulp van mijn telefoon te tonen mensen, en eenm
DODOcase hoofd riem - Build nacht

DODOcase hoofd riem - Build nacht

Vorige maand de Dover openbare bibliotheek gehost een Instructables bouwen nacht. Onze opdrachtgevers konden komen en bouwen hun eigen DODOcase, een Smartphone virtuele werkelijkheid Viewer. Onze taak was te denken aan wijzigingen in de kijker nog be
R2-D2 Cover voor DoDoCase Build nacht

R2-D2 Cover voor DoDoCase Build nacht

Als u hulp montage van de Smartphone virtuele werkelijkheid Viewer uit DoDoCase VR nodig hebt, kunt u uit dit grote Instructable over het onderwerp:We hebben een geweldige tijd pronken de virtuele werkelijkheid Viewer die we kregen door deelname aan
Instamorph Build nacht

Instamorph Build nacht

Goedemorgen ' merica! Ik heb gemaakt uit de dunne lucht een slang iPhone houder. De goden hebben gesproken en gezegend mijn handen om te ontwikkelen van deze geweldige charme! Als u denkt u waardig genoeg dat, dan proberen te maken van dit meesterwer
DODOcase Build nacht

DODOcase Build nacht

Wij dit geval genaamd DODOcase gemaakt en toegevoegd een paar geweldige functies voor betere bruikbaarheidWij toegevoegd aan de DODOcase:kurken op de plek waar u uw telefoon op zetten kunt, dus het zou gemakkelijker zijn om het te duwen overpopsicle
CAT masker - DODO VR BUILD nacht

CAT masker - DODO VR BUILD nacht

Vervaardigde een feestelijke masker voor de DODO VR.Bouwen tijd: 10 minutenStap 1: Schets en gesneden Design Op zwart papier, moet u eerst een tekening van kat oren, ogen en mond met behulp van de afmetingen van het vak DODO schetste. Knip kat hoofd
Sugru Build nacht

Sugru Build nacht

Onze klasse gebruikt maker om te vormen van een item dat we zouden kunnen van denken.Ik besloot te maken sommige sterven, waarom niet gewoon veroorzaken?Stap 1: Stap 1Ik pakte mijn 3 favoriete kleuren van sugru om dit project te doen. Het eerste wat
Gebruik Spark.io Photon te ontgrendelen van een deur via WiFi voor minder dan $30!

Gebruik Spark.io Photon te ontgrendelen van een deur via WiFi voor minder dan $30!

Dit instructable is gebaseerd op het Spark.io foton, een "postzegel middelgrote hackable WiFi module voor interactie met de fysieke dingen." En dankzij de geweldige mobiele UI "Tinker", hoeft u niet te schrijven een regel code!Zijn het
Headless Raspberry PI WiFi-setup (voor mobiele telefoons)

Headless Raspberry PI WiFi-setup (voor mobiele telefoons)

Dus u met succes ondergebracht uw RaspberryPi in een volledig headless mode, misschien met WiFi ook en u bent zeer gelukkig met het thuis in uw robotica projecten...Maar wanneer ga je buiten, op het werk of op een buitenlands netwerk, eenmaal aangedr
Spark Core lezen-per-Tweet (spark.io)

Spark Core lezen-per-Tweet (spark.io)

Afgelopen vrijdag had ik een verandering om rond gek met een kern van de vonk bij Fablab Breda tijdens de Instructables bouwen nacht van November.Een vriend wilde controleren een LED via Twitter, omdat als dat werkt hij de hele wereld kunt bepalen! D
Rocket's opdracht Centreren - met behulp van Spark Core

Rocket's opdracht Centreren - met behulp van Spark Core

Toevoegen leven voor een oude poster in huis met behulp van een vonk kern, die Wi-Fi module postzegel-en kleinbedrijf is voor interactie met de fysieke dingen en Neo-pixels die zijn uiterst kleine slimme LED's.In mijn geval is het een poster van mijn
SparkTwister: Een Wearable spel met behulp van de Spark.io vonk-Core

SparkTwister: Een Wearable spel met behulp van de Spark.io vonk-Core

SparkTwister is een fysieke spel voor 4 of meer spelers. Elke speler draagt een eenvoudige controller armband gemaakt van een Spark.io-board met een SparkButton schild en een RGB-sensor. Wanneer het spel begint, alle LEDs op uw armband oplichten in d
Spark Core plant monitor

Spark Core plant monitor

Met behulp van een vonk Core tweet van het huidige niveau te controleren van de waterstandAchtergrond:We hebben een plant die voortdurend een gelokaliseerde droogte lijdt – rustige betekent dat het de neiging om genegeerd en eindigt droog op een rege