From ef00003cd02cdfb3e3f9007dad9fb721120b9495 Mon Sep 17 00:00:00 2001 From: Thomas von Dein Date: Sat, 7 Mar 2020 15:17:26 +0100 Subject: [PATCH] fixes --- .../SensorSerial.ino | 31 ++--- 841-tinycore-micronucleus-vcc-test/Makefile | 53 +++++++++ 841-tinycore-micronucleus-vcc-test/README.md | 17 +++ .../SensorSerial.ino | 107 ++++++++++++++++++ 841-tinycore-micronucleus-vcc-test/hardware | 1 + .../libraries/RFTransmitter | 1 + .../libraries/SPI | 1 + .../libraries/TinyBME280 | 1 + 8 files changed, 198 insertions(+), 14 deletions(-) create mode 100644 841-tinycore-micronucleus-vcc-test/Makefile create mode 100644 841-tinycore-micronucleus-vcc-test/README.md create mode 100644 841-tinycore-micronucleus-vcc-test/SensorSerial.ino create mode 120000 841-tinycore-micronucleus-vcc-test/hardware create mode 120000 841-tinycore-micronucleus-vcc-test/libraries/RFTransmitter create mode 120000 841-tinycore-micronucleus-vcc-test/libraries/SPI create mode 120000 841-tinycore-micronucleus-vcc-test/libraries/TinyBME280 diff --git a/841-tinycore-micronucleus-bme280-spi-radio-test/SensorSerial.ino b/841-tinycore-micronucleus-bme280-spi-radio-test/SensorSerial.ino index 4c28f2b..070528a 100644 --- a/841-tinycore-micronucleus-bme280-spi-radio-test/SensorSerial.ino +++ b/841-tinycore-micronucleus-bme280-spi-radio-test/SensorSerial.ino @@ -43,7 +43,7 @@ SDO/MISO PA5 PA6 SDI/MOSI #define OUTPUT_PIN 7 #define LED 2 //LED_BUILTIN // PORTB2 #define CS 3 -#define DELAY 5000 +#define DELAY 1000 static tiny::BME280 sensor; RFTransmitter transmitter(OUTPUT_PIN, NODE_ID); @@ -68,6 +68,7 @@ void print_asifloat(int32_t val, uint16_t factor) { void print_measurements() { uint32_t pres, humidity; int32_t temp; + int vcc; temp = sensor.readFixedTempC(); humidity = sensor.readFixedHumidity(); @@ -87,7 +88,19 @@ void print_measurements() { print_asufloat(humidity, 1000); Serial.println(" %"); + + ADCSRA |= _BV( ADSC ); + while( ( (ADCSRA & (1< Pin 3 + + Nanite841 Pinout from above: + + button +SDO/MISO PA5 PA6 SDI/MOSI + SCK PA4 PA7 + CS PA3 PB2 + RX0 PA2 PB2 + TX0 PA1 PB1 + PA0 PB0 + GND VCC + usb + + Bosch BME280 Breakout from above pin header left: + + VCC + GND + SCL => SCK + SDI => MOSI + CSB => PA3/3 + SDO => MISO + + */ + +#include +#include + +#define NODE_ID 1 +#define OUTPUT_PIN 7 +#define LED 2 //LED_BUILTIN // PORTB2 +#define CS 3 +#define DELAY 2000 + +#define SET_OUTPUT(pin) DDRB |= (1 << pin) +#define SET_HIGH(pin) PORTB |= (1 << pin) +#define SET_LOW(pin) PORTB &= ~(1 << pin) + +void print_asufloat(uint32_t val, uint16_t factor) { + Serial.print(val / factor); + Serial.print("."); + Serial.print(val % factor); +} + +void print_asifloat(int32_t val, uint16_t factor) { + Serial.print(val / factor); + Serial.print("."); + Serial.print(val % factor); +} + +void print_measurements() { + float vcc; + + SET_LOW(LED); + + ADCSRA = (1 << ADEN); // enable ADC + _delay_ms(10); // give it some time to settle + ADCSRA |= _BV( ADSC ); // start measuring + while( ( (ADCSRA & (1<> 1.1 * 1024 / 225 #=> 5.006222222222223 + // >> 1.1 * 1024 / 341 #=> 3.3032258064516133 + vcc = 1.1 * 1024 / ADCW; // read actual measurement + // ADCSRA &= ~(1<