Inhoudsopgave:

Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor) - Ajarnpa
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor) - Ajarnpa

Video: Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor) - Ajarnpa

Video: Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor) - Ajarnpa
Video: Arduino Bluetooth controlled RGB LED Strip by Android application 2024, November
Anonim
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)

In deze tutorial laat ik zien hoe je App Inventor kunt gebruiken en verbinden met Arduino via bluetooth

Stap 1: Wat u nodig heeft en schematisch

Wat je nodig hebt en schematisch
Wat je nodig hebt en schematisch
Wat je nodig hebt en schematisch
Wat je nodig hebt en schematisch
Wat je nodig hebt en schematisch
Wat je nodig hebt en schematisch

Nou, dit is de lijst zoals gewoonlijk, er verandert niets als je hier bent voor het script, scroll er gewoon doorheen

  1. Verbinding internet
  2. Android-telefoon (natuurlijk)
  3. Aanmelden het is gratis (geen promotie) App Inventor
  4. Arduino + Bluetooth-module
  5. LED/strip RGB
  6. Weerstand 100/200/330

Stap 2: Arduino-codeverklaring en -configuratie

Declareer eerst de variabelen, nummerpoort, enz. (Vervang " door <)

#include "SoftwareSerial.h"

#include "Wire.h" SoftwareSerial BT(10, 11);

Ik gebruik poort 7 en 8 als RX TX, onthoud als je de Bluetooth-module wilt aansluiten, zorg ervoor dat de pin RX-module verbinding maakt met pin TX.

int LED_RED = 3;

int LED_GREEN = 5; int LED_BLUE = 6; Tekenreeksgegevens = ""; String data_Previous = "255.255.255"; Tekenreeks AAN = "LON"; Tekenreeks UIT = "LOFF"; booleaanse toestand = onwaar;

het volgende script is om ervoor te zorgen dat de pin van RGB LED/Stips naar pin PWM gaat

ongeldige setup()

{ pinMode (LED_RED, UITGANG); pinMode (LED_GREEN, pinMode (LED_BLUE, OUTPUT); Serial.begin (9600); BT.begin (9600); data.reserve (30);}

Zoals je kunt zien, heb ik de poort voor bluetooth als BT genoemd, dus verklaar het zoals gewoonlijk als serieel, zorg ervoor dat de boudrate hetzelfde is als de configuratie op de module (standaard is 9600).

Stap 3: Arduino-code (hoofdcode)

BINNEN LEEGTE LUS

while(BT.beschikbaar())

{ char ReadChar = (char)BT.read(); Serial.println("Verbonden"); if (ReadChar == '+') { staat = waar; } else { data += ReadChar; } }

Het script voor het controleren van de Bluetooth-module is verbonden of niet, indien verbonden, ontvangt het gegevens en slaat het op in ReadChar.

als (staat)

{ Serial.print("data:"); Seriële.afdruk(gegevens); Serial.print(" Predata:"); Serial.print(data_Vorige); if (data==ON) { data = data_Vorige; Gegevens_LED(); } else if (data==UIT) { data = "0.0.0"; Gegevens_LED(); } else { Data_LED(); data_Vorige = gegevens; } gegevens = ""; staat = onwaar; }

dit is het laatste deel van de void-lus, de if-status om ervoor te zorgen dat de gegevens compleet zijn als nee de binnenkant niet heeft uitgevoerd.

LED FUNCTIEGEGEVENS

int seperator1 = data.indexOf('-');

int seperator2 = data.indexOf('-', seperator1+1); int seperator3 = data.indexOf('-', seperator2+1);

dit deel is de hoofdcode, want als je één string ontvangt, moet deze weten waar het scheidingsteken zich bevindt. Het is niet mogelijk dat de waarden van RGB onder de 50 zijn, met indexOf zal het het aantal tekens vinden waarmee we zoeken, hiermee kunnen we weten welk nummer de substring-functie moet starten.

String R = data.substring(0, seperator1);

String G = data.substring(seperator1+1, seperator2); String B = data.substring(seperator2+1, seperator3);

Nadat de positie van elke waarde is verkregen, zal de subString-functie elk van de getallen naar elke variabele plaatsen, de scheidingsteken verhogen om ervoor te zorgen dat de waarde ervoor niet wordt gelezen.

Stap 4: App-uitvinder

App-uitvinder
App-uitvinder
App-uitvinder
App-uitvinder

Deze service maakt het voor beginners (zoals ik) gemakkelijker om Android-apps te maken die alleen logica nodig hebben, geduld hebben en internet

Maak eerst een eenvoudige GUI

Begin met het schaven of visualiseren van de lay-out, er zijn twee versies die ik heb gemaakt, de zwarte is de eerste en de witte is de tweede

2e open MIT APP of klik hier

  1. Is deze stap klik op Apps maken! op de rechterhoek
  2. Nieuw project starten
  3. Typ de naam
  4. Ontwerp beginnen

Als u mijn bron gebruikt, klikt u op Projecten en kiest u import aia

Invoering

Op deze service heb je een logica nodig, want voor elke inhoud heeft zijn eigen kleur en uitleg, gewoon zoeken als je het niet begrijpt, het is niet moeilijk als je bekend bent met script/codering.

De belangrijkste was het kleurenwiel en de bluetooth-client, hier de uitleg

KLEURENWIEL

  1. Kleurenwiel krijgt de waarde door de vinger te detecteren waar deze aanraakt
  2. Cursor volgt de vinger, onthoud dat de cursor soms niet perfect is uitgelijnd met het doel
  3. Cursor krijgt de waarde X en Y en
  4. Deze waarde wordt gebruikt door de functie getBackgroundPixelColour, in feite zoals de kleurkiezer in de andere apps
  5. Er zijn 3 waarden (Rood, Groen, Blauw) elk van waarde gescheiden door nummer van de lijst (begin bij 1)
  6. Dat is de eenvoudige manier om een kleurenwiel te maken

BLUETOOTH

  1. Nadat je de waarde hebt gekregen en deze hebt verzonden door - toe te voegen voor elk teken en aan het einde + toe te voegen met de functie van join
  2. Stuur het naar serie

Stap 5: Conclusie

Sorry voor mijn slechte Engels, ik was aan het testen en vond het probleem met mijn RGB-LED (de rode diode zal niet oplichten als ik 100R gebruik). Ik zal de RGB-strip maken als ik die heb, ik probeer de 3trd-versie mijn vliegtuig om meer functies te maken, zoals feestverlichting, aangepaste feestverlichting en iets te verbeteren.

Als het echt werkt zo niet corrigeert mij ook. Veel plezier met coderen ^^

Aanbevolen: