Display problem

Hallo zusammen,

ich hoffe hier kann mir jemand helfen und mir erklären warum das so nicht geht und was ich anders machen muss!

Also ich will ein gps tracker bauen mit einem display und einem neo6m.

Mein problem ist das es wohl so nicht möglich ist die sachen auf dem display anzuzeigen. aber warum nicht'??? Die "normalen texte" (Datum uhrzeit usw) zeigt er ja an aber nicht die werte! Das muss ich anders schreiben aber wie???

bitte helft mir!!

Grüße

dope-walker:
#include <TinyGPS++.h>#include <SoftwareSerial.h>#include "U8glib.h"U8GLIB - Pastebin.com

was ist das?

Wenn es Code ist kopier ihn hier rein, Wenn es Bild vom Aufbau ist, dann häng es hier an.

Das muss ich anders schreiben aber wie???

Zeig, was Du bisher hast - sonst ist das schwer zu helfen.

So jetzt,
da ist mein code…

#include <TinyGPS++.h>
#include <SoftwareSerial.h>
#include "U8glib.h"
U8GLIB_ST7920_128X64 u8g(13, 11, 10, U8G_PIN_NONE);
 
 
// Choose two Arduino pins to use for software serial
int RXPin = 2;
int TXPin = 3;
int GPSBaud = 9600;
// Create a TinyGPS++ object
TinyGPSPlus gps;
 
