hello everyone
today i tried to make a ble project using the NRF24l01 and dht11 which sends temperature data to my smartphone . but when i upload the code it says - exit status 1
Error compiling for board Arduino Uno.
i had this problem before and fixed it using the u8glib and today i was doing this project on my nano but it showed the same error so i tried it on my uno and got the same error.
here is the code -
@iniyan, your topic has been moved to a more suitable location on the forum.
Please read the link provided in post #2 and add code tags to your code.
Please provide the error message as requested; if it's too big, attach it as a text file.
Hi,
Have you got ALL the libraries loaded.
I tried to compile your code and got;
C:\Arduino Projects\sketch_may27b\sketch_may27b.ino: In function 'void loop()':
sketch_may27b:25:11: error: 'h' was not declared in this scope
if (isnan(h) || isnan(t)) {
^
sketch_may27b:25:23: error: 't' was not declared in this scope
if (isnan(h) || isnan(t)) {
^
sketch_may27b:29:46: error: 't' was not declared in this scope
Serial.print(" Temperature: "); Serial.print(t); Serial.println("°C ");
^
exit status 1
This seems to be the problem.
if (isnan(h) || isnan(t)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
You are reading 'temperature' into a variable called 'temp' and then using the name 't' as if it were the variable containing the temperature:
Change this line: float temp = dht.readTemperature(); //read temperature data
to this: float t = dht.readTemperature(); //read temperature data
You are also using 'h' as if it contained the humidity. You should add this line just after that line: float h = dht.readHumidity(); //read humidity data
Hi,
I think you need to look at the example code.
You can only use
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
AFTER you have read the temperature and humdity, that test is to see if the data t and h, temp and humidity readings from the sensor are valid.
Here is the example code showing where to use it.
// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain
// REQUIRES the following Arduino libraries:
// - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library
// - Adafruit Unified Sensor Lib: https://github.com/adafruit/Adafruit_Sensor
#include "DHT.h"
#define DHTPIN 2 // Digital pin connected to the DHT sensor
// Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 --
// Pin 15 can work but DHT must be disconnected during program upload.
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 3 (on the right) of the sensor to GROUND (if your sensor has 3 pins)
// Connect pin 4 (on the right) of the sensor to GROUND and leave the pin 3 EMPTY (if your sensor has 4 pins)
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors. This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
}
Well...I have 2 nrf24l01 modules and my aren't working with that so I wanted to try this project to check if my module is working or not. So does that mean it's an code error???
I'm going to ask you to post some additional information that might help us to identify the problem.
Please do this:
Select File > Preferences from the Arduino IDE's menus.
Uncheck the box next to "Show verbose output during: > [x] compilation".
Click the OK button.
Select Sketch > Verify/Compile from the Arduino IDE's menus.
After the compilation fails you'll see a button on the right side of the orange bar Copy error messages. Click that button.
Open a forum reply here by clicking the Reply button.
Click the </> icon on the post composer toolbar. This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
Press Ctrl+V. This will paste the compilation output into the code block.
Move the cursor outside of the code tags before you add any additional text to your reply.