I have 12 simple touch sensors and each of them produces an analog output. I want to send that information to a phone (or some other device). To do that I would need to use the HC-05 Bluetooth module. I don't want to use an Arduino. I looked up some alternatives and I can program an ATtiny85 chip (using the Arduino) to somehow function with the HC-05 and from there send the information to the phone. I don't know if that's the right way to do it. Also, I have 12 analog states that I want to send and only 6 ATtiny85 pins. The project is small so I don't want to use any big components or chips.
-
\$\begingroup\$ if you have an Arduino, then use it to develop the code \$\endgroup\$– jsotolaCommented Jan 9, 2020 at 21:10
-
\$\begingroup\$ Sure but my concern is how to fit 12 analog states into the ATtiny85 and is my whole setup even right? \$\endgroup\$– JingleBellsCommented Jan 9, 2020 at 21:14
-
\$\begingroup\$ There are other Bluetooth modules available that have native analog inputs, are fully programmable, and the same size or smaller than the HC-05. Depending on your budget perhaps you should reconsider your choice of Bluetooth module. You would then no longer need the ATtiny at all. \$\endgroup\$– Chris KnudsenCommented Jan 9, 2020 at 21:24
1 Answer
The usual way of doing this is to use a microcontroller to interpret the inputs and then send your information to the HC-05 module via UART. You need to make the communication protocol yourself, which is probably a good thing. Since you want 12 analog inputs you might be facing some difficulty finding a small microcontroller with that amount.
My suggestion for this task would be to use an analog to digital converter chip (ADC) for the inputs and send this to the microcontroller, which interprets the information and codes it according to your communication protocol and then sends it to the HC-05. An 8-channel ADC can be seen below. Such an ADC connected to the ATtiny85 communicates with SPI or I2C, which are bus protocols needing few wires.
Alternatively, you can use something like a Teensy 3.6 as it already has enough analog inputs. Of course it's bigger and way more powerful than what you need for your purpose. This will be up to you and how much convenience you want in your project. Teensy 3.6 pictured below:
If you want real good convenience Adafruit designs a series called Feathers. These are Arduino compatible microcontrollers with built in Bluetooth functionality that are easy to use. The Feather M0 features 10 ADC channels, which is almost what you want. By searching their range of products, you might be lucky to find a 12-channel one or you could simply use the Feather M0 and a small 2-channel ADC so you have 12 channels.
-
\$\begingroup\$ Thank you. I will try the first method but I'm looking at the MCP3008-I/P ADC and it has only 8 analog inputs, and I need 12. \$\endgroup\$ Commented Jan 10, 2020 at 10:59
-
\$\begingroup\$ Great. You can use two of the 8-bit ADCs of course, or find another 4-channel ADC. \$\endgroup\$– C. K.Commented Jan 11, 2020 at 16:45