@rmtucker Could you please explain in weich was you connect the STLINK to the NRF Module to usw the Arduino IDE. Thanks
Posts made by DerManni
-
RE: 💬 Multi-Sensor: Temp/Humidity/PIR/ Leak/Magnet/Light/Accel
-
RE: 💬 Multi-Sensor: Temp/Humidity/PIR/ Leak/Magnet/Light/Accel
@NeverDie
Did you or anybody else could write to the NRF5xxx via the Arduino IDE and a ST-Link V2 programmer?
I find the DK for approx. 32€ a little bit to expensive for just testing.Edit: Maybe this one could work:
http://s.aliexpress.com/FRzU3miMThanks.
-
RE: High Power Consumption without any reason.
@sundberg84
I also unplugged the sensor, nothing happend to the power consumption in both states.The note is powered through an CP2102 USB 2.0 zu TTL UART on 3V3. Later I planned to power through an CR2450 coin cell.
Unfortunately I cannot unplug the NRF-Module because it is soldered directly to the following shield. (https://oshpark.com/shared_projects/uXIff7XO)
Could it be an faulty NRF-module?
-
High Power Consumption without any reason.
Hello Guys,
I made a MySensor-Sensor out of an Arduino Pro Mini 3V3 8Mhz Clone a BME280 and a NRF24L01 module. During sending the data my power consumption is about 17-18mA, which is often mentioned in the forum.
But in sleepmode there is a much higher power consumption of 4mA than I expected and also mentioned in the topics.Could you please give me a hint where I had to look for the high power consumption? LED and Regulator are removed.
My Code:
// Enable Debugging #define MY_DEBUG //for MySensors connection problems #define PROG_DEBUG //for code debugging // Enable and select radio type attached #define MY_RADIO_NRF24 //MySensors Identification (necessary before MySensors.h) #define MY_NODE_ID 1 #include <SPI.h> #include <MySensors.h> #include <Seeed_BME280.h> #include <Wire.h> BME280 bme280; //MySensors Sensors Identification #define CHILD_ID_HUM 0 #define CHILD_ID_TEMP 1 #define CHILD_ID_BARO 2 #define CHILD_ID_VOLTAGE 254 //For battery voltage measurement int BATTERY_SENSE_PIN = A0; // select the input pin for the battery sense point //unsigned long SLEEP_TIME = 5*60000; // sleep time between reads (seconds * 1000 milliseconds) unsigned long SLEEP_TIME = 10000; // sleep time between reads (seconds * 1000 milliseconds) float VinMax = 3.23; //VinMax calculated from VoltageDivider with 1,1V as referenz (A0); float VinMin = 2.6; //VinMin is 1xCR2450 2.6V float VrefMulti = 0.0031543; //calculated from VinMax/1023 //R1 = 910000; Voltage Divider R1 //R2 = 470000; Voltage Divider R2 // Set this offset if the sensor has a permanent small offset to the real temperatures //#define SENSOR_TEMP_OFFSET 0 bool metric = true; MyMessage msgHum(CHILD_ID_HUM, V_HUM); MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP); MyMessage msgBaro(CHILD_ID_BARO, V_PRESSURE); MyMessage msgVoltage(CHILD_ID_VOLTAGE, V_VOLTAGE); void presentation() { // Send the sketch version information to the gateway sendSketchInfo("BME280", "1.1"); // Register all sensors to gw (they will be created as child devices) present(CHILD_ID_HUM, S_HUM); present(CHILD_ID_TEMP, S_TEMP); present(CHILD_ID_BARO, S_BARO); present(CHILD_ID_VOLTAGE, S_MULTIMETER); metric = getControllerConfig().isMetric; } void setup() { if(!bme280.init()){ Serial.println("BME280 Could not be initialised!"); } else { Serial.println("BME280 initialised!"); } analogReference(INTERNAL); // use the 1.1 V internal reference } void loop() { Serial.println("Waking up..."); #ifdef PROG_DEBUG unsigned long StartTime = millis(); Serial.println("------NEW READING------"); #endif //calculate values int sensorValue = analogRead(BATTERY_SENSE_PIN); float batteryV = sensorValue * VrefMulti; int Vref0 = (VinMin / VrefMulti); float VrefPcnt = (1023 - Vref0) / 100; int batteryPcnt = static_cast<int>(((batteryV-VinMin)/(VinMax-VinMin))*100);; //Send Battery Voltage send(msgVoltage.set(batteryV, 1)); #ifdef PROG_DEBUG //Voltage-Stuff Serial.println("-----Voltage-Stuff-----"); Serial.print("A0-Reading: "); Serial.println(sensorValue); Serial.print("VinMax: "); Serial.println(VinMax); Serial.print("VinMin: "); Serial.println(VinMin); Serial.print("Vref0: "); Serial.println(Vref0); Serial.print("VrefPcnt: "); Serial.println(VrefPcnt); //Battery-Stuff Serial.print("Battery Voltage: "); Serial.print(batteryV); Serial.println(" V"); Serial.print("Battery percent1: "); Serial.print(batteryPcnt); Serial.println(" %"); Serial.println("-----------------------"); #endif sendBatteryLevel(batteryPcnt); // Get temperature from BME280 float temperature = bme280.getTemperature(); send(msgTemp.set(temperature, 1)); #ifdef PROG_DEBUG Serial.print("Temp: "); Serial.print(temperature); Serial.println("C"); #endif // Get humidity from BME280 float humidity = bme280.getHumidity(); send(msgHum.set(humidity, 1)); #ifdef PROG_DEBUG Serial.print("Humidity: "); Serial.print(humidity); Serial.println("%"); #endif // Get pressure from BME280 float pressure = (bme280.getPressure()/100); send(msgBaro.set(pressure, 1)); #ifdef PROG_DEBUG Serial.print("Pressure: "); Serial.print(pressure); Serial.println("hPa"); #endif #ifdef PROG_DEBUG unsigned long CurrentTime = millis(); unsigned long ElapsedTime = CurrentTime - StartTime; Serial.print("Looptime: "); Serial.print(ElapsedTime); Serial.println("ms"); #endif // Sleep for a while to save energy Serial.print("Going to sleep for (Seconds): "); Serial.println(SLEEP_TIME/1000); sleep(SLEEP_TIME); }
Thanks in advance.
Tom