Controlelampjes op kerstboom via Bluetooth Arduino en Android! (3 / 8 stap)

Stap 3: De Code


De code is grotendeels gemaakt vanwege hoe precies ik dit wilde te laten werken. Ook ik ben echt kieskeurig over dingen netjes te maken, dat is waarom dit is all-in-functies, het echt niet hoeft te worden, dat is gewoon hoe ik het liever. Veel van het Wetboek kan worden weggelaten als je niet zo kieskeurig als ik over hoe het werkt. Zorg ervoor dat het lezen van de commentaren u eventuele overbodige stukjes code voor uw project.

Ik echt nodig dank bwrussell voor zijn hulp met dit project. Ik vroeg hem meerdere codering vragen en hij antwoordde ze allemaal in groot detail zodat ik ze kon begrijpen. Hij weet veel meer over Arduino en codering dan ik, en ik zou niet in staat om het te doen zonder hem was geweest. Hij is een fantastische bron en gewoon een leuke collega Instructable-maker.

Hier is de code die ik gebruikt...

/ * Deze code is voor mijn Arduino/Bluetooth/Android-controller. Een Android applicatie stuurt een specifieke 'byte' van gegevens
Deze code, de schakelaar... case-statement ontvangt de 'byte' en draait pinnen in- of uitschakelen, afhankelijk van wat het ontvangt.

Algoritme: 4 pins worden gedeclareerd, pinA - pinD. Dit zijn de pinnen 4-7 op de Arduino. Opdracht is de byte van de gegevens die de code
ontvangt. rHigh en rLow worden gebruikt voor de minimale en maximale willekeurige vertragingswaarden. De setup ingesteld pinA - pinD als uitgangen
en zet alles zo uit. Het begint dan de seriële overdracht, als een byte is ontvangen, het is ingesteld als opdracht. In de lus
1-4 gevallen gewoon uitschakelen pinA - pinD. Geval 5 stelt alle pinnen als willekeurige. Zaak 6 ingeschakeld alle pinnen. Geval 7 beurten
alle pinnen af. Zaak 8 begint een knipperende patroon. */

Const int pinA = 4;
Const int pinB = 5;
Const int pinC = 6;
Const int pinD = 7;
byte opdracht = 0;
Const int rHigh = 555;
Const int rLow = 100;
int randomPin;
VOID pinDo (int pin);
nietig allOn();
nietig allOff();
nietig randomStart();
nietig flashThrough();

VOID Setup
{
pinMode (pinA, OUTPUT); het Relais-pincode instellen als uitgang
pinMode (pinB, OUTPUT); //
pinMode (pinC, OUTPUT); //
pinMode (pinD, OUTPUT); //

allOff(); Controleer of dat alle pinnen zijn weg naar de start

Serial.begin(9600);

Als (Serial.available() > 0) / / seriële overdracht Start
{
opdracht = Serial.read(); Opdracht set om gelijk de seriële data
}
}

void loop
{
Als (Serial.available() > 0)
{
opdracht = Serial.read();
schakelaar (opdracht)
{
geval 1: / / Relay 1
pinDo (pinA);
breken;
geval 2: / / Relay 2
pinDo (pinB);
breken;
Case 3: / / Relay 3
pinDo (pinC);
breken;
geval 4: / / Relay 4
pinDo (pinD);
breken;
geval 5: / / de random-functie
randomStart();
breken;
kast 6: / / alle pinnen inschakelen
allOn();
breken;
geval 7: / / alle pinnen uitzetten
allOff();
breken;
geval 8: / / Start knipperende patroon
terwijl (opdracht! = 6 & & commando! = 7)
{
flashOn();
opdracht = Serial.read(); Controleren op nieuwe seriële data
}
}
}
}

VOID pinDo(int pin)
{
Als (digitalRead(pin) == laag)
{
digitalWrite (pin, hoge);
}
anders
{
digitalWrite (pin, laag);
}
}

