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
Integer Zahl in einer, zehner, hunderter und tausender zerlegen
11.08.2015, 11:17
Beitrag #1
Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hallo zusammen,
stehe mal wieder vor einem Problem!
Möchte eine Integer Zahl, z.B. 2354, in einer, zehner, hunderter und tausender zerlegen!
Hintergrund ist der, das ich mit 4 Tastern diese Zahl einstellen möchte.
Taster 1, tausender
Taster2, hunderte
Taster3, zehner
Taste4, einer

Hat jemand eine Idee?
Danke für Eure Hilfe oder Anregungen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.08.2015, 11:37
Beitrag #2
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hi,
ist doch einfach... Variable als Integer anlegen...dann geteilt durch 10, 100, 1000
für die Anzeige und nach dem ändern mit dem Faktor wieder malnehmen und alles addieren..
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.08.2015, 11:38
Beitrag #3
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Code:
byte einer = zahl % 10;
byte zehner = (zahl / 10) % 10;
byte hunderter = (zahl / 100) % 10;
byte tausender = (zahl / 1000) % 10;

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.08.2015, 17:02
Beitrag #4
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hallo Thorsten,
danke für Deine Hilfreiche Antwort. Ist genau das was ich suchte.
(Habe aber anscheinend nicht die richtigen Schlagwörter gefunden)
Gerne sende ich ein paar Bilder oder Clips! Brauche aber noch ein wenig Zeit.

Also danke nochmal für Deine Hilfe.

Grüsse Marcel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.08.2015, 17:15
Beitrag #5
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hallo Thorsten,
anbei der versprochene Sketch und ein Bild.
Über die Taster werden die Ziffern eingestellt.
Der eingestellte Wert wird in das EEPROM gespeichert.

Danke nochmals für die Mathe Nachhilfe! Wink

// Über den Analogen Eingang werden die Taster eingelesen.
// Mit jedem Taster werden die zugehörigen Ziffern eingestellt.
// Die Funktion LCD_Refresh() aktualisiert das LCD Display und speichert
// den Zaelerwert im EEPROM als Integer (2 Byte) in die Adresse 10+11
//
// Analoge Taster an A3 (4 Taster mit Spannungsteiler)
// LCD20x4 SDA an A4
// LCD20x4 SCL an A5

#include <Wire.h> //Wird für das LCD Display benötigt
#include <LiquidCrystal_I2C.h> //Wird für das LCD Display benötigt
#include <EEPROM.h> //Wird für das Speichern ins EEPROM benötigt

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

int AE3 = 3; // Eingang Analog Tastenfeld
int AE3val; // Wert vom Analog Tastenfeld
int Zaeler; // Wert des Zaelers (wird im Eprom in Adresse 10+11 gespeichert)

void setup(){
Zaeler = (EEPROM.read(10)) + ((EEPROM.read(11)<<8)&0xFF00); // aus EEPROM lesen
lcd.begin(20,4); // initialisiert das LCD
LCD_Refresh(); // Ruft die Funktion auf
}

void loop()
{

AE3val = analogRead(AE3);

if (AE3val >= 0 && AE3val < 10){ //Taster für tausender
if ((Zaeler / 1000 % 10) == 9) {
Zaeler = Zaeler - 9000;
LCD_Refresh();
}
else{
Zaeler = Zaeler + 1000;
LCD_Refresh();
}}

if (AE3val >= 80 && AE3val < 90){ //Taster für hundeter
if ((Zaeler / 100 % 10) == 9) {
Zaeler = Zaeler - 900;
LCD_Refresh();
}
else{
Zaeler = Zaeler + 100;
LCD_Refresh();
}}

if (AE3val >= 155 && AE3val < 165){ //Taster für zehner
if ((Zaeler / 10 % 10) == 9) {
Zaeler = Zaeler - 90;
LCD_Refresh();
}
else{
Zaeler = Zaeler + 10;
LCD_Refresh();
}}

if (AE3val >= 215 && AE3val < 225){ //Taster für einer
if ((Zaeler % 10) == 9) {
Zaeler = Zaeler - 9;
LCD_Refresh();
}
else{
Zaeler = Zaeler + 1;
LCD_Refresh();
}}
}

void LCD_Refresh(){
lcd.clear();
lcd.setCursor ( 0, 0 );
lcd.print ("Zaehler: ");
lcd.print (Zaeler / 1000 % 10);
lcd.print (Zaeler / 100 % 10);
lcd.print (Zaeler / 10 % 10);
lcd.print (Zaeler / 1 % 10);
lcd.setCursor ( 0, 3 );
lcd.print("Wert:");
lcd.print(AE3val);
EEPROM.write(10,Zaeler&0xFF); // Low Byte des Zählers schreiben
EEPROM.write(11,(Zaeler>>8)&0xFF); // High Byte des Zählers schreiben
delay(120);
return;
}


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.08.2015, 17:16
Beitrag #6
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Hi,
mal ne ganz blöde Frage: Wozu eigentlich?
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.08.2015, 18:07
Beitrag #7
RE: Integer Zahl in einer, zehner, hunderter und tausender zerlegen
Baue eine Maschine die eine vorgewählte Stückzahl produzieren soll.

Blöde fragen gibt es nicht!

Gruss Marcel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Wieder mal einer mit serial Probs :-( Bikandajyo 13 479 03.03.2018 08:35
Letzter Beitrag: Bikandajyo
  While Schleife in einer If abfrage Thorsten_S 4 455 30.12.2017 16:37
Letzter Beitrag: Thorsten_S
  Frage zu einer Lichtschrankenmessung - Nullwertabgleich Stargazer 12 1.274 03.11.2017 19:10
Letzter Beitrag: Binary1
  Verständnisfrage: Instanz innerhalb einer Klasse tuxedo0801 6 672 28.03.2017 19:40
Letzter Beitrag: georg01
  Mehrstellige Zahl aus Keypad StB 7 1.742 23.11.2016 03:47
Letzter Beitrag: StB
  Zahl von SD-Card Modul einlesen und Var. zuweisen Nafetz 13 2.282 28.10.2016 10:12
Letzter Beitrag: hotsystems
  Innenwiderstand einer Batterie (Rundzelle 1,5V) Einsteiger94 2 968 24.07.2016 11:42
Letzter Beitrag: SkobyMobil
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 1.166 23.04.2016 10:26
Letzter Beitrag: rkuehle
  I2C Ansteuerung einer MSM3 (elv mp3 Box) Voreifel 2 899 09.04.2016 17:56
Letzter Beitrag: Voreifel
  Problem: SDFat - Das Ende einer Datei finden und Schleife beenden MartinK 4 1.203 01.04.2016 05:49
Letzter Beitrag: MartinK

Gehe zu:


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