Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********* Pleasedontcode.com **********
- Pleasedontcode thanks you for automatic code generation! Enjoy your code!
- - Terms and Conditions:
- You have a non-exclusive, revocable, worldwide, royalty-free license
- for personal and commercial use. Attribution is optional; modifications
- are allowed, but you're responsible for code maintenance. We're not
- liable for any loss or damage. For full terms,
- please visit pleasedontcode.com/termsandconditions.
- - Project: BMX280 Readings
- - Source Code NOT compiled for: Arduino Uno
- - Source Code created on: 2025-10-12 12:59:23
- ********* Pleasedontcode.com **********/
- /****** SYSTEM REQUIREMENTS *****/
- /****** SYSTEM REQUIREMENT 1 *****/
- /* 1) Use D2 with INPUT_PULLUP and EasyButton to emit */
- /* a debounced pressed event to Serial. 2) On press, */
- /* read BMX280 via forcedBMX280 and print */
- /* pressure/temp. 3) Rely only on */
- /* button1_PushButton_PIN_D2; no extra pins/libs */
- /* beyond those listed. */
- /****** END SYSTEM REQUIREMENTS *****/
- /* START CODE */
- /****** DEFINITION OF LIBRARIES *****/
- #include <EasyButton.h>
- #include <forcedBMX280.h> // https://github.com/soylentOrange/Forced-BMX280
- #include <Wire.h>
- /****** FUNCTION PROTOTYPES *****/
- void setup(void);
- void loop(void);
- void onButtonPressed(void);
- /***** DEFINITION OF DIGITAL INPUT PINS *****/
- const uint8_t button1_PushButton_PIN_D2 = 2; // D2
- /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
- ForcedBMX280 climateSensor = ForcedBMX280();
- EasyButton button1 = EasyButton(button1_PushButton_PIN_D2);
- void setup(void)
- {
- // Initialize serial port for debugging and output
- Serial.begin(115200);
- while (!Serial) {
- ; // wait for serial port to connect. Needed for native USB devices
- }
- // Initialize I2C bus
- Wire.begin();
- // Initialize BMX280 sensor in forced mode (no continuous sampling)
- climateSensor.begin();
- // Initialize button with debounced callback on D2 (INPUT_PULLUP by EasyButton)
- button1.begin();
- button1.onPressed(onButtonPressed);
- }
- void loop(void)
- {
- // Update button state to generate debounced events
- button1.update();
- }
- // Debounced button press handler
- void onButtonPressed(void)
- {
- Serial.println("Button pressed");
- // Take a forced measurement to update data
- climateSensor.takeForcedMeasurement();
- // Read temperature in hundredths of degrees Celsius
- int32_t temperatureC100 = climateSensor.getTemperatureCelsius(true);
- Serial.print("Temperature: ");
- Serial.print(temperatureC100/100);
- Serial.print(".");
- int32_t frac = temperatureC100 % 100;
- if (frac < 0) frac = -frac;
- if (frac < 10) Serial.print("0");
- Serial.println(frac);
- Serial.println(" C");
- // Read pressure (hPa with two decimals). If not available on the used class, this call
- // will either be ignored by the library or may return a valid value depending on the build.
- uint32_t pressurePa100 = climateSensor.getPressure(true);
- Serial.print("Pressure: ");
- Serial.print(pressurePa100/100);
- Serial.print(".");
- uint32_t pDec = pressurePa100 % 100;
- if (pDec < 10) Serial.print("0");
- Serial.println(pDec);
- Serial.println(" hPa");
- Serial.println("");
- }
- /* END CODE */
Advertisement
Add Comment
Please, Sign In to add comment