Arduino Library hinzufügen verursacht Fehler?

Ich grüße euch!

Kurz und knapp: Wenn ich

#include "SD.h"
#include <SPI.h>
#include "DHT.h" 

oder gar nur

#include "SD.h"

in mein Projekt inkludieren will, findet es mein Display nicht mehr!

Ich möchte zwei Programme zusammenfassen: Temperatur + Data Logger und Display. Einzeln funktioniert es, doch wenn ich beim Display "Programm" die Library von der SD-Karte hinzufügen möchte, findet er kein Display mehr (SSD1306 allocation failed).

Ich bin am Ende meines Wissensschatzes und hoffe, ihr könnt helfen.

Programm vom Temperatur Datalogger
https://microcontrollerslab.com/dht22-data-logger-arduino-micro-sd-card/?fbclid=IwAR3eXzNh_y7-6tNhh7Qoh_wpzHY-_6lM7BwR1HcT2MaBO7rzwuswTJzs34A

Programm vom Display

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define SCREEN_ADDRESS 0x3C

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

#define NUMFLAKES   10 // Number of snowflakes in the animation example
#define LOGO_HEIGHT  16
#define LOGO_WIDTH  16

static const unsigned char PROGMEM logo_bmp[] =
{
  0b00000000, 0b11000000,
  0b00000001, 0b11000000,
  0b00000001, 0b11000000,
  0b00000011, 0b11100000,
  0b11110011, 0b11100000,
  0b11111110, 0b11111000,
  0b01111110, 0b11111111,
  0b00110011, 0b10011111,
  0b00011111, 0b11111100,
  0b00001101, 0b01110000,
  0b00011011, 0b10100000,
  0b00111111, 0b11100000,
  0b00111111, 0b11110000,
  0b01111100, 0b11110000,
  0b01110000, 0b01110000,
  0b00000000, 0b00110000
};

void setup()
{
  Serial.begin(9600);
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  
  if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
    Serial.println(F("SSD1306 allocation failed"));

    for(;;); // Don't proceed, loop forever
  }

  // Show initial display buffer contents on the screen --
  // the library initializes this with an Adafruit splash screen.
  display.display();
  delay(2000); // Pause for 2 seconds
  // Clear the buffer
  display.clearDisplay();
  // Draw a single pixel in white
  display.drawPixel(10, 10, SSD1306_WHITE);
  delay(20000);
  display.clearDisplay();
  // Show the display buffer on the screen. You MUST call display() after
  // drawing commands to make them visible on screen!
  display.display();
  delay(2000);
}

void loop()
{
}
Computer, programmieren, Arduino, Arduino Uno
Tasterstatus HIGH schalten ?

Hallo Leute bei dem unten Angegebenen Sketch sieht man das wen count richtig ist und der Taster gedrückt ist die LEDS in Reihenfolge blinken sollen.

Ich möchte das die LEDS nicht mehr aufhören zu blinken was muss ich da noch ergänzen?

int taster1=7;
int taster2=8;


int tasterstatus2=0;


int led1=12;
int led2=11;
int led3=10;
int led4=9;







bool oldButtonState = HIGH;
bool newButtonState;
int count = 0;


void setup() {
 pinMode (taster1,INPUT);
pinMode (taster2,INPUT);




pinMode (led1,OUTPUT);
pinMode (led2,OUTPUT);
pinMode (led3,OUTPUT);
pinMode (led4,OUTPUT);





}


