Arduino Uno, HM-10 Chip not connecting

Hello everyone,

Let me start of by saying I am pretty new to Arduino in general and very new to this blog. So sorry if I put this in the wrong section and or ask any silly questions!

I am working on designing a gear position sensor for my colleges capstone project, and we are using an Arduino Uno and a HM-10 Bluetooth module (along with a few other sensors which are not pertinent to this). Our end goal was to be able to transmit this data to a biking computer (A Wahoo Element Bolt in this case) to integrate it with the computers data and record it all. We have been successful in connecting Android smartphones to the Uno via the HM-10, but now that I am trying to get the HM-10 to connect to the Wahoo Element, I am unable to do so.

So far I have contacted Wahoo, I spoke with a "tech" representative, and he said the Wahoo Element should be able to connect to any open Bluetooth connection.

I have also purchased an FDTI chip, and messed with a few AT commands trying to get the thing to connect but still nothing.

Does anyone have any clue as to why the Wahoo will not connect to the HM-10 Bluetooth module? and could the fact that the HM-10 chip is BLE have any effect on connectivity?

Sorry for the long post, and I hope its in the right section,
Thanks a lot,
Conor

You might start by posting your code and a schematic, not a frizzy thing showing all power and ground connections. Links to the hardware items help a lot. Why would the other sensors not be relevant?

Hello, first to answer why I believe the other sensors are not relevant is because they are used to track gear position and the incline/decline angle of the bike. We are using an Infrared sensor (VNCL4010) and an incline sensor (SCA60C) to do so, and if I’m wrong and these are relevant to the problem please correct me!

But the main issue we are having is connecting the HM-10 Bluetooth module to our Wahoo Element Biking computer.

Here is the code we used to test the Bluetooth chip with a Android smartphone