// Create a software serial port called "gpsSerial"
SoftwareSerial gpsSerial(RXPin, TXPin);
 
 
void draw(void) {
  // graphic commands to redraw the complete screen should be placed here
  u8g.setFont(u8g_font_7x13B);
  //u8g.setFont(u8g_font_osb21);
  u8g.drawStr( 0, 10, "Datum:");
    u8g.drawStr( 50, 10,(gps.date.month());
    u8g.drawStr( 60, 10,(gps.date.day());
    u8g.drawStr( 70, 10,(gps.date.year());
 
  u8g.drawStr(0, 22, "Uhr:");
    u8g.drawStr(50, 22,(gps.time.hour());
    u8g.drawStr(60, 22,(gps.time.minute());
    u8g.drawStr(70, 22,(gps.time.second());
 
  u8g.drawStr(0, 32, "Lat:");
  u8g.drawStr(50, 32, (gps.location.lat(), 6);
 
  u8g.drawStr(0, 42, "Long:");
  u8g.drawStr(50, 42, (gps.location.lng(), 6);
 
  u8g.drawStr(0, 52, "km/h:");
  u8g.drawStr(50, 52, (gps.speed.kmph());
 
  u8g.drawStr(0, 62, "High:");
  u8g.drawStr(50, 62, (gps.altitude.meters());
}
 
void setup()
{
  // Start the Arduino hardware serial port at 9600 baud
  Serial.begin(9600);
 
  // Start the software serial port at the GPS's default baud
  gpsSerial.begin(GPSBaud);
}
 
void loop()
{
  // This sketch displays information every time a new sentence is correctly encoded.
  while (gpsSerial.available() > 0)
    if (gps.encode(gpsSerial.read()))
      displayInfo();
 
  // If 5000 milliseconds pass and there are no characters coming in
  // over the software serial port, show a "No GPS detected" error
  if (millis() > 5000 && gps.charsProcessed() < 10)
  {
    Serial.println("No GPS detected");
    while(true);
  }
}
 
void displayInfo(){
  if (gps.location.isValid())
  {
    Serial.print("Latitude: ");
    Serial.println(gps.location.lat(), 6);
    Serial.print("Longitude: ");
    Serial.println(gps.location.lng(), 6);
    Serial.print("Altitude: ");
    Serial.println(gps.altitude.meters());
  }
  else
  {
    Serial.println("Location: Not Available");
  }
 
  Serial.print("Date: ");
  if (gps.date.isValid())
  {
    Serial.print(gps.date.month());
    Serial.print("/");
    Serial.print(gps.date.day());
    Serial.print("/");
    Serial.println(gps.date.year());
  }
  else
  {
    Serial.println("Not Available");
  }
  Serial.print("Kmh: ");
  if (gps.speed.kmph())
  {
   Serial.println(gps.speed.kmph());
 
  }
  else
  {
    Serial.println("Not Available");
  }
  Serial.print("Sat: ");
  if (gps.satellites.value())
  {
   Serial.println(gps.satellites.value());
 
  }
  else
  {
    Serial.println("Not Available");
  }
  Serial.print("Time: ");
  if (gps.time.isValid())
  {
    if (gps.time.hour() < 10) Serial.print(F("0"));
    Serial.print(gps.time.hour());
    Serial.print(":");
    if (gps.time.minute() < 10) Serial.print(F("0"));
    Serial.print(gps.time.minute());
    Serial.print(":");
    if (gps.time.second() < 10) Serial.print(F("0"));
    Serial.print(gps.time.second());
    Serial.print(".");
    if (gps.time.centisecond() < 10) Serial.print(F("0"));
    Serial.println(gps.time.centisecond());
  }
  else
  {
    Serial.println("Not Available");
  }
 
  Serial.println();
  Serial.println();
  delay(1000);
 
   u8g.firstPage();
  do {
    draw();
  } while ( u8g.nextPage() );
}
 u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const char *s)

Als 3. Parameter wird eine Zeichenkette und keine Zahl erwartet.

Schau Dir itoa und/oder snprintf an. Mit snprintf kannst Du die gesamte Zeit/das ganze Dazum formatiert vorbereiten.

Gruß Tommy

Ich hab jetzt was neues gefunden…

und es angepasst wo er was hinschreiben soll.
Aber ich verstehe nicht warum im display nur GPS Ready steht mehr nicht!

im sketch ist auch kein taster oder so bezeichnet damit man eine zweite seite anzeigen kann oder so!

Warum ist das so?

#include <SoftwareSerial.h>
#include <TinyGPS.h>
#include <U8glib.h>
#include <Wire.h>
#include <TimeLib.h>

U8GLIB_ST7920_128X64 u8g(13, 11, 10, U8G_PIN_NONE);

SoftwareSerial mySerial(3,2); 
TinyGPS gps;
static const uint32_t GPSBaud = 9600;

void gpsdump(TinyGPS &gps);
void printFloat(double f, int digits = 2);

void setup()  
{
  Serial.begin(9600);

  // set the data rate for the SerialPort(use SoftwareSerial port on Arduino UNO)
  Serial.begin(9600);  // Serial2->mySerial on Arduino UNO
  
  delay(1000);
  Serial.print("uBlox Neo 6M / TinyGPS testing - ");
  Serial.println(TinyGPS::library_version());

  u8g.setFont(u8g_font_unifont);
  u8g.firstPage();  
  do {
    u8g.setPrintPos(6,20);
    u8g.print("GPS Ready"); 
  } while( u8g.nextPage() );
}

//This function converts a unix time to a String in the format HH:MM PM
String time_to_string(unsigned long int t) {
  String buf;
  if (hour(t) > 12) {
    buf = two_digit(hour(t)-12) + ":" + two_digit(minute(t)) + " PM";
  }
  else{
    buf = two_digit(hour(t)) + ":" + two_digit(minute(t)) + " AM";
  }
  return buf;
}

//returns string from int with preceding 0 if the integer is only one digit long
String two_digit(int digits) {
  if (digits < 10) {
    return "0" + digits;
  }
  else {
    return digits + "";
  }
}

void draw(float lat, float lon, unsigned long l_date, unsigned long l_time, float f_alt) {
  u8g.setFont(u8g_font_6x10);
  
  u8g.firstPage();
  do {
      u8g.setPrintPos(0,32);
      u8g.print("Lat: "); 
      u8g.print(lat);  // latitude
      u8g.setPrintPos(0,42);
      u8g.print("Long: "); 
      u8g.print(lon); // longitude
      u8g.setPrintPos(0,10);
      u8g.print("Date: "); 
      u8g.print(l_date); // date(ddmmyy, UTC 0)
      u8g.setPrintPos(0,22);
      u8g.print("Time: "); 
      u8g.print(time_to_string(l_time+9.5*3600));
      u8g.setPrintPos(0,62);
      u8g.print("Alt: "); 
      u8g.print(f_alt); // altitude(m)
 
     
  } while( u8g.nextPage() );
}

void loop() // run over and over

{
  bool newdata = false;
  unsigned long start = millis();
  float flat, flon, falt;
  unsigned long date, time, age;
  
  // Every 2 seconds we print an update
  while (millis() - start < 5000) {
    if (Serial.available() && gps.encode(Serial.read())) {
        newdata = true;
        // break;  // uncomment to print new data immediately!
    }
  }
  
   if (newdata) {
    gps.f_get_position(&flat, &flon, &age);
    gps.get_datetime(&date, &time, &age);
    falt = gps.f_altitude();
    draw(flat, flon, date, time, falt);
  }
}

Hallo,

liefert gps.encode irgendwas zurück? Wenn nicht, dann wird newdata nie ‘true’.

Deine while ist übrigens immer! gültig. Stelle dir die Frage welchen Wert hat millis und welchen Wert hat start?
Welchen Ergebnis hat deren Subtraktion?

  bool newdata = false;
  unsigned long start = millis();
   
  // Every 2 seconds we print an update
  while (millis() - start < 5000)
  {
     ...
  }

Trenne das auf und ohne blockierende while.
Aller x Sekunden wird das gps Objekt beackert.
Wenn Daten vorliegen werden diese eingelesen, formatiert und ausgegeben.

Doc_Arduino:
Hallo,

liefert gps.encode irgendwas zurück? Wenn nicht, dann wird newdata nie 'true'.

Ja ich hab ja die ganzen daten auf dem display nur halt kmh nicht und die uhr auch nicht......

Hallo,

so und nun ist das Problem das dein "km/h" Code im anderen Thread steckt.
Irgendwas sollte auf dem Display erscheinen. Erscheint irgendwas oder wirklich rein gar nichts?
Aber, nimm mal lieber die u8g2 Lib oder darin enthalten die u8x8 Lib. Die u8g Lib wird seit 2014 nicht mehr weiterentwickelt. Dann erstmal die Bsp. durchgehen und deren Referenz lesen.

So ich habe meinen code nochmal überarbeitet.

Meine aktuellen Probleme sind:

  • Die Uhr stimmt nicht sie läuft einfach durch also sie zeigt nicht die richtige zeit sondern läuft die ganze zeit so dahin…

  • Meine angezeigt höhe wäre im moment 1000000,00 Meter.

  • Wie bekomme ich bei längen und breiten grad 4 stellen hinter dem komma und nicht so wie es im moment ist nur 3?

  • Was muss ich schreiben um eine neue seite auf dem display zu haben wenn ich einen taster drücke?

(Die kompass dinge sind schon mal da dabei aber da bastel ich selber rum …)

#include <TinyGPS.h>
#include <U8glib.h>
#include <Wire.h>
#include <TimeLib.h>
#include <QMC5883LCompass.h>
QMC5883LCompass compass;
U8GLIB_ST7920_128X64 u8g(13, 11, 10, U8G_PIN_NONE);
TinyGPS gps;
static const uint32_t GPSBaud = 9600;
 
void setup() {
  Serial.begin(9600);
    compass.init();
  u8g.setFont(u8g_font_unifont);
  u8g.firstPage();
  do {
    u8g.setPrintPos(35, 20);
    u8g.print("Welcome ");
    u8g.setPrintPos(55, 40);
    u8g.print("to");
    u8g.setPrintPos(15, 60);
    u8g.print("your journey");
  } while ( u8g.nextPage() );
}
 
//This function converts a unix time to a String in the format HH:MM PM
String time_to_string(unsigned long int t) {
  String buf;
  buf = two_digit(hour(t)) + ":" + two_digit(minute(t));
  return buf;
}
 
//returns string from int with preceding 0 if the integer is only one digit long
String two_digit(int digits) {
  if (digits < 10) {
    return "0" + String(digits);
  } else {
    return String(digits);
  }
}
 
void draw(float lat, float lon, unsigned long l_date, unsigned long l_time) {
  u8g.setFont(u8g_font_6x10);
  u8g.firstPage();
  do {
    u8g.setPrintPos(0, 32);
    u8g.print("Lat: ");
    u8g.print(lat);  // latitude
   
    u8g.setPrintPos(0, 42);
    u8g.print("Long: ");
    u8g.print(lon); // longitude
   
    u8g.setPrintPos(0, 10);
    u8g.print("Datum: ");
    u8g.print(l_date);
   
    u8g.setPrintPos(0, 22);
    u8g.print("Uhr: ");
    u8g.print(time_to_string(l_time + 9.5 * 3600));
   
    u8g.setPrintPos(0, 62);
    u8g.print("Alt: ");
    u8g.print(gps.f_altitude()); // altitude(m)
   
    u8g.setPrintPos(0, 52);
    u8g.print("KM/H: ");
    u8g.print(gps.f_speed_kmph());
  } while ( u8g.nextPage() );
}
 
void loop() {
  float flat, flon, falt;
  unsigned long date, time, age;
  if (Serial.available() && gps.encode(Serial.read())) {
    gps.f_get_position(&flat, &flon, &age);
    gps.get_datetime(&date, &time, &age);
    falt = gps.f_altitude();
    draw(flat, flon, date, time);
  }
    compass.read();
  
  byte a = compass.getAzimuth();

  char myArray[3];
  compass.getDirection(myArray, a);
}

Hallo,

Vorschlag, sonst siehst du kein Licht am Ende des Tunnels. Lege dein Vorhaben erstmal zur Seite und lerne Grundlagen. Gerade das mit dem Taster gehört dazu. Entprelle den Taster, schalte damit eine Led ein und aus und schalte diese nur ein und aus mit wirklich erneuten Tastendruck. Wenn du das hast, kannste mit dem Wissen alles mögliche gezielt "schalten". Bei deinem GPS kann ich dir nicht helfen, habe ich nicht

Höhe stimmt jetzt und die 4 stellen hinterm komma hab ich auch gelöst.

Aber die Uhr nicht!! Warum nicht???
Und ich stehe immer noch vor dem rätsel dass ich nicht weis wie ich eine neue seite machen kann

#include <SoftwareSerial.h>
#include <TinyGPS.h>
#include <U8glib.h>
#include <Wire.h>
#include <TimeLib.h>

U8GLIB_ST7920_128X64 u8g(13, 11, 10, U8G_PIN_NONE);

SoftwareSerial mySerial(0, 1);
TinyGPS gps;
static const uint32_t GPSBaud = 9600;

void gpsdump(TinyGPS &gps);
void printFloat(double f, int digits = 2);

void setup()
{
  Serial.begin(9600);

  // set the data rate for the SerialPort(use SoftwareSerial port on Arduino UNO)


  delay(1000);


  u8g.setFont(u8g_font_unifont);
  u8g.firstPage();
  do {
    u8g.setPrintPos(35, 20);
    u8g.print("Welcome ");
       u8g.setPrintPos(55, 40);
    u8g.print("to");
       u8g.setPrintPos(15, 60);
    u8g.print("your journey");
  } while ( u8g.nextPage() );
}


//This function converts a unix time to a String in the format HH:MM PM
String time_to_string(unsigned long int t) {
  String buf;
  buf = two_digit(hour(t)) + ":" + two_digit(minute(t));
  return buf;
}
 
//returns string from int with preceding 0 if the integer is only one digit long
String two_digit(int digits) {
  if (digits < 10) {
    return "0" + String(digits);
  } else {
    return String(digits);
  }
}

void draw(float lat, float lon, unsigned long l_date, unsigned long l_time, float f_alt) {   
  u8g.setFont(u8g_font_6x10);

  u8g.firstPage();
  do {
    u8g.setPrintPos(0, 32);
    u8g.print("Lat: ");
    u8g.print(lat,4);  // latitude
    u8g.setPrintPos(0, 42);
    u8g.print("Long: ");
    u8g.print(lon,4); // longitude
    u8g.setPrintPos(0, 10);
    u8g.print("Datum: ");
    u8g.print(l_date); // date(ddmmyy, UTC 0)
    u8g.setPrintPos(0, 22);
    u8g.print("Uhr: ");
   u8g.print(time_to_string(l_time+9.5*3600));
    u8g.setPrintPos(0, 62);
    u8g.print("Alt: ");
    u8g.print(f_alt); // altitude(m)
       u8g.setPrintPos(0, 52);
    u8g.print("KM/H: ");
    u8g.print(gps.f_speed_kmph());


  } while ( u8g.nextPage() );
}

void loop() // run over and over

{
  bool newdata = false;
  unsigned long start = millis();
  float flat, flon, falt;
  unsigned long date, time, age;

  // Every 2 seconds we print an update
  while (millis() - start < 5000) {
    if (Serial.available() && gps.encode(Serial.read())) {
      newdata = true;
      // break;  // uncomment to print new data immediately!
    }
  }

  if (newdata) {
    gps.f_get_position(&flat, &flon, &age);
    gps.get_datetime(&date, &time, &age);
    falt = gps.f_altitude();
    draw(flat, flon, date, time, falt);
  }
}

Ich bin jetzt wieder ein wenig weiter gekommen

durch diesen beitrag https://forum.arduino.cc/index.php?topic=515012.0

ABER

Wie muss ich das machen??

Ich hab ja das void draw und in dem thread wird das aber im void loop auf das display geschrieben.

Also brauche ich bitte jemand sagt wie ich das machen muss

if (counter ==1)
    
     u8g.print(void draw);
if (counter ==2)
    
     u8g.print(void draw2);
    }
usw

Funktioniert ja leider nicht

#include <TinyGPS++.h>
#include <SoftwareSerial.h>
#include <TinyGPS.h>
#include <U8glib.h>
#include <Wire.h>
#include <TimeLib.h>

U8GLIB_ST7920_128X64 u8g(13, 11, 10, U8G_PIN_NONE);
#define DEBUG //Nur zur Fehlersuche aktivieren
#define tasterPin 2 //Taster an D4 und GND
#define debounce_delay 15 //Entprellzeit für den Taster in ms
  bool led_state, tasterState, tasterState_alt;// Variablendeklaration (global)
  uint8_t counter; //Zählt wie oft die Taste gedrückt wurde
 
SoftwareSerial mySerial(0, 1);
TinyGPS gps;
TinyGPSPlus  gps2;
static const uint32_t GPSBaud = 9600;

void gpsdump(TinyGPS &gps);
void printFloat(double f, int digits = 2);
char Time[]  = "TIME: 00:00:00";
char Date[]  = "DATE: 00-00-2000";
byte last_second, Second, Minute, Hour, Day, Month;
int Year;


void setup()
{
  
  Serial.begin(9600);
 pinMode(tasterPin, INPUT_PULLUP);
  // set the data rate for the SerialPort(use SoftwareSerial port on Arduino UNO)


  delay(1000);


  u8g.setFont(u8g_font_unifont);
  u8g.firstPage();
  do {
    u8g.setPrintPos(35, 20);
    u8g.print("Welcome ");
       u8g.setPrintPos(55, 40);
    u8g.print("to");
       u8g.setPrintPos(15, 60);
    u8g.print("your journey");
  } while ( u8g.nextPage() );
}




void draw(float lat, float lon, unsigned long l_date, unsigned long l_time, float f_alt) {   
  u8g.setFont(u8g_font_6x10);

  u8g.firstPage();
  do {
    u8g.setPrintPos(0, 32);
    u8g.print("Lat: ");
    u8g.print(lat,4);  // latitude
    u8g.setPrintPos(0, 42);
    u8g.print("Long: ");
    u8g.print(lon,4); // longitude
    u8g.setPrintPos(0, 10);
    u8g.print("Datum: ");
    u8g.print(l_date); // date(ddmmyy, UTC 0)
    u8g.setPrintPos(0, 22);
    u8g.print("Uhr: ");
   u8g.print(gps2.time.value());
 
    u8g.setPrintPos(0, 62);
    u8g.print("Alt: ");
    u8g.print(f_alt); // altitude(m)
       u8g.setPrintPos(0, 52);
    u8g.print("KM/H: ");
  u8g.print(gps.f_speed_kmph());

u8g.setPrintPos(85, 10);
  u8g.print("Sat: ");
    u8g.print(gps.satellites());
 


  } while ( u8g.nextPage() );
}

void loop() // run over and over

{
 
  bool newdata = false;
  unsigned long start = millis();
  float flat, flon, falt;
  unsigned long date, time, age;

  // Every 2 seconds we print an update
  while (millis() - start < 5000) {
    if (Serial.available() && gps.encode(Serial.read())) {
      newdata = true;
      // break;  // uncomment to print new data immediately!
    }
  }

  if (newdata) {
    gps.satellites();
    gps2.time;
    gps.f_get_position(&flat, &flon, &age);
    gps.get_datetime(&date, &time, &age);
    falt = gps.f_altitude();
    draw(flat, flon, date, time, falt);
     }
      }

Hi

void ist NUR EIN DATENTYP
Und zwar: ist Keiner
Bei einer Funktion(Methode) heißt Das:

  • vorne: kein Rückgabewert
  • in der Klammer: keine Übergabeparameter

Ein 'void' gibt Es nicht (sogar wirklich).

... WAS DU WOLLE?

dope-walker:
Funktioniert ja leider nicht

Und warum verwendest du nicht die neuere Library, wie dir schon empfohlen wurde ?

Für eine neue Seite musst du in einer zusätzlichen Funktion einen Seitenwechsel starten und deine neue Seite wie die erste anfangen:

 if (DisplayNo == 1) {

    u8g.setFont(u8g_font_unifont);
    // hier deine 1. Seite aufbauen
}
else  {
    u8g.setFont(u8g_font_unifont);
    // hier deine 2. Seite aufbauen
}

Nur folgendes steht zum Displayaufbau bei mir noch in der loop:

  // picture loop
  u8g.firstPage();
  do {
    draw();
  } while ( u8g.nextPage() );
  delay(50);

HotSystems:
Und warum verwendest du nicht die neuere Library, wie dir schon empfohlen wurde ?

weil ich es nicht verstehe!
Ich versteh den zusammenhang nicht. Ich kann mit so einzelne "fetzen" nichts anfangen. ja ich verstehe was da steht aber ich verstehe nicht was dann im rest vom sketch überall hin muss damit das so passt!

Das hört sich für mich alles ungefähr so an wie (für die meisten vermutlich):

Druck induzierte vortizität oszillation. (ein pfeifen......)

So etwas verstehe ich aber so programmier sachen nicht. Und so einzelne teilstücken machen es irgendwie nicht gerade besser :frowning:

dope-walker:
weil ich es nicht verstehe!
Ich versteh den zusammenhang nicht. Ich kann mit so einzelne "fetzen" nichts anfangen. ja ich verstehe was da steht aber ich verstehe nicht was dann im rest vom sketch überall hin muss damit das so passt!
.....

Ok....aber warum machst du das nicht so wie fast alle hier, mit Lernen.
Damit kommt man immer am Besten vorran.

Oder möchtest du, dass wir dir alles vorgeben und du mit Copy & Paste das übernimmst ?
Dann hast du dir das falsche Hobby ausgewählt.

HotSystems:
Oder möchtest du, dass wir dir alles vorgeben und du mit Copy & Paste das übernimmst ?
Dann hast du dir das falsche Hobby ausgewählt.

Nein natürlich nicht!
Aber wenn ich ein beispiel hätte wo das imn ganzen steht mit taster und dem u8g.print dann kann ich mir wesentlich besser helfen!

So sehe ICH es:

Ganz oben Die ganzen dinge die dazugehören und zuweisen usw.

Dann das void setup
welches ich ja ungefähr verstehe

void draw --> ok das ist das was er wie schreiben soll

und dann den loop.
wieso steht das void draw nicht so wie bei meinen ganzen anderen sketch sachen nicht auch im loop? da steht doch normalerweise das was er tun soll.
Weil dann würde ich es ja verstehen (if button high led on zum beispiel)

aber so wie es ist verstehe ich es wirklich nicht.
Und ich würde es sehr nett finden wenn das einem schön erklärt wird oder halt ein solches passendes beispiel gegeben wird.

Ich mein klar kann man alkles lernen ABER ich steh ja auch nicht in der werkstat und wenn ein kunde eine frage hat z.b. wie ein getriebe oder sonst was funktioniert sag ich ja auch nicht:
Ganghebel betätigen und dann passiert im Getriebe was. Wenn du mehr wissen willst, musst es lernen.......
Das ist ja eine "unfaire aussage" Nett hingegen wäre es wenn ich dann mein wissen über dieses Getriebe an den Kunden weiter gebe....

dope-walker:
Ganz oben Die ganzen dinge die dazugehören und zuweisen usw.

Dann das void setup
welches ich ja ungefähr verstehe

void draw --> ok das ist das was er wie schreiben soll

und dann den loop.

Ich werde dir nicht den Sketch schreiben.
Du sollst es lernen. Wenn ich es mache, lernst du nix.

wieso steht das void draw nicht so wie bei meinen ganzen anderen sketch sachen nicht auch im loop? da steht doch normalerweise das was er tun soll.
Weil dann würde ich es ja verstehen (if button high led on zum beispiel)

Weil man die unterschiedlichen Routinen auch in "Funktionen" schreiben kann.

Und wenn du dir mal die Grundlagen anlernen würdest, käme dies Frage nicht.

aber so wie es ist verstehe ich es wirklich nicht.

Dann musst du es lernen.

Und ich würde es sehr nett finden wenn das einem schön erklärt wird oder halt ein solches passendes beispiel gegeben wird.

Ich mein klar kann man alkles lernen ABER ich steh ja auch nicht in der werkstat und wenn ein kunde eine frage hat z.b. wie ein getriebe oder sonst was funktioniert sag ich ja auch nicht:
Ganghebel betätigen und dann passiert im Getriebe was. Wenn du mehr wissen willst, musst es lernen.......
Das ist ja eine "unfaire aussage" Nett hingegen wäre es wenn ich dann mein wissen über dieses Getriebe an den Kunden weiter gebe....

Kürzlich gelesen:
Nicht alles was hinkt ist ein Vergleich.

Nenne mir mal die KFZ-Werkstatt, die dir kostenfrei ein Schulung gibt, wie ein Getriebe zusammengebaut wird.
Denn das verlangst du gerade hier im Forum.

Das soll nicht heißen, das wir (ich) dir nicht helfen wollen.

Und wenn du selbst nicht in der Lage bist, aus unseren Beispielen etwas funktionierendes zusammen zu bauen, das hast du tatsächlich das falsche Hobby. Sorry, wenn ich mich wiederhole.

HotSystems:
Und wenn du selbst nicht in der Lage bist, aus unseren Beispielen etwas funktionierendes zusammen zu bauen, das hast du tatsächlich das falsche Hobby. Sorry, wenn ich mich wiederhole.

ok!

Dann schenk ich der den ganzen arduino scheißdreck der bei mir rumliegt und fertig aus!
ich will einfach nur einen verdammten taster der eine neue seite macht!

Da bringt es echt wenig wenn ich mit grundlagen zu lernen anfange. Dies bedeutet am ende es liegt ewig rum bis ich ALLES gelernt habe! Das kann ja nicht sinn und zweck sein!
OPEN Source bedeutet für mich : ich hlefe anderen und gebe mein wissen weiter.....
Da hab ich mich wohl sehr getäuscht

dope-walker:
Da bringt es echt wenig wenn ich mit grundlagen zu lernen anfange. Dies bedeutet am ende es liegt ewig rum bis ich ALLES gelernt habe! Das kann ja nicht sinn und zweck sein!

Etwas zu lernen, macht immer Sinn.
Wie kommst du da drauf, es macht keinen Sinn ?

OPEN Source bedeutet für mich : ich hlefe anderen und gebe mein wissen weiter…

Und genau das machen wir hier. Allerdings musst du mitarbeiten und da verweigerst du dich gerade.