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 Bewaesserungsanlage golex 5 290 08.05.2018 17:19
Letzter Beitrag: KampfHund
  upload sketch ab EEPROM ADDRESS xx sepp01 2 224 06.05.2018 23:12
Letzter Beitrag: sepp01
  Nachtwächter - Fehler im Sketch juergen001 15 832 24.04.2018 06:54
Letzter Beitrag: juergen001
  Einen Startwert für den Millis() Zähler einstellen?? Franz54 9 526 01.04.2018 17:01
Letzter Beitrag: Franz54
  Hilfe bei einen kleinen Programm FPV 9 936 11.03.2018 20:42
Letzter Beitrag: Tommy56
  Brauch hilfe bei einnem Sketch MrMagoo 10 629 11.02.2018 13:49
Letzter Beitrag: hotsystems
  Neuling mit einen Projekt MrNiceGuy 39 2.954 04.02.2018 20:50
Letzter Beitrag: MrNiceGuy
  Sketch kleiner und effektiver gestalten? Gonmaus 4 495 26.01.2018 23:41
Letzter Beitrag: Tommy56
  Arduino Sketch mit ArduBlock öffnen bertl68 4 592 04.01.2018 15:08
Letzter Beitrag: Binary1
  Arduino Uno - einen digitalen Pin mit nodeMCU 12E auslesen Stargazer 6 577 17.12.2017 17:40
Letzter Beitrag: hotsystems

Gehe zu:


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