Çalışmaz çünkü ben sana "hesapla" olarak verdim sen "Hesapla" olarak yapıştırmışsın. Hadi bil bakalım neden çalış mıyor?
onu da denedım
acaba init hesapla dan mı dedim onu ekledim olmadı
Çalışmaz çünkü ben sana "hesapla" olarak verdim sen "Hesapla" olarak yapıştırmışsın. Hadi bil bakalım neden çalış mıyor?
Fonksiyonun içinde ekrana ne yazmaya çalışıyorsun?
Denemek istiyorsan içineboyle dediğine göre yazılmıyor
kendimce o kısmın çalışıp çalışmadığını görebilmek adına bu şekilde bişey yapmak istemiştim
içi boşkende hesaplada hata veriyordu
Serial.print("Fonksiyon içi:") ;
Serial.println(arac_no);
Hayatı gideremedimDenemek istiyorsan içine
Yaz. Monitörden takip et.Kod:Serial.print("Fonksiyon içi:") ; Serial.println(arac_no);
void loop(){
uint8_t idxx = keyPad.getKey();
char idx = "123A456B789C*0#D"[idxx];
if ( isdigit(idx) ) {
uint8_t sayi = idx - '0';
ToplamSayi = ((ToplamSayi * 10) + sayi);
}
else if ( idx == '#' ) {
hesapla(ToplamSayi) ;
ToplamSayi = 0;
}
else if ( idx == '*' ) {
//Serial.print(ToplamSayi);
}
else if ( idx == 'A' ) {
//Serial.print(ToplamSayi);
}
else if ( idx == 'B' ) {
//Serial.print(ToplamSayi);
}
else if ( idx == 'C' ) {
//Serial.print(ToplamSayi);
}
else if ( idx == 'D' ) {
//Serial.print(ToplamSayi);
}
delay(300);
}
function hesapla(arac_no) {
Serial.print("Fonksiyon içi:") ;
Serial.println(arac_no);
}
Kod:void loop(){ uint8_t idxx = keyPad.getKey(); char idx = "123A456B789C*0#D"[idxx]; if ( isdigit(idx) ) { uint8_t sayi = idx - '0'; ToplamSayi = ((ToplamSayi * 10) + sayi); } else if ( idx == '#' ) { hesapla(ToplamSayi) ; ToplamSayi = 0; } else if ( idx == '*' ) { //Serial.print(ToplamSayi); } else if ( idx == 'A' ) { //Serial.print(ToplamSayi); } else if ( idx == 'B' ) { //Serial.print(ToplamSayi); } else if ( idx == 'C' ) { //Serial.print(ToplamSayi); } else if ( idx == 'D' ) { //Serial.print(ToplamSayi); } delay(300); } function hesapla(arac_no) { Serial.print("Fonksiyon içi:") ; Serial.println(arac_no); }
Parantezi içine int yaz bir boşluk bırak.
Parantezi içine int yaz bir boşluk bırak.
function'un başına void yaz bir boşluk bırak.
void function hesapla(int arac_no) {
MerhabaHer zaman kodun tamanımı da paylaş böylece hata nerede herkes bakabilir.
#include <I2CKeyPad.h>
#include <Wire.h>
#include <LiquidCrystalTr_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
const uint8_t KEYPAD_ADDRESS = 0x20; //yeni
I2CKeyPad keyPad; //yeni
int lcdCursor = 0;
int lcdprint = 0;
int ToplamSayi = 0;
void setup(){
Serial.begin(115200);
lcd.begin();
lcd.backlight();
// Ekrana yazdırılacak metin
for(int i=0; i<4; i++)
{
lcd.setCursor(0,1);
lcd.print(" MERCEDES BENZ ");
delay(250);
lcd.clear();
lcd.setCursor(0,2);
lcd.print(" MERCEDES BENZ ");
delay(250);
lcd.clear();
}
lcd.setCursor(0,1);
lcd.print(" MERCEDES BENZ ");
if (keyPad.begin(KEYPAD_ADDRESS) == false)
{
Serial.println("\nERROR: cannot communicate to keypad.\nPlease reboot.\n");// yeni
while(1);
}
}
void loop(){
uint8_t idxx = keyPad.getKey();
char idx = "123A456B789C*0#D"[idxx];
if ( isdigit(idx) ) {
uint8_t sayi = idx - '0';
ToplamSayi = ((ToplamSayi * 10) + sayi);
}
else if ( idx == '#' ) {
hesapla(ToplamSayi) ;
ToplamSayi = 0;
}
else if ( idx == '*' ) {
//Serial.print(ToplamSayi);
}
else if ( idx == 'A' ) {
//Serial.print(ToplamSayi);
}
else if ( idx == 'B' ) {
//Serial.print(ToplamSayi);
}
else if ( idx == 'C' ) {
//Serial.print(ToplamSayi);
}
else if ( idx == 'D' ) {
//Serial.print(ToplamSayi);
}
delay(300);
}
function hesapla(int arac_no) {
Serial.print("Fonksiyon içi:") ;
Serial.println(arac_no);
}
function'un başına void yaz bir boşluk bırak.
Kod:void function hesapla(int arac_no) {
Gördüğün bütün ; leri ) 'e birleştir. Aralarında boşluk olmasın.
function yazısını sil yav. Php ile uğraşa uğraşa kafam oraya gitti.Kod:void hesapla(int arac_no) {
ToplamSayi değişkeninde her zaman tuşladığın sayılar olacak.arac_no değişkenini içinde her zaman tusladığım arac numarası olacak değil mi
hesapla() ;
int kafadan_sayi = 12345;
hesapla(kafadan_sayi);
Yapmaz. arac_no değişkenini sadece en alttaki fonksiyon içinde kullanabilirsin.deneme için A tusuna
lcd.print(arac_no) yazdığımda işlem yapar mı
lcd.setCursor(0,1) // LCD nin hangi satırına yazacağını belirtti.
lcd.print(" "); // Satır başka yazı varsa silinir.
lcd.print("Bu bir denemedir"); // Yeni mesajı yazdır.
ToplamSayi değişkenini sıfıra eşitle.monitorde 5 basamaklı rakamdan sonrasında tuşladığım değil de farklı rakamları gösteriyor
ToplamSayi = 0;
@Endorfin35+function yazısını sil yav. Php ile uğraşa uğraşa kafam oraya gitti.Kod:void hesapla(int arac_no) {
Bu kod bende de derlemiyor.LiquidCrystalTr_I2C.h
header'ı bulamıyor. Neyse ben sıramı bekleyeyim
Oynadı güldü yerini buldu.Her zaman kodun tamanımı da paylaş böylece hata nerede herkes bakabilir.