So I have been trying to control a 12v RGB LED strip using my iPhone but have been unable to find the code allowing me to do so.
After lots of research I have found a web site called circuito (https://www.circuito.io/app?components=9442,11022,12021,395589) that helps you out with the code just by placing the components you have. However, when using the code it says
"/tmp/634353255/Circuito_12vRGBNanoHM10/Circuito_12vRGBNanoHM10.ino:77:17: error: 'class RGBLed' has no member named 'turnOff'
LedStripRGB.turnOff(); // 3. turns LED Strip RGB off (showing no color). Change the values in the brackets to alter the color."
And as I have not got any idea about the code or how to change it and this is my first Arduino project so not really experience.
// Include Libraries
#include "Arduino.h"
#include "BLEHM10.h"
#include "RGBLed.h"
// Pin Definitions
#define BLEHM10_PIN_RXD 10
#define BLEHM10_PIN_TXD 11
#define LEDSTRIPRGB_PIN_SIGR 6
#define LEDSTRIPRGB_PIN_SIGG 5
#define LEDSTRIPRGB_PIN_SIGB 3
// Global variables and defines
String blehm10Str = "";
#define LedStripRGB_TYPE COMMON_CATHODE
// object initialization
RGBLed LedStripRGB(LEDSTRIPRGB_PIN_SIGR,LEDSTRIPRGB_PIN_SIGG,LEDSTRIPRGB_PIN_SIGB,LedStripRGB_TYPE);
BLEHM10 blehm10(BLEHM10_PIN_RXD,BLEHM10_PIN_TXD);
// define vars for testing menu
const int timeout = 10000; //define timeout of 10 sec
char menuOption = 0;
long time0;
// Setup the essentials for your circuit to work. It runs first every time your circuit is powered with electricity.
void setup()
{
// Setup Serial which is useful for debugging
// Use the Serial Monitor to view printed messages
Serial.begin(9600);
while (!Serial) ; // wait for serial port to connect. Needed for native USB
Serial.println("start");
blehm10.begin(9600);
//This example uses HM-10 BLE to communicate with an Android or iOS device.
//For Android download Hm BLE Terminal from google play store, or any other BLE app.
//For iOS download LightBlue from App Store, or any other BLE app.
//On both apps, pair and connect to your HM-10
//You should see this message your Smartphone
blehm10.println("BLE On....");
LedStripRGB.turnOff(); // Start with LED Strip RGB turned off
menuOption = menu();
}
// Main logic of your circuit. It defines the interaction between the components you selected. After setup, it runs over and over again, in an eternal loop.
void loop()
{
if(menuOption == '1') {
// HM-10 BLE Bluetooth 4.0 - Test Code
//Receive String from bluetooth device
if (blehm10.available())
{
//Read a complete line from bluetooth terminal
blehm10Str = blehm10.readStringUntil('\n');
// Print raw data to serial monitor
Serial.print("BT Raw Data: ");
Serial.println(blehm10Str);
}
//Send sensor data to Bluetooth device
blehm10.println("PUT YOUR SENSOR DATA HERE");
}
else if(menuOption == '2') {
// LED RGB Strip - Bare (1m) - Test Code
// The LED Strip RGB will turn PURPLE for 500ms(half a second) and turn off
LedStripRGB.setRGB(160, 3, 255); // 1. sets LED Strip RGB color to purple. Change the values in the brackets to (255,0,0) for pure RED, (0,255,0) for pure GREEN and (0,0,255) for pure BLUE.
delay(500); // 2. change the value in the brackets (500) for a longer or shorter delay in milliseconds.
LedStripRGB.turnOff(); // 3. turns LED Strip RGB off (showing no color). Change the values in the brackets to alter the color.
delay(500); // 4. change the value in the brackets (500) for a longer or shorter delay in milliseconds.
}
if (millis() - time0 > timeout)
{
menuOption = menu();
}
}
// Menu function for selecting the components to be tested
// Follow serial monitor for instrcutions
char menu()
{
Serial.println(F("\nWhich component would you like to test?"));
Serial.println(F("(1) HM-10 BLE Bluetooth 4.0"));
Serial.println(F("(2) LED RGB Strip - Bare (1m)"));
Serial.println(F("(menu) send anything else or press on board reset button\n"));
while (!Serial.available());
// Read data from serial monitor if received
while (Serial.available())
{
char c = Serial.read();
if (isAlphaNumeric(c))
{
if(c == '1')
Serial.println(F("Now Testing HM-10 BLE Bluetooth 4.0"));
else if(c == '2')
Serial.println(F("Now Testing LED RGB Strip - Bare (1m)"));
else
{
Serial.println(F("illegal input!"));
return 0;
}
time0 = millis();
return c;
}
}
}
/*******************************************************
* Circuito.io is an automatic generator of schematics and code for off
* the shelf hardware combinations.
* Copyright (C) 2016 Roboplan Technologies Ltd.
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* In addition, and without limitation, to the disclaimers of warranties
* stated above and in the GNU General Public License version 3 (or any
* later version), Roboplan Technologies Ltd. ("Roboplan") offers this
* program subject to the following warranty disclaimers and by using
* this program you acknowledge and agree to the following:
* THIS PROGRAM IS PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS, AND
* WITHOUT WARRANTIES OF ANY KIND EITHER EXPRESS OR IMPLIED. ROBOPLAN
* HEREBY DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
* NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS
* FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND THOSE ARISING BY
* STATUTE OR FROM A COURSE OF DEALING OR USAGE OF TRADE.
* YOUR RELIANCE ON, OR USE OF THIS PROGRAM IS AT YOUR SOLE RISK.
* ROBOPLAN DOES NOT GUARANTEE THAT THE PROGRAM WILL BE FREE OF, OR NOT
* SUSCEPTIBLE TO, BUGS, SECURITY BREACHES, OR VIRUSES. ROBOPLAN DOES
* NOT WARRANT THAT YOUR USE OF THE PROGRAM, INCLUDING PURSUANT TO
* SCHEMATICS, INSTRUCTIONS OR RECOMMENDATIONS OF ROBOPLAN, WILL BE SAFE
* FOR PERSONAL USE OR FOR PRODUCTION OR COMMERCIAL USE, WILL NOT
* VIOLATE ANY THIRD PARTY RIGHTS, WILL PROVIDE THE INTENDED OR DESIRED
* RESULTS, OR OPERATE AS YOU INTENDED OR AS MAY BE INDICATED BY ROBOPLAN.
* YOU HEREBY WAIVE, AGREE NOT TO ASSERT AGAINST, AND RELEASE ROBOPLAN,
* ITS LICENSORS AND AFFILIATES FROM, ANY CLAIMS IN CONNECTION WITH ANY OF
* THE ABOVE.
********************************************************/
Is anyone able to help?
Thank you