- Katılım
- 27 Şubat 2019
- Mesajlar
- 12,195
Bu konu altında raspberry pico ile keypad kullanımına bakacağız.
Eski bir uygulamamdaki kodları aldım. Bunları güç kaynağı kodlarımıza entegre edeceğiz.
Eski bir uygulamamdaki kodları aldım. Bunları güç kaynağı kodlarımıza entegre edeceğiz.
Kod:
#include "Wire.h"
#include "I2CKeyPad.h"
const uint8_t KEYPAD_ADDRESS = 0x20;
I2CKeyPad keyPad(KEYPAD_ADDRESS);
int ToplamSayi = 0;
int NoktaSay = 0;
bool konsol = false;
void setup() {
Serial.begin(115200);
Wire.begin();
if (keyPad.begin() == false)
{
Serial.println("\nERROR: cannot communicate to keypad.\nPlease reboot.\n");
while(1);
}
if (konsol) {
Serial.begin(115200);
delay(500);
Serial.println(F("Tusla Gelsin v1"));
}
}
void SatirTemizle(int satir) {
lcd.setCursor(0,satir);
lcd.print(" ");
lcd.setCursor(0,satir);
}
void loop() {
uint8_t idxx = keyPad.getKey();
char idx = "D#0*C987B654A321"[idxx];
if ( isdigit(idx) ) {
uint8_t sayi = idx - '0';
ToplamSayi = ((ToplamSayi * 10) + sayi);
if (konsol) {
Serial.print( "Tuslanan Sayi:" );
Serial.println(ToplamSayi);
}
SatirTemizle(1);
lcd.print(ToplamSayi);
} else if ( idx == '#' ) {
// # tuşu enter gibi davranır
SatirTemizle(1);
lcd.print("Urun Ekleniyor.");
if (konsol) {
Serial.print(ToplamSayi);
Serial.println( " Urun Eklendi.\n" );
}
int urlEk = ToplamSayi;
String TamUrl = url_ekle + urlEk;
SiparisVer(TamUrl, urlEk);
ToplamSayi = 0;
} else if ( idx == '*' ) {
// * tuşu yanlış girişi sıfırlar....
ToplamSayi = 0;
if (konsol) {
Serial.print("ToplamSayi ");
Serial.print(ToplamSayi);
Serial.println(" sıfırlandı.\n");
}
SatirTemizle(1);
lcd.print("Sayi Silindi...");
delay(4000);
SatirTemizle(1);
lcd.print("Urun No Giriniz");
} else if ( idx == 'A' ) {
// A TUŞU Bu tuş hızlıca favori ürün siparişi verebilir!
if (konsol) {
Serial.println("A tuşuna basıldı");
}
SatirTemizle(1);
lcd.print("A");
} else if ( idx == 'B' ) {
// B TUŞU Bu tuş hızlıca favori ürün siparişi verebilir!
if (konsol) {
Serial.println("B tuşuna basıldı");
}
SatirTemizle(1);
lcd.print("B");
} else if ( idx == 'C' ) {
// C Tuşu NodeMCU ya Reset Atar!
digitalWrite(D0, LOW);
} else if ( idx == 'D' ) {
// D Tuşu numarası girilen ürünü siler!
SatirTemizle(1);
lcd.print("Urun Ekleniyor.");
if (konsol) {
Serial.print(ToplamSayi);
Serial.println( " Urun Eklendi.\n" );
}
int urlEk = ToplamSayi;
String TamUrl = url_sil + urlEk;
SiparisSil(TamUrl, urlEk);
ToplamSayi = 0;
}
delay(300);
}