void loop() {
  newButtonState = digitalRead(taster1);
  
  tasterstatus2 = digitalRead(taster2);
  
  if (oldButtonState == HIGH && newButtonState == LOW) {
    count++;
    oldButtonState = newButtonState;


    if (count == 1) {
      digitalWrite(led1, HIGH);
    }
    if (count == 2) {
      digitalWrite(led1, LOW);
      digitalWrite (led2,HIGH);
    }


    if (count == 3 ){
      digitalWrite (led2,LOW);
      digitalWrite (led3,HIGH);
    }


    if (count == 4){
      digitalWrite (led3,LOW);
      digitalWrite (led4,HIGH);
    }


    if (count == 5){
      digitalWrite (led4,LOW);
      count = 0;
    }


if ((tasterstatus2 == HIGH) && (count == 1)){
  
  
  digitalWrite (led1,HIGH);
  digitalWrite (led2,LOW);
  digitalWrite (led3,LOW);
  digitalWrite (led4,LOW);
  delay (1000);


  digitalWrite (led1,LOW);
  digitalWrite (led2,HIGH);
  delay (1000);
  digitalWrite (led2,LOW);
  digitalWrite (led3,HIGH);
  delay (1000);
  digitalWrite (led3,LOW);
  digitalWrite (led4,HIGH);
  delay (1000);
  digitalWrite (led4,LOW);
}








    if ((tasterstatus2 == HIGH ) &&( count == 2)){


      digitalWrite (led1,LOW);
      digitalWrite (led2,HIGH);
      digitalWrite (led3,LOW);
      digitalWrite (led4,LOW);
      delay (1000);
      digitalWrite (led3,HIGH);
      digitalWrite (led2,LOW);
      delay (1000);
      digitalWrite (led3,LOW);
      digitalWrite (led4,HIGH);
      delay (1000);
      digitalWrite (led4,LOW);
      digitalWrite (led1,HIGH);
      delay (1000);
      digitalWrite (led1,LOW);
      
    }




    if ((tasterstatus2 == HIGH) && (count == 3)){


digitalWrite (led1,LOW);
digitalWrite (led2,LOW);
digitalWrite (led3,HIGH);
digitalWrite (led4,LOW);
delay (1000);


digitalWrite (led3,LOW);
digitalWrite (led4,HIGH);
delay (1000);


digitalWrite (led4,LOW);
digitalWrite (led1,HIGH);
delay (1000);


digitalWrite (led1,LOW);
digitalWrite(led2,HIGH);
delay (1000);


digitalWrite (led2,LOW);
delay (1000);
}


if ((tasterstatus2 == HIGH) && (count == 4)){


  digitalWrite (led1,LOW);
  digitalWrite (led2,LOW);
  digitalWrite (led3,LOW);
  digitalWrite (led4,HIGH);
  delay (1000);


  digitalWrite (led4,LOW);
  digitalWrite (led1,HIGH);
  delay (1000);


  digitalWrite (led1,LOW);
  digitalWrite (led2,HIGH);
  delay (1000);


  digitalWrite (led2,LOW);
  digitalWrite (led3,HIGH);
  delay (1000);


  digitalWrite (led3,LOW);
  
}
    
        
 
Technik, Arduino, schalten, Arduino Uno
Welcher Sensor für Arduino Uno misst G-Kräfte?

Guten Abend Zusammen,

Im Rahmen eines Abschlussprojektes bin ich gerade dabei, die Karosserie eines ferngesteuerten Autos zu verbessern. Verbessern bedeutet, dass der Spoiler sich den Fahrbedingungen anpassen soll. Wenn man bremst, soll sich dieser z.B aufstellen. Wenn man Beschleunigt oder steht, soll der Spoiler wieder in die Ursprüngliche Position wechseln. Wie das alles Funktionieren soll steht fest, es fehlt wirklich nur noch dieser Sensor. Alles andere ist schon ready To go.

Mir ist natürlich klar, dass das bei einem Spielzeugauto nicht viel ausmacht, darum geht es auch nicht. Meine Frage ist, ob Ihr eventuell Sensoren kennt, welche diese Kräfte messen können. Diese Sensoren müssen mit dem Arduino uno kompatibel sein.

Zuerst habe ich mir den Sensor mit der Bezeichnung "GY-61" zugelegt, welcher sich aber als ungeeignet herausstellt, da dieser lediglich Veränderungen seiner Lage messen kann. Da der Sensor am Ende statisch verbaut werden soll und ich einen richtigen Gyrosensor brauche und keinen Winkelmesser, fällt dieser leider raus.

Meine Frage an Euch: Kennt Ihr eventuell Sensoren, welche mir bei der Lösung helfen könnten? Ich habe bereits einen weiteren Sensor mit der Bezeichnung "MPU-6050" gefunden, welcher passen könnte. Jedoch wollte ich mich zuerst ein ein Paar erfahrene Nutzer wenden bevor ich wieder einen Sensor kaufe, rumprobiere und dieser am Ende wieder nicht funktioniert. Leider stehe ich auch unter Zeitdruck, da das Projekt bis Ende November fertig sein muss.

Ich freue mich sehr auf Euren Ideen, Erfahrungen und Tipps! :)

Mikrocontroller, Arduino, Sensoren, G-Kräfte, g-kraft, Arduino Uno

Meistgelesene Beiträge zum Thema Arduino Uno