Hallo,
ich hab hier gleich 2 fragen da ich mich mit Programmieren noch gefühlt gar nicht auskenne.
Wie es gedacht war das es Funktioniert: Ich wollte mir für meine Softair einen Schuss Zähler programmieren mit zwei knöpfen, Knopf 1 soll die zahl auf dem OLED Display senken und wenn diese bei null gelangt soll die Null blinken.
Wenn ich jetzt Knopf 2 drücke soll auf dem Display wieder 150 stehen, was aber unabhängig zur null ist, weil ich gerne z.b. wenn auf dem Display 46 steht und ich denn Knopf 2 drücke soll da dann auch 150 stehen.
Falls mir jemand helfen könnte, das wäre mega.
Ps: ich hab einen Arduino Nano v3
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
Adafruit_SSD1306 display(128, 32);
int counter=11;
int Resetval;
const int knopfpin=8;
const int Resetpin=9;
const int ledleer=10;
bool estPress=1;
bool estnoPress=1;
void setup() {
pinMode(knopfpin, INPUT_PULLUP);
pinMode(Resetpin, INPUT);
delay(100);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.setRotation(0);
display.setTextColor(WHITE);
display.dim(false);
{
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(6,8);
display.println("Test");
display.display();
delay(2000);
}
}
void loop() {
Resetval=digitalRead(Resetpin);
estPress=digitalRead(knopfpin);
if((estnoPress==1 && estPress==0)|| counter==11){
counter--;
if(counter<1){
display.clearDisplay();
display.setTextSize(2);
display.setCursor(0, 8);
display.print("Ammo:");
display.setTextSize(3);
display.setTextColor(WHITE);
display.setCursor(60, 5);
display.print("!0!");
display.display();
delay(150);
counter=0;
}
display.clearDisplay();
display.setTextSize(2);
display.setCursor(0, 8);
display.print("Ammo:");
display.setTextSize(3);
display.setCursor(60, 5);
display.print(counter);
display.display();
}
delay(20);
estnoPress=estPress;
}