VOID randomStart)
{
terwijl (opdracht! = 6 & & commando! = 7)
{
randomPin = willekeurige (pinA, pinD + 1);
Als (digitalRead(randomPin) == laag)
{
digitalWrite (randomPin, hoge);
vertraging (willekeurige (rLow, rHigh));
}
anders
{
digitalWrite (randomPin, laag);
vertraging (willekeurige (rLow, rHigh));
opdracht = Serial.read(); Controleren op nieuwe seriële data, als dat zo is, sluit het willekeurig knipperen
/ * Deze 2 als verklaringen in het 5e geval aanwezig zijn, omdat ik de pinnen onmiddellijk wilde
uitschakelen afhankelijk van de opdracht die zij ontvangt terwijl in het willekeurige gedeelte van code.* /
Als (opdracht == 6)
{
allOn();
}
Als (opdracht == 7)
{
allOff();
}
}
}
}
VOID flashOn)
{
digitalWrite (pinA, hoge); alle op
delay(150);
digitalWrite (pinB, hoge);
delay(150);
digitalWrite (pinC, hoge);
delay(150);
digitalWrite (pinD, hoge);
delay(400);
allOff();
allOn();
allOff();
allOn();
allOff();
flashThrough();
flashThrough();
flashBack();
flashBack();
}

VOID allOn)
{
digitalWrite (pinA, hoge);
digitalWrite (pinB, hoge);
digitalWrite (pinC, hoge);
digitalWrite (pinD, hoge);
delay(300);
}

VOID allOff)
{
digitalWrite (pinA, laag); volgende fase
digitalWrite (pinB, laag);
digitalWrite (pinC, laag);
digitalWrite (pinD, laag);
delay(350);
}

VOID flashThrough)
{
digitalWrite (pinA, hoge); volgende fase
delay(200);
digitalWrite (pinA, laag);
digitalWrite (pinB, hoge);
delay(200);
digitalWrite (pinB, laag);
digitalWrite (pinC, hoge);
delay(200);
digitalWrite (pinC, laag);
digitalWrite (pinD, hoge);
delay(200);
digitalWrite (pinD, laag);
}

VOID flashBack)
{
digitalWrite (pinD, hoge); volgende fase
delay(200);
digitalWrite (pinD, laag);
digitalWrite (pinC, hoge);
delay(200);
digitalWrite (pinC, laag);
digitalWrite (pinB, hoge);
delay(200);
digitalWrite (pinB, laag);
digitalWrite (pinA, hoge);
delay(200);
digitalWrite (pinA, laag);
}

Gerelateerde Artikelen

Control Roomba via Bluetooth via Brainlink

Control Roomba via Bluetooth via Brainlink

Men accessoires zoals de Rootooth voor het beheersen van een Roomba via Bluetooth vanaf een computer, telefoon of tablet kunt kopen, maar dat kost $100. Kan men gebruik maken van een goedkope Bluetooth-naar-TTL-serial adapter als de HC-06, maar dan m
Een kopie van uw foto's en video's in uw Androïde telefoon verzenden met Raspberry Pi via Bluetooth

Een kopie van uw foto's en video's in uw Androïde telefoon verzenden met Raspberry Pi via Bluetooth

IntroductieDit instructable gebouwd op een eerder instructable "Turn Raspberry Pi in een Bluetooth-apparaat' die ik heb gemaakt.De foto's en video's op mijn Android telefoon back-up automatisch naar Google + foto wolk. Ik wil echter een kopie opslaan
Controle van de Arduino met Android telefoon via Bluetooth

Controle van de Arduino met Android telefoon via Bluetooth

Hallo mensen, hier kunt u leren hoe u kunt besturen Arduino met Android telefoon via Bluetooth. U kunt uw smartphone als een afstandsbediening voor u verlichting van het huis systeem of u kunt gebruiken als een drone externe enz.Om de verbinding tuss
Een ander Arduino afstandsbediening auto bestuurd door Android telefoon via Bluetooth-Module

Een ander Arduino afstandsbediening auto bestuurd door Android telefoon via Bluetooth-Module

Deze tutorial gaat door het opzetten van de Arduino IDE voor gebruik met een Adafruit motor shield kloon board, alsmede het opzetten van een oude RC auto, zodat het kan worden gecontroleerd met een android telefoon via bluetooth. De Code voor de RC a
Android App om te controleren via Bluetooth een beheersing van de Arduino maken uw huis via RF, allemaal met AppInventor