[color=#666666][color=#557799]#include <SoftwareSerial.h>[/color]

SoftwareSerial [color=#0066bb][b]ble[/b][/color]([color=#0000dd][b]2[/b][/color], [color=#0000dd][b]3[/b][/color]); [color=#888888]// RX, TX[/color]

[color=#333399][b]void[/b][/color] [color=#0066bb][b]setup[/b][/color]() {
 [color=#888888]// Open serial port[/color]
 Serial.begin([color=#0000dd][b]9600[/b][/color]);
 [color=#888888]// begin bluetooth serial port communication[/color]
 ble.begin([color=#0000dd][b]9600[/b][/color]);
}

[color=#888888]// Now for the loop[/color]

[color=#333399][b]void[/b][/color] loop() {
 Serial.println("Sending Bluetooth Message...");
 ble.write("Testing...");
 delay([color=#0000dd][b]500[/b][/color]);
 
}


and below this is the code we wrote for the IR proximity sensor and the incline sensor. 


[color=#000000]#include <LiquidCrystal.h>[/color]
[color=#000000]#include <LiquidCrystal.h>[/color]
[color=#000000]LiquidCrystal lcd(12, 11, 5, 4, 3, 2);[/color]

[color=#000000]#include <Wire.h>[/color]
[color=#000000]#include "Adafruit_VCNL4010.h"[/color]
[color=#000000]Adafruit_VCNL4010 vcnl;[/color]

[color=#000000]const int anglePin =A0;[/color]
[color=#000000]int angle =0;[/color]
[color=#000000]const int angleCompensate =0;[/color]
[color=#000000][color=inherit] [/color][/color]
[color=#000000]const int d1Pin =A1;[/color]
[color=#000000]int d1State =LOW;[/color]
[color=#000000]int d1Delay =0;//watch[color=inherit] [/color][/color]
[color=#000000][color=inherit] [/color][/color]
[color=#000000]const int d2Pin =A2;[/color]
[color=#000000]int d2State =LOW;[/color]
[color=#000000]int d2Delay =0;[/color]
[color=#000000][color=inherit] [/color][/color]
[color=#000000]char *lables[]={"Angle","Alarm D1","Alarm D2"};[/color]

[color=#000000]void setup() {[/color]
[color=#000000]lcd.begin(16, 2); [color=inherit] [/color][/color]


[color=#000000]delay(1000); [color=inherit] [/color][/color]
[color=#000000]lcd.clear();[color=inherit] [/color][/color]

[color=#000000][color=inherit]  [/color]Serial.begin(9600);[/color]
[color=#000000][color=inherit]  [/color]Serial.println("VCNL4010 test");[/color]

[color=#000000][color=inherit]  [/color]if (! vcnl.begin()){[/color]
[color=#000000][color=inherit]    [/color]Serial.println("Sensor not found :(");[/color]
[color=#000000][color=inherit]    [/color]while (1);[/color]
[color=#000000][color=inherit]  [/color]}[/color]
[color=#000000][color=inherit]  [/color]Serial.println("Found VCNL4010");[/color]
[color=#000000][color=inherit]  [/color][/color]
[color=#000000][color=inherit]  [/color]Serial.begin(9600);[color=inherit]          [/color]//[color=inherit]  [/color]setup serial[/color]
[color=#000000][color=inherit]  [/color]Serial.println("Robojax SCA60C Angle Sensor");[/color]
[color=#000000]}[color=inherit]   [/color][/color]

[color=#000000]void loop() { lcd.begin(16, 2);[/color]
[color=#000000][color=inherit]  [/color]lcd.print("Gear 1 Engaged");[/color]
[color=#000000][color=inherit]  [/color]delay(500);[/color]
[color=#000000][color=inherit]  [/color]/*lcd.clear(); */[color=inherit] [/color][/color]


[color=#000000]/*lcd.clear(); */[/color]

[color=#000000][color=inherit]   [/color]Serial.print("Ambient: "); Serial.println(vcnl.readAmbient());[/color]
[color=#000000][color=inherit]   [/color]Serial.print("Proximity: "); Serial.println(vcnl.readProximity());[/color]
[color=#000000][color=inherit]   [/color]delay(1000);[/color]

[color=#000000][color=inherit] [/color][/color]
[color=#000000][color=inherit]  [/color]getAngle();[/color]
[color=#000000][color=inherit]  [/color]d1Alarm();[/color]
[color=#000000][color=inherit]  [/color]d2Alarm();[/color]
[color=#000000][color=inherit]  [/color][/color]
[color=#000000][color=inherit]  [/color]Serial.print(lables[0]);//[color=inherit] [/color][/color]
[color=#000000][color=inherit]  [/color]Serial.print(":");[/color]
[color=#000000][color=inherit]  [/color]Serial.print(angle);[/color]
[color=#000000][color=inherit]  [/color]Serial.println("°");//degree symbo[/color]
[color=#000000][color=inherit]  [/color]delay(1000);[/color]
[color=#000000]}[/color]
[color=#000000][color=inherit] [/color][/color]
[color=#000000]void getAngle()[/color]
[color=#000000]{[/color]

[color=#000000][color=inherit]   [/color]angle =map(analogRead(A0), 96, 927, -90, 90) + angleCompensate;[color=inherit] [/color][/color]
[color=#000000][color=inherit] [/color][/color]
[color=#000000]}[/color]
[color=#000000][color=inherit] [/color][/color]

[color=#000000]void d1Alarm()[/color]
[color=#000000]{[/color]
[color=#000000][color=inherit]  [/color]float vo = analogRead(d1Pin) * (5.0 / 1023.0);[/color]
[color=#000000][color=inherit]  [/color]if(vo < 3.5)[/color]
[color=#000000][color=inherit]  [/color]{[/color]
[color=#000000][color=inherit]    [/color]d1State =HIGH;[/color]
[color=#000000][color=inherit]    [/color]delay(d1Delay); [color=inherit]   [/color][/color]
[color=#000000][color=inherit]  [/color]}else{[/color]
[color=#000000][color=inherit]    [/color]d1State =LOW; [color=inherit]   [/color][/color]
[color=#000000][color=inherit]  [/color]}[/color]
[color=#000000][color=inherit] [/color][/color]
[color=#000000]}[/color]
[color=#000000][color=inherit] [/color][/color]
[color=#000000][color=inherit] [/color][/color]

[color=#000000]void d2Alarm()[/color]
[color=#000000]{[/color]
[color=#000000][color=inherit]  [/color][/color]
[color=#000000][color=inherit]  [/color]float vo = analogRead(d2Pin) * (5.0 / 1023.0);[/color]
[color=#000000][color=inherit] [/color][/color]
[color=#000000][color=inherit]  [/color]if(vo < 3.5)[/color]
[color=#000000][color=inherit]  [/color]{[/color]
[color=#000000][color=inherit]    [/color]d2State =HIGH;[/color]
[color=#000000][color=inherit]    [/color]delay(d2Delay); [color=inherit]   [/color][/color]
[color=#000000][color=inherit]  [/color]}else{[/color]
[color=#000000][color=inherit]    [/color]d2State =LOW; [color=inherit]   [/color][/color]
[color=#000000][color=inherit]  [/color]} [color=inherit] [/color][/color]
[color=#000000][color=inherit] [/color][/color]
[color=#000000]}



Also I know its not the best schematic but its what we have right now I will be making a digital version soon and can post it here when done if really needed. 


again, sorry for the long post and thanks for all and any help yall can give![/color]

[/color]

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.