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
  Richtungsblinker und Warnblinker über jeweils einen Schalter Crazydiver 25 769 04.10.2017 12:47
Letzter Beitrag: hotsystems
  NeoPixels: Sketch will nicht - Problem mit delay? Zabsi 5 317 22.08.2017 15:17
Letzter Beitrag: Tommy56
  Brauche einen Sketch zum Testen HDT 12 741 22.06.2017 07:37
Letzter Beitrag: HDT
  Sketch ändern für ACS712 Sandro2504 3 322 04.06.2017 05:55
Letzter Beitrag: Bitklopfer
  arduino sketch Fuhsering 11 678 30.03.2017 12:47
Letzter Beitrag: hotsystems
Sad Sketch funktioniert auf dem Mega 2560 nicht Frank1234 16 1.108 26.03.2017 14:15
Letzter Beitrag: oOSpikeOo
  Dokumentatiion für Adafruit-Library PCD8544 (für Nokia 5110) Andrea 5 307 17.03.2017 14:08
Letzter Beitrag: Tommy56
  Probleme mit einem Sketch für einen LED Cube 5x5x5 Frank1234 5 479 13.03.2017 12:12
Letzter Beitrag: Tommy56
  Servo-Ansteuerung über einen Push-Button Aubergine83 1 429 16.02.2017 19:49
Letzter Beitrag: georg01
  Problem mit Sketch senden an Uno feuerwehr 5 965 31.01.2017 20:41
Letzter Beitrag: Tommy56

Gehe zu:


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