Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

LED-helderheid regelen met Bolt en Arduino

Componenten en benodigdheden

Bolt IoT Bolt WiFi-module
× 1
Arduino UNO
× 1
LED (generiek)
× 6
Weerstand 330 ohm
× 6
Soldeerloze breadboard halve grootte
× 1
Mannelijke/Mannelijke doorverbindingsdraden
× 7
USB-A naar B-kabel
× 1

Apps en online services

Arduino IDE
Bolt IoT Bolt Cloud

Over dit project

Beschrijving

Het continu laten branden van een buislamp in je huis, ook al heb je het niet nodig of heb je een gedimd licht nodig, kost niet alleen veel, maar irriteert soms een persoon. Het zou geweldig zijn als je de helderheid van het buislicht met je vingertoppen zou kunnen regelen. Is het niet! Vandaag zal dit project je helpen om een ​​klein prototype te ontwikkelen, zodat je je buislamp thuis met een paar commando's kunt bedienen. Hier zullen we maximaal zes LED's besturen met behulp van Bolt en Arduino. De helderheid wordt geregeld met behulp van de 6 PWM-kanalen op de Arduino-eenheid.

Alle benodigde componenten verzamelen

Alle componenten die nodig zijn voor het project worden hieronder vermeld en zijn gemakkelijk op de markt verkrijgbaar tegen een redelijke prijs.

1. Bout

2. Arduino Uno

3. LED

4. Weerstand (330 Ohm)

5. Breadboard

6. Doorverbindingsdraden (mannelijk/mannelijk)

7. USB-kabel voor Arduino

Bout

Het Bolt IoT-platform geeft je de mogelijkheid om je apparaten te besturen en gegevens van IoT-apparaten veilig en beveiligd te verzamelen, waar je ook bent. Krijg bruikbare inzichten door machine learning-algoritmen in te zetten met slechts een paar klikken om afwijkingen te detecteren en sensorwaarden te voorspellen. Ga voor meer informatie naar boltiot.com.

Pulsbreedtemodulatie

Het wordt gebruikt voor het regelen van de amplitude van digitale signalen om apparaten en toepassingen te besturen die stroom of elektriciteit nodig hebben. Het regelt in wezen de hoeveelheid stroom, in het perspectief van de spanningscomponent, die aan een apparaat wordt gegeven door de aan- en uitfasen van een digitaal signaal snel te wisselen en de breedte van de "aan"-fase of duty-cycle te variëren. Voor het apparaat zou dit verschijnen als een constante stroominvoer met een gemiddelde spanningswaarde, die het resultaat is van het percentage van de aan-tijd. Lees hier meer.

De hardware in elkaar zetten

1. Verzamel alle componenten en controleer of de LED's goed werken of niet.

2. Sluit de kathode van LED's aan op de GND-lijn en de anode in serie op een weerstand van 330 Ohm.

3. Sluit het andere uiteinde van de weerstand aan op de 6 PWM-kanalen (d.w.z. pinnen 3, 5, 6, 9, 10 en 11).

4. Verbind de GND van Arduino met de GND-lijn van breadboard.

5. Verbind respectievelijk de Tx en Rx van de bout met de Rx en Tx van de Arduino.

6. Sluit tot slot de 5V-pin van de bout aan op de 5V-pin van Arduino en GND van Bolt op de GND van Arduino.

OPMERKING:Raadpleeg de schema's voor hulp.

De bout instellen

1. Ga naar cloud.boltiot.com en meld je aan om een ​​account aan te maken.

2. Download de BoltIot-app op uw mobiel en log in op uw account en voeg uw nieuwe Bolt-apparaat toe. Meer informatie over het toevoegen van het boutapparaat.

3. Haal uw Bolt-apparaat-ID op zoals hieronder weergegeven.

4. Om de API-sleutel voor uw account in de cloud te krijgen, gaat u naar API en klikt u op inschakelen zoals weergegeven.

OPMERKING:de bovenstaande API-sleutel en Bolt-apparaat-ID zijn erg belangrijk, deel ze met niemand.

API en Bolt Cloud API

Een Application Programming Interface (API) is een bepaalde set regels ('code') en specificaties die softwareprogramma's kunnen volgen om met elkaar te communiceren. Het dient als een interface tussen verschillende softwareprogramma's en vergemakkelijkt hun interactie, vergelijkbaar met de manier waarop de gebruikersinterface de interactie tussen mensen en computers faciliteert.

De Bolt Cloud API biedt een interface voor communicatie tussen de Bolt-apparaten en elk systeem van derden, b.v. mobiele applicatie, webserver, python-programma's enz. De API bevat zeer intuïtieve controle-, bewakings-, communicatie- en hulpprogrammafuncties voor de Bolt-apparaten die op uw account zijn aangesloten.

Om de API-aanroepen voor Bolt Cloud te gebruiken, hebben we de Bolt-apparaat-ID en de API-sleutel nodig die we eerder hebben gekregen. De algemene syntaxis voor de API-aanroep vanuit een webbrowser ziet er als volgt uit:

https://cloud.boltiot.com/remote/your_api_key/command?¶m1=...¶m2=...&deviceName=BOLTXXXXX 

waarbij wordt vervangen door de Bolt Cloud API en door de Bolt-apparaat-ID.Voor bijv.

https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/restart?&deviceName=BOLT9161541 

Klik hier om meer te weten.

Code voor Arduino

1. Download de boltiot-arduino-helper-bibliotheek van GitHub en voeg deze toe aan de Arduino-bibliotheek. Klik hier om te downloaden.

2. Upload de onderstaande code naar de Arduino Uno.

OPMERKING:VerwijderdeTxandTxverbindingtussenBoltandArduinovoordat u gaat uploaden.

API-aanroepen voor het regelen van de helderheid

Voor het regelen van de led-helderheid met behulp van de API-aanroep zullen we de UART-API's van de Bolt Cloud gebruiken. Initialiseer eerst de seriële communicatie tussen Bolt en Arduino via serialBegin API-aanroep zoals aangegeven:

https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialBegin?baud=9600&deviceName=BOLT13819450 

Om de led AAN te zetten met een bepaalde helderheid hebben we de serialWrite API-aanroep nodig zoals gegeven:

https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialWrite?data=ON 

We moeten en vervangen door 2 parameters, bevat eerst het pinnummer van de led waarvan de helderheid moet worden gewijzigd en de tweede bevat de waarde voor de PWM die overeenkomt met dezelfde led.

OPMERKING:Beide parameters moeten worden gescheiden door een ' '(spatie)teken ertussen en ook en het einde van de gegevensvariabele.

Voor bijvoorbeeld- Als u de helderheid van de led op pin 3 (d.w.z. led 1) met een PWM-waarde van 120 wilt regelen, wordt de gegevensvariabele in de API-aanroep gegeven door:

'data=ON 1 120 ' 

Opmerking:er is ook ruimte aan het einde van de gegevensvariabele.

Om het antwoord van elk van de serialWrite API-aanroepen te krijgen, gebruiken we direct daarna de serialRead API. Het wordt gegeven door:

https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialRead?till=10&deviceName=BOLT8795377 

OPMERKING:vervang in alle bovenstaande API-aanroepen de API-sleutel en de Bolt-apparaat-ID door degene die u van het Bolt-account hebt gekregen.

Werkingsprincipe

Het werkingsprincipe is heel eenvoudig, de Arduino controleert continu op het seriële commando dat van Bolt is ontvangen. Als de opdrachtreeks overeenkomt met "AAN", voert deze de overeenkomstige functie uit.

Wanneer het het ON-commando ontvangt gevolgd door de gegevensvariabele, slaat de Arduino eerst het pinnummer en de PWM-waarde van de gegevensvariabele op. De Arduino controleert vervolgens of het pinnummer binnen het bereik valt of niet. zo nee, dan wordt er een reactie teruggestuurd met de mededeling 'pincode moet z/w 1 en 6 zijn'.

En als alles in orde is, voert het de opdracht analogWrite uit op de pin met de bijbehorende PWM-waarde om de helderheid te regelen. Na het regelen van de helderheid, stuurt het een reactie terug met de mededeling '"Pin was ingesteld op pwm-waarde "

Op deze manier kan een gebruiker dus de helderheid van maximaal 6 leds op een bepaald moment regelen.

Code

  • Led-helderheidsregeling
Led-helderheidsregelingArduino
#include int pwm_pin[] ={3,5,6,9,10,11};String switchOn(String *data) { int pin =data[0].toInt (); int pwm =data[1].toInt(); if ((pin <1) || (pin> 6)) { return "pincode moet b/w 1 en 6 zijn"; } pin--; analogWrite(pwm_pin[pin],pwm); return "Pin"+String(pin)+"was ingesteld op pwm value"+String(pwm);}void setup() { // plaats hier je setup-code om een ​​keer uit te voeren:pinMode(3,OUTPUT); pinMode (5, UITGANG); pinMode(6,UITGANG); pinMode(9,UITGANG); pinMode (10, UITGANG); pinMode (11, UITGANG); boltiot.begin(serie); boltiot.setCommandString("ON",switchOn,2,' ');}void loop() { // plaats hier je hoofdcode om herhaaldelijk uit te voeren:boltiot.handleCommand();}

Schema's


Productieproces

  1. Universele afstandsbediening met Arduino, 1Sheeld en Android
  2. DIY voltmeter met Arduino en smartphone
  3. Frequentie- en werkcyclusmeting met Arduino
  4. Slimme schoenen (automatisch rijgen en elektriciteit opwekken)
  5. Sonar met arduino en weergave op verwerkings-IDE
  6. Besturing van servomotor met Arduino en MPU6050
  7. Eenvoudige en slimme robotarm met Arduino
  8. Enkele LED Matrix Arduino Flip Clock
  9. Een LED-matrix besturen met Arduino Uno
  10. FM-radio met Arduino en RDA8057M
  11. Materialen en componenten gemaakt met behulp van CNC-machines