Android App om te controleren via Bluetooth een beheersing van de Arduino maken uw huis via RF, allemaal met AppInventor

Ik weet dat de titel nogal een mondvol is, maar het is precies wat het is.Enige tijd geleden, maakte ik een instructable beschrijven een circuit rondom een atmega328 (of een 'Arduino'), dat moest schrikken inbrekers door te simuleren me thuis.Geleide
Android via Bluetooth verbinden met de Arduino Uno

Android via Bluetooth verbinden met de Arduino Uno

In dit project wordt een seriële Bluetooth-module gebruikt voor het maken van een verbinding tussen de Arduino Uno en een Android app die ik heb met MIT App uitvinder gemaakt.Arduino luistert naar de opdrachten aan het licht van enkele LED's of weerg
Program je Arduino met een Android apparaat via Bluetooth

Program je Arduino met een Android apparaat via Bluetooth

Hallo wereld, in dit Instructable wil ik u laten zien hoe te programmeren van de Arduino Uno met uw Androïde apparaat via Bluetooth. Het is zeer eenvoudig en zo goedkoop. Ook het laat ons toe om onze Arduino program waar ooit wij via draadloze blueto
CxemCAR 1 - Android Control RC Car via Bluetooth

CxemCAR 1 - Android Control RC Car via Bluetooth

dit is een opensource-project van RC auto met controle van Android telefoon via Bluetooth. De controller wordt gebruikt met .NET Micro Framework: FEZ Panda II, maar u kunt elke controller werkt met .NET Micro Framework core (Netduino, GHI elektronica
Arduino - besturingselement gelijkstroommotor via Bluetooth

Arduino - besturingselement gelijkstroommotor via Bluetooth

Hi guys,In dit project zullen wij de controle van een DC-motor met een smartphone via bluetooth. Dit project is geweldig om meer te leren over:DC - motor-Interfacing Arduino met uw smartphone-Bluetooth-module-L293Du kunt mijn website bezoeken voor me
Arduino 4WD rover bluetooth gecontroleerd door Android telefoon/tablet

Arduino 4WD rover bluetooth gecontroleerd door Android telefoon/tablet

Arduino 4WD bluetooth gecontroleerde roverDit is een eenvoudige 4WD rover die ik heb met Arduino gemaakt.de rover is aangestuurd met een android telefoon of tablet via bluetooth. Met deze app kunt u snelheid (met behulp van de Arduino pwm), voeren me
Erkenning van de stem van de Arduino Via Bluetooth HC-05

Erkenning van de stem van de Arduino Via Bluetooth HC-05

Het is echt eenvoudig en snelle controle van de stem aan uw arduino project toevoegen. Of het nu gaat om huis automatisering of deurslot of robots, controle van de stem kan worden één oog springende functie in een arduino project. In deze tutorial ik
Controle van de arduino met visual studio via bluetooth

Controle van de arduino met visual studio via bluetooth

Hallo iedereen,Hier zullen we beheren een via bluetooth met uw pc o.l.v. een progam wirtten met visual studiowat je nodig hebt is:1) Arduino (een)2) Bluetooth-Module (hc05 of hc 06)3) geleid4) 2 weerstanden (10ko en 15ko)en u kunt het doen ;)alle cod
Hoe u kunt besturen van een auto van de arduino via Bluetooth (voor beginners)

Hoe u kunt besturen van een auto van de arduino via Bluetooth (voor beginners)

Alles wat die we weten dat Arduino een uitstekende prototyping platform, is voornamelijk omdat het een vriendelijke programmeertaal gebruikt en er zijn een heleboel extra ongelooflijke onderdelen die ons grote ervaringen bieden.We kunnen de Arduino t
MP3 liedjes in de Raspberry Pi op de Android telefoon via Bluetooth

MP3 liedjes in de Raspberry Pi op de Android telefoon via Bluetooth

IntroductieDe kansen zijn dat u hebben veel mp3-bestanden vast te zitten in een PC zoals ik dat doe. Ik wilde luisteren naar de liedjes, wanneer ik uit ben. Dus dat is mijn motivatie om dit instructable.ToepassingsgebiedDit instructable zal tonen:Hoe