LCD Keypad shield
LCD Keypad shield
Sziasztok,
Az LCD Keypad shield-el vannak problémáim, kezdő vagyok így valószínű egyszerű a megoldás csak én nem jövök rá.
Az lenne a nagy kérdésem, hogy miért nem működik a 12es digitális pinre kötött nyomógom miközben a shield a A0 analóg bemeneten a nyomógombokat használja.
Egy mérőberendezést szeretnék csinálni ahol az LCD shield gombjaival tudom beállítani a kívánt hosszt a nyomógomb pedig egy merőkerék minden körbefordulásakor levonna egyet a beállított értékből
A két dolog külön külön működig de egy programon belül nem.
a segítségeteket előre is köszönöm
Az LCD Keypad shield-el vannak problémáim, kezdő vagyok így valószínű egyszerű a megoldás csak én nem jövök rá.
Az lenne a nagy kérdésem, hogy miért nem működik a 12es digitális pinre kötött nyomógom miközben a shield a A0 analóg bemeneten a nyomógombokat használja.
Egy mérőberendezést szeretnék csinálni ahol az LCD shield gombjaival tudom beállítani a kívánt hosszt a nyomógomb pedig egy merőkerék minden körbefordulásakor levonna egyet a beállított értékből
A két dolog külön külön működig de egy programon belül nem.
a segítségeteket előre is köszönöm
Re: LCD Keypad shield
Ha külön.külön megy - akkor a programodban van hiba.
A gombra tettél felhúzóellenállás? Vagy a belsőt használod? És fel is húzod?
A bemenetet hogy olvasod?
Azért programkóddal könnyebb lenne
...
A gombra tettél felhúzóellenállás? Vagy a belsőt használod? És fel is húzod?
A bemenetet hogy olvasod?
Azért programkóddal könnyebb lenne
http://www.tavir.hu - a gazda 
Re: LCD Keypad shield
A mikrókapcsolóra tetem egy ellenállást ahogy a tanfolyamodon tanultam 
a program a következő:
Még nincs kész de ennék a nyomógombos dolognál elakadtam.
Még lenne egy relé a 13. Pinre kötve ami egy relét működtetné ami pedig a motort kapcsolná ki - be.
A beállítást követően a "select" gomb indíaná a motort, amint az előre beállított métert eléri a számláló akkor kikapcsolja a motort.
a program a következő:
Kód: Egész kijelölése
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int lcd_key = 0;
int lcd_gombok = 0;
int szamlalo = 0;
int szamlalo_jel = 0;
int vissza_szamlalo = 0;
int vissza_szamlalo_jel = 0;
int vissza_szamlalo_pin = 12;
int vissza_szamlalo_gomb = 0;
int rele_pin = 13;
void setup()
{
pinMode(vissza_szamlalo_pin, INPUT);
pinMode(rele_pin, OUTPUT);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("szamlalo proba");
delay(3000);
lcd.clear();
}
void loop(){
lcd.setCursor(0,0);
lcd.print("Le.tek.m.");
lcd.setCursor(9,0);
lcd.print(vissza_szamlalo_jel); // kiírja a vissza számláló jel állását a képernyőre
lcd.setCursor(12,0);
lcd.print(vissza_szamlalo); // kiírja a vissza számláló állását a képernyőre
lcd.setCursor(15,0);
lcd.print("m");
lcd.setCursor(0,1);
lcd.print("Be.all.m.");
lcd.setCursor(9,1);
lcd.print(szamlalo_jel); // kiírja a számláló jel állását a képernyőre
lcd.setCursor(12,1);
lcd.print(szamlalo); // kiírja a számláló állását a képernyőre
lcd.setCursor(15,1);
lcd.print("m");
vissza_szamlalo_gomb = digitalRead(12);
if (vissza_szamlalo_gomb == HIGH ){ // ha meg van nyomva a vissza_számláló kapcsoló akkor hozzáadja a vissza_száláló_jel-et
delay(50);
vissza_szamlalo = vissza_szamlalo + vissza_szamlalo_jel;
delay(50);
vissza_szamlalo_jel = 0; // miután hozzáadta a vissza_számláló_jel-et 0 lesz a jel értéke hogy ne számoljon folyamatosan
}
else{
delay(10);
vissza_szamlalo_jel = 1; // ha nincs megnyomva a visszaszámláló kapcsoló akkor a jel értéke 1
}
lcd_gombok = analogRead(0);
//lcd.setCursor(0,0);
//lcd.print(lcd_gombok);
if (lcd_gombok < 50){ //RIGHT
szamlalo = szamlalo + szamlalo_jel;
delay(50);
szamlalo_jel = 0;
}
if (lcd_gombok < 195){ //UP
szamlalo = szamlalo + szamlalo_jel * 10;
delay(50);
szamlalo_jel = 0;
}
if (lcd_gombok < 380){ //DOWN
szamlalo = szamlalo - szamlalo_jel * 10;
delay(50);
szamlalo_jel = 0;
}
if (lcd_gombok < 555){ //LEFT
szamlalo = szamlalo - szamlalo_jel;
delay(50);
szamlalo_jel = 0;
}
if (lcd_gombok > 1010){
szamlalo_jel = 1;
}
}
Még nincs kész de ennék a nyomógombos dolognál elakadtam.
Még lenne egy relé a 13. Pinre kötve ami egy relét működtetné ami pedig a motort kapcsolná ki - be.
A beállítást követően a "select" gomb indíaná a motort, amint az előre beállított métert eléri a számláló akkor kikapcsolja a motort.
Re: LCD Keypad shield
12-es láb és 5V közé Ellenállás, Láb és GND közé kapcsoló...
http://www.tavir.hu - a gazda 
Re: LCD Keypad shield
A nyomógombod a láb és az 5V közt van?
Fordított logika kéne!
Ebből gondolom:
Fordított logika kéne!
Ebből gondolom:
Kód: Egész kijelölése
if (vissza_szamlalo_gomb == HIGH ){ // ha meg van nyomva a vissza_számláló kapcsoló akkor hozzáadja a vissza_száláló_jel-ethttp://www.tavir.hu - a gazda 
Re: LCD Keypad shield
sikerült,
így már tényleg működik
Köszönöm szépen
így már tényleg működik
Köszönöm szépen
