18

You appear to have a "pro micro" style board in which the USB communication is directly sourced from the main ATmega32u4 processor, rather than generated as serial data and then forwarded to a distinct USB-serial converter as on traditional Arduinos. Your question could have been resolved much more quickly if you had clearly stated the type of board you ...


11

Bluetooth supports multiple protocols for multiple purposes. There is low latency low quality monorail bi-directional communication with a little bit of bandwidth for control for Bluetooth phone calls. This is called HFE Bluetooth protocol. If you are interfacing a keyboard or a mouse you would use the Human Interface Device protocol or HID. If you ...


8

As far as simplicity is concerned, HC05 would be the way to go. It is by far the most popular and there are a tonne of tutorials on using it (just a quick google search). As for the differences: The HC-05 module can build a connection to other modules. E.g. a Robot being a master and connecting to slave bluetooth module. Or in slave mode to make a wireless ...


6

The best and easiest solution I've found is to use the Bluefruit EZ-Link from Adafruit. They have a module you plug into the Serial/Power/reset pins (link here) or a shield for the uno (link here). They've also got a great description and how-to guide (link here) that is pretty good. It basically appears as a serial bluetooth link in the arduino IDE and ...


6

The issues regarding efficiency of power are: The CPU speed The Voltage The Power Regulator (not supply) The Peripherals Address each one of these and don't over look any of them. Or any sub component. But note that some are more impacting than others. while it is possible to lower the speed, It is more practical to just sleep. As you have indicated you ...


6

I've used NRF24L01+ chipset 2.4GHz wireless modules with Arduino before, and found them to be great, and super cheap (~$10 for 10 of them on ebay!). They have 3 modes of transmission: 250kbps, 1Mbps, and 2Mbps. The range decreases accordingly with higher bitrate, but the time spent sending a message does too. There are multiple Arduino libraries (e.g. RF24, ...


6

The sensor in itself can't provide you the velocity. I have used it accelerometers in a couple of projects the easiest way to get the velocity is to constantly monitor acceleration changes and calculate velocity instantaneaously. In order to do so follow these instruction. Pleas note that this is only 1 axis reading in actual case you will have to perform ...


6

Well after I posted this question, I kept googling. Literally hours of googling at this point. Then I stumbled across this example: https://github.com/T-vK/ESP32-BLE-Keyboard I wrote that sketch to my ESP32, paired my iPhone and it immediately starting controlling music playback on my phone. After looking at the code, it's so simple that I'm embarrassed I ...


5

You'll most likely need a USB host shield (like this) for the Arduino to be able to communicate with the dongle, so that doesn't help. You may (this is a long shot) be able to crack open the dongle, look up some datasheets, and possibly find a serial interface inside that you could connect to Arduino... but like I said, it's a long shot.


5

The bluetooth board uses 3.3V, not 5V according the datasheet. So you'll need to shift the voltage level between it and the Arduino board (which is 5V). Note that the spec sheet shows how this can easily be done with 2 resistors (R1 and R2 in sheet typical application circuit, page 5). Also, on the bluetooth module, the RS232 interface has 4 pins: UART_TX ...


5

I agree with @Gerben - the nRF24L01+ would probably be the most suitable for your application. It should have enough range to go 15m through a few walls, and the cost is about as cheap as you can get. You can pick up cheap Chinese clone modules (not real nRF24L01+ but another chip that operates exactly the same) for around $2 each on eBay. I by them by ...


5

