INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Suche jemanden, der mir einen Sketch von 1602 LCD auf Nokia 5110 LCD umschreibt
29.04.2015, 19:24
Beitrag #17
RE: Suche jemanden, der mir einen Sketch von 1602 LCD auf Nokia 5110 LCD umschreibt
ja, das war mir schon klar mit dem Balken, die Frage ist nur, wie man das auf dem Nokia umsetzt, das war mir noch nicht klar. Dazu bräuchte man im Zeichensatz gefüllte Vierecke als Zeichen, aber vielleicht könnte man auch einige
######
hintereinandersetzen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.04.2015, 15:43
Beitrag #18
RE: Suche jemanden, der mir einen Sketch von 1602 LCD auf Nokia 5110 LCD umschreibt
Die Rauten sind längst okay. Die drei verschiedenen Anzeigen habe ich da reingebastelt, weil auf dem Display noch so viel Platz war Smile

Den "hallPin" zu verändern ist kein Problem. Die Schaltung ist ja bisher sowieso nur auf dem Steckbrett fliegend verdrahtet.

Ich habe Deinen Vorschlag jetzt mal kompilieren wollen. Da hagelte es nur so an Fehlermeldungen. Nachdem ich alles, was mit dem 1602 zu tun hatte, heraus kommentiert habe, sind die Fehlermeldungen weniger geworden, sagen mir aber trotzdem nix.
Code:
sketch_apr30a.ino: In function ‘void displayRPM(int)’:
sketch_apr30a:74: error: ‘set_text’ was not declared in this scope
sketch_apr30a:77: error: expected `)' before ‘;’ token
sketch_apr30a.ino: In function ‘void displayBar(int)’:
sketch_apr30a:94: error: incompatible types in assignment of ‘char*’ to ‘char [50]’
sketch_apr30a:95: error: ‘set_text’ was not declared in this scope

In Zeile 77 scheint die zweite schließende Klammer zu fehlen. Der Rest sagt mir nichts.

Code:
// Nokia 5110 LCD-Display (84x48 Bildpunkte)

#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// D7 - Serial clock out (CLK oder SCLK)
// D6 - Serial data out (DIN)
// D5 - Data/Command select (DC oder D/C)
// D4 - LCD chip select (CE oder CS)
// D3 - LCD reset (RST)
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

const int hallPin=2;     // <<<<<<<<<<<<<<<<<< hallPin geändert !

#define fwidth 5         // <<<<<<< wie breit ist ein font?

const unsigned long sampleTime=1000;
const int maxRPM = 7000;

char sbuf[50];

void setup()
{

  
  // Display initialisieren
  display.begin();

  // Kontrast setzen
  display.setContrast(60);
  display.clearDisplay();   // clears the screen and buffer
  
}

void loop()
{
  delay(100);
  int rpm=getRPM();
//  display.clearDisplay();
  
  displayRPM(rpm);
  displayBar(rpm);
}

int getRPM()
{
  int count=0;
  boolean kflag=LOW;
  unsigned long currentTime=0;
  unsigned long startTime=millis();
  while (currentTime<=sampleTime)
  {
    if (digitalRead(hallPin)==HIGH)
    {
      kflag=HIGH;
    }
    if (digitalRead(hallPin)==LOW && kflag==HIGH)
    {
      count++;
      kflag=LOW;
    }
    currentTime=millis()-startTime;
  }
  int count2rpm = int(60000./float(sampleTime))*count;
  return count2rpm;
}

void displayRPM(int rpm)
{
//  lcd.clear();
  //lcd.setCursor(0, 0);
//  set_text(0,0,rpm,DEC);
  //lcd.setCursor(5,0);
  set_text(5*fwidth,0, "RPM", BLACK);   // <<<<<<< wie breit ist ein font?
  
  //lcd.setCursor(12,0);
  sbuf=itoa(rpm/(maxRPM/100,sbuf,10);
  set_text(12*fwidth, sbuf, BLACK);
  //lcd.setCursor(15,0);
  set_text(15*fwidth,0, "%", BLACK);    // <<<<<<< wie breit ist ein font?

}

void displayBar(int rpm)
{
  int numOfBars=map(rpm,0,maxRPM,0,15);         // <<<< ?????
  //lcd.setCursor(0,1);
  if (rpm!=0)
  {
  for (int i=0; i<=numOfBars; i++)
   {
        //lcd.setCursor(i,1);
        //lcd.write(1023);                   // <<<< ?????
        sbuf=itoa(1023,sbuf,10);             // <<<< ?????
        set_text(i*fwidth,10, 1023, BLACK);  // <<<< ?????
      }
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.04.2015, 16:31 (Dieser Beitrag wurde zuletzt bearbeitet: 30.04.2015 16:32 von HaWe.)
Beitrag #19
RE: Suche jemanden, der mir einen Sketch von 1602 LCD auf Nokia 5110 LCD umschreibt
ja, das wird schwierig, schmeiss erst mal alles raus, was mit Display Bar zu tun hat und probiers dann nochmal - da scheint eine speziellere 1602 Funktion zu sein.
Dann sehen wir weiter...

(ich habe ja deine libs nicht und auch nicht deine Hardware, und ich bin immer etwas betriebsblind gegen eigene Fehler, vllt findet ja wer anderes noch Bugs.)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.05.2015, 20:42
Beitrag #20
RE: Suche jemanden, der mir einen Sketch von 1602 LCD auf Nokia 5110 LCD umschreibt
Ich habe jetzt einiges hin und her probiert, bekomme es aber nicht hin. Da der Sketch erfolgreich mit dem 1602 Display läuft und der einzige Grund das Display zu ändern der mangelnde Platz ist, habe ich mir nun testweise ein 0802 Display bestellt. Wenn die RPM angezeigt werden, genügt mir das im Grunde.

Sollte sich doch noch jemand finden, der Lust hat, den Sketch auf das andere Display zu ändern, habe ich natürlich nichts dagegen!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.05.2015, 14:00 (Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2015 14:02 von tito-t.)
Beitrag #21
RE: Suche jemanden, der mir einen Sketch von 1602 LCD auf Nokia 5110 LCD umschreibt
in Hawes Umformung fehlt die Funktion "set_text"
und dann kommentiere mal die Zeile
displayBar(rpm);
in loop() aus!

füge dazu hinzu:
Code:
void set_text(int x,int y,String text,int color){
  
  display.setTextColor(color); // Textfarbe setzen, also Schwarz oder Weiss
  display.setCursor(x,y);      // Startpunkt-Position des Textes
  display.println(text);       // Textzeile ausgeben
  display.display();           // Display aktualisieren
}

wie lauten dann die Fehlermeldungen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.05.2015, 19:42
Beitrag #22
RE: Suche jemanden, der mir einen Sketch von 1602 LCD auf Nokia 5110 LCD umschreibt
Voarb für alle Interessierten erst einmal der Link zu den beiden Libraries:

https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit-PCD...CD-library


So sehen jetzt Sketch und Fehlermeldungen aus:

Code:
// Nokia 5110 LCD-Display (84x48 Bildpunkte)

#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// D7 - Serial clock out (CLK oder SCLK)
// D6 - Serial data out (DIN)
// D5 - Data/Command select (DC oder D/C)
// D4 - LCD chip select (CE oder CS)
// D3 - LCD reset (RST)
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

const int hallPin=2;     // <<<<<<<<<<<<<<<<<< hallPin geändert !

#define fwidth 5         // <<<<<<< wie breit ist ein font?

const unsigned long sampleTime=1000;
const int maxRPM = 7000;

char sbuf[50];

void setup()
{

  
  // Display initialisieren
  display.begin();

  // Kontrast setzen
  display.setContrast(60);
  display.clearDisplay();   // clears the screen and buffer
  
}

void loop()
{
  delay(100);
  int rpm=getRPM();
//  display.clearDisplay();
  
  displayRPM(rpm);
//  displayBar(rpm);
}

int getRPM()
{
  int count=0;
  boolean kflag=LOW;
  unsigned long currentTime=0;
  unsigned long startTime=millis();
  while (currentTime<=sampleTime)
  {
    if (digitalRead(hallPin)==HIGH)
    {
      kflag=HIGH;
    }
    if (digitalRead(hallPin)==LOW && kflag==HIGH)
    {
      count++;
      kflag=LOW;
    }
    currentTime=millis()-startTime;
  }
  int count2rpm = int(60000./float(sampleTime))*count;
  return count2rpm;
}

void displayRPM(int rpm)
{
//  lcd.clear();
  //lcd.setCursor(0, 0);
//  set_text(0,0,rpm,DEC);
  //lcd.setCursor(5,0);
  set_text(5*fwidth,0, "RPM", BLACK);   // <<<<<<< wie breit ist ein font?
  
  //lcd.setCursor(12,0);
  sbuf=itoa(rpm/(maxRPM/100,sbuf,10);
  set_text(12*fwidth, sbuf, BLACK);
  //lcd.setCursor(15,0);
  set_text(15*fwidth,0, "%", BLACK);    // <<<<<<< wie breit ist ein font?

}

void set_text(int x,int y,String text,int color){
  
  display.setTextColor(color); // Textfarbe setzen, also Schwarz oder Weiss
  display.setCursor(x,y);      // Startpunkt-Position des Textes
  display.println(text);       // Textzeile ausgeben
  display.display();           // Display aktualisieren
}


//void displayBar(int rpm)
{
  int numOfBars=map(rpm,0,maxRPM,0,15);         // <<<< ?????
  //lcd.setCursor(0,1);
  if (rpm!=0)
  {
  for (int i=0; i<=numOfBars; i++)
   {
        //lcd.setCursor(i,1);
        //lcd.write(1023);                   // <<<< ?????
        sbuf=itoa(1023,sbuf,10);             // <<<< ?????
        set_text(i*fwidth,10, 1023, BLACK);  // <<<< ?????
      }
  }
}

Code:
sketch_may03a.ino: In function ‘void displayRPM(int)’:
sketch_may03a:77: error: expected `)' before ‘;’ token
sketch_may03a:78: error: invalid conversion from ‘char*’ to ‘int’
sketch_may03a:78: error: invalid conversion from ‘int’ to ‘const char*’
sketch_may03a:78: error: initializing argument 1 of ‘String::String(const char*)’
sketch_may03a:16: error: too few arguments to function ‘void set_text(int, int, String, int)’
sketch_may03a:78: error: at this point in file
sketch_may03a.ino: At global scope:
sketch_may03a:94: error: expected unqualified-id before ‘{’ token
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.05.2015, 19:45
Beitrag #23
RE: Suche jemanden, der mir einen Sketch von 1602 LCD auf Nokia 5110 LCD umschreibt
hier fehlt ne 0:

falsch:
set_text(12*fwidth, sbuf, BLACK);

richtig:
set_text(12*fwidth,0, sbuf, BLACK);

check auch ruhig selber mal die anderen Zeilen!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.05.2015, 19:55
Beitrag #24
RE: Suche jemanden, der mir einen Sketch von 1602 LCD auf Nokia 5110 LCD umschreibt
Wow, die Fehlermeldungen sind rapide weniger geworden:

Code:
sketch_may03a.ino: In function ‘void displayRPM(int)’:
sketch_may03a:77: error: expected `)' before ‘;’ token
sketch_may03a.ino: At global scope:
sketch_may03a:94: error: expected unqualified-id before ‘{’ token
Sagen tut mir das aber leider trotzdem nichts.

Wenn ich den gesamten unteren Teil ab

//void displayBar....

raus nehme, und mich an der Klammer in Zeile 77

Code:
sbuf=itoa(rpm/(maxRPM/100),sbuf,10);

versuche, dann kommt noch folgender Fehler:
Code:
sketch_may03a.ino: In function ‘void displayRPM(int)’:
sketch_may03a:77: error: incompatible types in assignment of ‘char*’ to ‘char [50]’
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Sketch vom Arduino Board Herunterladen Sarius 2 342 27.07.2016 15:26
Letzter Beitrag: Sarius
  Sketch konnte nicht angelegt werden Sarius 2 237 16.07.2016 15:59
Letzter Beitrag: Sarius
  LCD 1602 mit I2C Tellen 17 595 10.07.2016 10:29
Letzter Beitrag: amithlon
  Ausgabe druckt immer 2 Werte anstatt nur einen. Finde den Fehler nicht TimeMen 24 733 02.07.2016 14:18
Letzter Beitrag: hotsystems
  [Suche] Library Programmierer/in für privates Projekt avoid 8 577 19.05.2016 15:01
Letzter Beitrag: avoid
Sad Suche simplen Scetch für ESP8266-Modul torsten_156 14 1.119 19.04.2016 07:54
Letzter Beitrag: amithlon
  SHT21 in Sketch integrieren PrinzEisenherz1 6 589 06.04.2016 14:38
Letzter Beitrag: PrinzEisenherz1
Question Arduino Pro Micro verlangt keyboard.h im sketch weinema 0 308 01.03.2016 19:04
Letzter Beitrag: weinema
  Suche LCD.h Zip bojojo 4 854 11.02.2016 17:31
Letzter Beitrag: bojojo
  Suche deutsches Forum für Processing torsten_156 3 509 06.02.2016 13:12
Letzter Beitrag: torsten_156

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste