author
1Instructables10,002Views37CommentsJoined January 6th, 2017

Tell us about yourself!

Complete Your Profile

Achievements

10K+ Views Earned a bronze medal
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    The way you describe it sounds fine, but I've gotten similar errors when the library is either added incorrectly or when its files were copied inside the LED_control project's folder. I'd try removing the FHT library from everywhere and re-adding it again. When you remove it, make sure it's removed from arduino IDE's libraries folder and that it doesn't appear in the list of libraries in the arduino IDE's menu.Also, sometimes when you attach a library, the IDE automatically inserts the #include statement into the sketch. If that happens, you'll need to remove that statement because it's already there. Other than that, I really don't see what else to recommend...

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    Did you follow the steps I described in the tutorial to attach the FHT library? It seems like you've copied library files into the project, which is not the way it should be done. As for the LED strip connection, all you need to make sure is that you provide 5V to the power input (directly from the power supply or from arduino's 5V pin), the ground you connect to the strip is also connected to arduino's GND pin (if you power it from arduino, just connect arduino's GND and strip's GND), and connect strip's digital input to the arduino's digital pin 8.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    Just saw your messages. Were you able to solve the issues? I've never tried putting 300 LEDs in it as I don't even have that many. I suspect that at this amount of LEDs the program may be unstable due to memory overflows and adding System.println() consumes even more memory, which makes the problem worse. Using this syntax: System.println(F("string you want to print")) makes life a little easier as it allows to store strings in the flash memory rather than RAM.

    I just googled what you see in the monitor and it seems like your arduino is running an example code for printing ASCII table from this tutorial: https://www.arduino.cc/en/Tutorial/ASCIITableSo, the problem is that you still haven't uploaded the right code to your arduino. What does the IDE tell you when you hit "Upload"? It should say something like "upload complete".

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    this makes me think of another possible issue. Don't know if that's what happening with your setup, but it can definitely mess things up.I store the number of LEDs in Arduino's memory (EEPROM) and it's preserved there even if you unplug it or re-upload the code. So, if you send too high number of LEDs, arduino will start crashing upon startup, when it's trying to initialize the array for LED colors and runs out of memory. Thus, you'd need to run the code that erases everything from the memory to make it work again (basically it's calling "EEPROM.write(i, 0)" in a loop for i from 0 to EEPROM.length()).

    Huh, you're right, there is an error there. The connection diagram is correct, but the writing is wrong. I'll fix it momentarily

    Yeah, 300 LEDs will definitely make arduino freeze due to the lack of memory if you try music visualization. The simple color controls should work though.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    This message appears when the array that stores the colors for the LED strip is initialized. 384 bytes corresponding to 128 LEDs is the default size, so it will show up regardless of whether HC-06 works or not.When you send commands from the app you should be able to see them appearing in the serial monitor. If you don't that means the commands don't reach Arduino.When I'd made this setup with pro mini I didn't really have any additional problems aside from my USB-to-serial converter not working half the time (I solved it by buying a better one), so I'm not sure what's happening. As long as it's a 16 MHz 5V mini (and not a 8 MHz or 3V one) it should behave pretty much identically to Uno.

    Hahah, thanks for the "genius", but if you knew how many hours I spent working with it you wouldn't be surprised. As for the visualization settings you're sending to the strip (I love lists, obviously):1. I don't see any way switching lights off would help with resetting sound visualization (unless there is some weird bug in the app I've never seen before, which is entirely possible). What may help is re-plugging arduino if it freezes (especially if you use more than 128 LEDs it may or may not run out of RAM) and restarting the app if it starts acting funny.2. Make sure LEDs don't blink on their own without any sounds. If they do, re-record the noise level. Also, if you make any sounds during noise recording, your LEDs won't be as responsive.3. Increasing music volume improves...

    see more »

    Hahah, thanks for the "genius", but if you knew how many hours I spent working with it you wouldn't be surprised. As for the visualization settings you're sending to the strip (I love lists, obviously):1. I don't see any way switching lights off would help with resetting sound visualization (unless there is some weird bug in the app I've never seen before, which is entirely possible). What may help is re-plugging arduino if it freezes (especially if you use more than 128 LEDs it may or may not run out of RAM) and restarting the app if it starts acting funny.2. Make sure LEDs don't blink on their own without any sounds. If they do, re-record the noise level. Also, if you make any sounds during noise recording, your LEDs won't be as responsive.3. Increasing music volume improves visualization quality as this system is more sensitive to low frequencies and will pick them up at lower volumes than the high frequencies. At higher volumes everything should be more or less fine as I normalize LED brightness for each frequency independently.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    this is quite weird, I don't know what you did, but there shouldn't be any tables in the monitor. The only thing I can think of is that your arduino is not running the code it's supposed to. Try re-uploading the code in test.ino and make sure it goes through.

    It's hard to track all the comments here as they seem to appear in random order, but Calvin gave you some good suggestions, they should be enough to make this work.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    Well, it's hard for me to tell you what is wrong without any details. Here are some possible reasons:1. HC-06 is broken. It should start blinking red light when connected to power and you should be able to discover it and pair with it using your phone2. You've connected things incorrectly. Particularly, make sure TXD goes to the pin 10, RXD - to the pin 11.3. Arduino code is not running correctly. This is probably not the case as I assume you see "Send AT commands" in the monitor, which is a pretty good indication of it working well.4. Sometimes HC-06 or the serial monitor act weirdly. Try restarting the monitor and/or re-plugging arduino to USB.

    please see my reply to a similar question above and let me know if it helps.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    It's just an older version of the app in the video, I moved things around in the new version

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    If you want it to work with the attached code, it needs to be WS2812B. You can make it work with any individually addressable strip, but you'd have to adjust the code so it sends the appropriate signal to the strip.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    Are you sure you have the WS2812B strip? It shouldn't have separate contacts for R, G, and B, it should just be one for data.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    thanks, any microphone that provides analog input around 3.3 V should work.

    Thanks, any microphone-amplifier system that provides analog signal to arduino below 5V should work.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    also, don't worry about paying me, I'll help you for free

    Congratulations, I've finally made it! I've made this project to learn arduino as well, I just had to do some programming to make it work. At this point my program uses pretty much 100% of uno's processing power and memory, so there is not a huge room for improvement. I've been thinking of using some other board (like arduino due or maybe even raspberry pi) to enable continuous audio acquisition (right now I can't record audio while doing signal processing). And there are some other things I can do to improve the visual effects. But I'm gonna have to graduate from my PhD program soon so my attention will be elsewhere for a while.

    as for the settings, you can play with it and save what you like for future use (using the save button, obviously). I'd recommend always using Bark scale option for splitting frequencies into bins, the noise option was my first approach, but it doesn't work as well. Another thing to note is that the LED smoothness bar i exponential, meaning that the change in smoothness is pretty dramatic if you move it too far.

    Whoops, I just realized that the folder you need to add is not ArduinoFHT2, it's the "FHT" folder inside of ArduinoFHT2. So, I'd remove any libraries you've installed and reinstall it the proper way. I'll update the instructable.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    So, I think the problem (at least one of them) is the way you are adding the FHT library. You should open the LED_Control.ino, then go to Tools -> Include Library -> Add .zip library, then choose the root folder for the library (ArduinoFHT2). This is counter-intuitive as you are adding a folder instead of a .zip library, but that's how you do it. I just checked my code once again and it compiler without errors.

    sorry, the path to adding libraries is not Tools ->..., it's in Sketch -> Include Library -> Add .zip library

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    Android 2.3... and they say dinosaurs had gone extinct... So, the problem is that the app only works on android 4.0.3 (API 15) or higher. If you can figure out a way to install newer android on your galaxy ace, that should be sufficient.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    hmm, I'm not sure what exactly is the problem (and I'm by no means an expert in this). Are you at least seeing "Type AT commands here" in the serial monitor? If not, then it's the adruino code not reaching the serial monitor (just close and open it again, try changing the baud rate to something else and then back to 9600). This needs to work before the HC-06 can receive anything.You should be able to pair your phone (iPhone or android) with the bluetooth module even without arduino, just plug the power in and it should start blinking the red light and be visible from any phone with bluetooth (the default pass code is 1234). This way you can verify that your HC-06 is working. However, HC-06 can only go in the programming mode right after it's plugged in and when it's not conne...

    see more »

    hmm, I'm not sure what exactly is the problem (and I'm by no means an expert in this). Are you at least seeing "Type AT commands here" in the serial monitor? If not, then it's the adruino code not reaching the serial monitor (just close and open it again, try changing the baud rate to something else and then back to 9600). This needs to work before the HC-06 can receive anything.You should be able to pair your phone (iPhone or android) with the bluetooth module even without arduino, just plug the power in and it should start blinking the red light and be visible from any phone with bluetooth (the default pass code is 1234). This way you can verify that your HC-06 is working. However, HC-06 can only go in the programming mode right after it's plugged in and when it's not connected to any bluetooth device.So, try this procedure: 1. Upload test.ino (if it's not there yet). 2. Disconnect arduino. 3. Connect HC-06 (btw, make sure TXD goes to 10 and RXD - to 11). 4. Connect arduino. 5. Open Serial Monitor. 6 Try sending commands. 7. If it's not working, you can try: a) restarting serial monitor; b) reconnecting arduino.If nothing is working after that then I'm not sure what the problem may be...

    Sometimes the connection acts a bit weird and you don't get any response. Try plugging the power off and on and reopening the serial monitor window. This usually helps.

    Thanks, but you may be overestimating my accomplishments.

    also, make sure you aren't connected to the bluetooth module via your phone and the baud rate in the serial monitor is right

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    Okay, I'll explain better. ACCESS_COARSE_LOCATION permission is NOT required to connect to bluetooth devices, but it IS required to scan the nearby devices. It has nothing to do with using GPS, you can disable it in your phone and the app will work just fine. Theoretically I could make the version of the app that doesn't use this permission, but you'd have to pair with arduino for the first time outside of the app in android's default bluetooth connection window, which is inconvenient. This has been introduced in android 6.0 and I'll quote from their official release: https://developer.android.com/about/versions/marsh..."To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans, your app must now have the ACCESS_FINE_LOCATION orACCESS_COARSE_LOCATI...

    see more »

    Okay, I'll explain better. ACCESS_COARSE_LOCATION permission is NOT required to connect to bluetooth devices, but it IS required to scan the nearby devices. It has nothing to do with using GPS, you can disable it in your phone and the app will work just fine. Theoretically I could make the version of the app that doesn't use this permission, but you'd have to pair with arduino for the first time outside of the app in android's default bluetooth connection window, which is inconvenient. This has been introduced in android 6.0 and I'll quote from their official release: https://developer.android.com/about/versions/marsh..."To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans, your app must now have the ACCESS_FINE_LOCATION orACCESS_COARSE_LOCATION permissions".You can do whatever you want with the app, I'm not trying to hide or protect anything here, but you start sounding paranoid when you say you have "NO DOUBT" about the app sending data somewhere but if you simply go to Settings -> Apps -> LED Strip Control and look at the data usage section, you'll see "no data used".

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    I replied above about the location

    The location permission (particularly, ACCESS_COARSE_LOCATION) is needed to be able to use bluetooth in android. It's kind of stupid but there is no way around it. Here is the link explaining it: https://developer.android.com/guide/topics/connect...I might make the code public, but I'm not ready to do it just yet (I'm a bit of a perfectionist). To eliminate the safety concerns, I can upload the app to google play in a couple of days.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    you need to enable installing apps from unknown sources in settings, then download the .apk file and run it from your phone. There are many detailed tutorials online

    I wish there was, but no.

    View Instructable »
  • IvanB147's instructable Party Lights's weekly stats: 2 years ago
    • Party Lights
      1,791 views
      59 favorites
      12 comments
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    Must've forgotten to attach. Fixed now.

    View Instructable »
  • IvanB147 commented on IvanB147's instructable Party Lights2 years ago
    Party Lights

    I haven't tried any other microphones, but I don't see the reason why it wouldn't work. Arduino just needs an analog input to the analog port and it doesn't care what generates it.

    Thanks! I tried to make it repeat in a loop, but it doesn't work on this website for some reason.

    View Instructable »
  • IvanB147 entered Party Lights in the Make it Glow Contest 2016 contest 2 years ago
  • IvanB147 posted an instructable Party Lights2 years ago