implemented basic functions for VEML6040

This commit is contained in:
hhaupt
2024-05-02 01:27:43 +02:00
parent dbe97dc94c
commit a5572b20b7
5 changed files with 137 additions and 76 deletions

View File

@@ -10,73 +10,6 @@
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
// The pins for I2C are defined by the Wire-library.
// On an arduino UNO: A4(SDA), A5(SCL)
// On an arduino MEGA 2560: 20(SDA), 21(SCL)
// On an arduino LEONARDO: 2(SDA), 3(SCL), ...
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define GPIO_LED 48
void Dezibot::begin(void) {
Adafruit_NeoPixel ledStrip = Adafruit_NeoPixel(3, GPIO_LED, NEO_GRB + NEO_KHZ800);
Wire.begin(1, 2);
if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println("SSD1306 allocation failed");
for (;;); // Don't proceed, loop forever
}
display.display();
vTaskDelay(2000);
display.clearDisplay();
vTaskDelay(2000);
// Draw a single pixel in white
display.drawPixel(10, 10, SSD1306_WHITE);
// Show the display buffer on the screen. You MUST call display() after
// drawing commands to make them visible on screen!
display.display();
vTaskDelay(2000);
Serial.begin(9600);
Serial.println("start");
vTaskDelay(1000);
while (1) {
/* Blink off (output low) */
ledStrip.setPixelColor(1, ledStrip.Color(100, 100, 100));
ledStrip.show(); // Aktualisiere die Farbe des Pixels
vTaskDelay(1000);
/* Blink on (output high) */
ledStrip.setPixelColor(1, ledStrip.Color(0, 0, 0));
ledStrip.show(); // Aktualisiere die Farbe des Pixels
vTaskDelay(1000);
struct timeval tv_now;
gettimeofday(&tv_now, NULL);
int64_t time_us = (int64_t) tv_now.tv_sec * 1000000L + (int64_t) tv_now.tv_usec;
Serial.println(time_us);
display.clearDisplay();
display.setTextSize(2); // Draw 2X-scale text
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 0);
display.println(F("scroll"));
display.display(); // Show initial text
vTaskDelay(1000);
}
colorDetection = ColorDetection();
}