I had a toy project a while ago that generated AM radio. Code Code for Uno or any Atmega328 based boards: const byte ANTENNA = 9; void setup() { // set up Timer 1 TCCR1A = bit (COM1A0); // toggle OC1A on Compare Match TCCR1B = bit (WGM12) | bit (CS10); // CTC, no prescaler OCR1A = 9; // compare A register value to 10 (zero relative) ...


5

Parity doesn't, and was never intended to, decrease corruption. All parity does is allow you to DETECT errors. If you detect errors, you still have to handle them. Parity in memory is usually fatal - your code or data is corrupt, the solution is to halt the box, to stop this corruption (in memory) getting on to disk. When used in communication (as it is ...


5

Another option is to not save the characters in buffer but instead check each one as they arrive to see if the character is the next in the tag sequence. This has the advantage that you don't need a buffer to match the tag and you don't have to repeatedly search for the string in the buffer. const char* TAG_STR="(__BOOK_UPLOAD_START__)"; int tag_pos = 0; ...


4

It depends on what the enter key sends. It may be just CR (carriage return), LF (line feed), or both. You can check the ASCII table for the hex values for those characters. LF is 0x0A and CR is 0x0D. Those are the characters you're looking for, you can add a if for these cases in order to guard the call to lcd.print(dato): char dato= Serial1.read(); //...


4

So I stumbled upon this thread while having similar problem, but with HC-05 module. So because I have too much free time on my hands during finals (no I don't) I decided to create a small github repo that might help someone sometime. https://github.com/Sackhorn/HC-05-Pro-Micro-Hookup The code is: //Writen for pro micro //These proved to be usefull //...


4

I'm not entirely sure from your question if you want just the module or a whole breakout board. If the latter, try this from adafruit. It can very easily do his either as mouse or keyboard and is well documented and supported so I think this would be much easier to get running initially. http://www.adafruit.com/products/1535


4

Upload via ICSP. See those six pins next to the regulator you so expertly tacked on? Those are the ICSP pins. You'll need a second controller or programmer to do it. http://arduino.cc/en/Tutorial/ArduinoISP


4

We have implemented remote updates on a Arduino Pro Mini (ATMega328P) by putting a "boot" command into the normal firmware. How it works is: The host sends the command "boot" to the remote Arduino. The Arduino jumps to the boot loader (program address 0x3C00 for the Pro Mini) The host sends the new firmware over the link using avrdude (AVR109 protocol) ...


4

Well as usual it was something stupid (-__-) I changed the byte array for long and it worked perfectly. Here is the complete code working(): #include <IRremote.h> // IR Library - Encode/Decode void irSerial( char SerChar[] ) { // Receive array of characters char IDChar[]={'s', 'i', 'u'}; // List of Serial Char to identify position String ...


4

What you want to do is rather easy task, you just need to forget about delay() function. When writing some more complex programs using it is generally a bad idea, as it blocks code execution, so you won't get any sensor readings, communication, anything. Instead try something like this: unsigned long delay1 = 100; unsigned long delay2 = 1800000; //30 ...


4

Have you considered using real time clocks? You could synchornise them all ahead of time and then use any wireless protocol. Once a button is pressed, you'll look for the unit that reports the earliest time stamp and then once a window of a few seconds has passed let it know that it won. I'd consider using WIFI (802.11) with ESP8266s, RTCs and take a ...


4

After some more concerted searching I have found the answer on Success Using the JY-MCU (linvor) Bluetooth Module: The module has 6 pins labeled on the back, but most modules only have 4 of those populated with pogo pins. KEY & STATE seem to be not required, as KEY is used for flashing the device and STATE simply indicates if the device is ...


4

There's two ways you can go about this - hardware and software. To do it in software would mean writing a new bootloader that supported whatever wireless medium you chose. The bootloader might end up quite large and thus restrict the size of sketch you are able to support. It may also require advanced programming techniques in order to fit it into memory. ...


4

I work with Arduino-based autopilot modules, which usually use similar sensors in addition to GPS data to maintain a reasonable estimate of its position/velocity/acceleration. If you were to add other sensors (i.e. a GPS) to your project, it might be worth looking into Extended Kalman Filters (https://github.com/simondlevy/TinyEKF), which are usually able ...


4

You could use an ESP8266 NODEMCU. There is an example for making it emulate a Hue bridge ( https://github.com/probonopd/ESP8266HueEmulator ). To have the official bridge control your lights would take Zigbee and finding out the protocol that Philips uses. Their API is open source, however the zigbee protocol they use is not afaik. ESP8266 is a very cheap ...


4

It is to protect it. You should keep it so that the modules lasts longer. If you remove it, just don't do anything stupid.


4

The HC-05 has an AT command, AT+BIND?, that will tell you which slave device it is connected with currently. Since you can connect to one device only at the same time, your array is going to be a very short one. AT+INQ will provide you with a list of nearby devices, to which it can connect.


4

In theory they are the same and have the same capabilities. Practically they are not. With SPP-C you get twice the headache for half the price as for HC-05. In had to find it out the hard way Sending data using Bluetooth SPP-C Module without a Breakout-Board. I tried both SPP-C and HC-05 with and without breakout boards finding the same issues. So if you are ...


Only top voted, non community-wiki answers of a minimum length are eligible