HobbyCNC fórum
  v0.9.2.4

Fórum betekintő Fórum címe: http://forum.hobbycnc.hu



Arduino




Időrend:
Oldal 2 / 16 Ugrás ide:
|◄ Első  ◄ Előző  1 2  3   4   5   6     Következő ►  Utolsó ►|

Fórum főoldal  |  A lap aljára

Amatőr | 2045    2017-10-17 20:28:17 [750]

Tuti! Az utolsó sor talán nem is fontos.

Előzmény: cree2, 2017-10-17 20:15:39 [749]


cree2 | 1237    2017-10-17 20:15:39 [749]

igy jobb.......... [code] void loop() { lcd.setCursor(0,0); lcd.print(analogRead(0)); lcd.print(" "; lcd.setCursor(9,1); // move cursor to second line "1" and 9 spaces over lcd.print(millis()/1000); // display seconds elapsed since power-up [/code]

Előzmény: Amatőr, 2017-10-17 19:55:27 [748]


Amatőr | 2045    2017-10-17 19:55:27 [748]

Ezt hamar megoldottad!

Előzmény: cree2, 2017-10-17 19:54:02 [747]


cree2 | 1237    2017-10-17 19:54:02 [747]

[code] lcd.begin(16, 2); // start the library lcd.setCursor(0,0); //lcd.print("Push the buttons"; // print a simple message lcd.print(adc_key_in); [/code]


Amatőr | 2045    2017-10-17 19:48:05 [746]

Ezt elmentem, majd átfaragom hogy ne a soros portra hanem az lcd-re írja ki az értéket. Így könnyű tesztelni a gombokat!

Előzmény: cree2, 2017-10-17 19:39:10 [744]

Amatőr | 2045    2017-10-17 19:46:31 [745]

Ezt nem hiszem hogy hamar át tudnám fordítani arduinora, bár már pedzem a lényegét. Köszi!

Előzmény: Csuhás, 2017-10-17 19:23:56 [742]


cree2 | 1237    2017-10-17 19:39:10 [744]

[code] //Sample using LiquidCrystal library #include <LiquidCrystal.h> /******************************************************* This program will test the LCD panel and the buttons Mark Bramwell, July 2010 ********************************************************/ // select the pins used on the LCD panel LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // define some values used by the panel and buttons int lcd_key = 0; int adc_key_in = 0; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 // read the buttons int read_LCD_buttons() { adc_key_in = analogRead(0); Serial.println(adc_key_in); delay(10); // read the value from the sensor // my buttons when read are centered at these valies: 0, 144, 329, 504, 741 // we add approx 50 to those values and check to see if we are close if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result // For V1.1 us this threshold if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 250) return btnUP; if (adc_key_in < 450) return btnDOWN; if (adc_key_in < 650) return btnLEFT; if (adc_key_in < 850) return btnSELECT; // For V1.0 comment the other threshold and use the one below: /* if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 195) return btnUP; if (adc_key_in < 380) return btnDOWN; if (adc_key_in < 555) return btnLEFT; if (adc_key_in < 790) return btnSELECT; */ return btnNONE; // when all others fail, return this... } void setup() { Serial.begin(9600); lcd.begin(16, 2); // start the library lcd.setCursor(0,0); lcd.print("Push the buttons"; // print a simple message } void loop() { lcd.setCursor(9,1); // move cursor to second line "1" and 9 spaces over lcd.print(millis()/1000); // display seconds elapsed since power-up lcd.setCursor(0,1); // move to the begining of the second line lcd_key = read_LCD_buttons(); // read the buttons switch (lcd_key) // depending on which button was pushed, we perform an action { case btnRIGHT: { lcd.print("RIGHT "; break; } case btnLEFT: { lcd.print("LEFT "; break; } case btnUP: { lcd.print("UP "; break; } case btnDOWN: { lcd.print("DOWN "; break; } case btnSELECT: { lcd.print("SELECT"; break; } case btnNONE: { lcd.print("NONE "; break; } } } [/code]


cree2 | 1237    2017-10-17 19:36:54 [743]

ez sorosportra kiirja azt a nyomogomb értékétet amit lenyomsz! //Sample using LiquidCrystal library #include <LiquidCrystal.h> /******************************************************* This program will test the LCD panel and the buttons Mark Bramwell, July 2010 ********************************************************/ // select the pins used on the LCD panel LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // define some values used by the panel and buttons int lcd_key = 0; int adc_key_in = 0; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 // read the buttons int read_LCD_buttons() { adc_key_in = analogRead(0); Serial.println(adc_key_in); delay(10); // read the value from the sensor // my buttons when read are centered at these valies: 0, 144, 329, 504, 741 // we add approx 50 to those values and check to see if we are close if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result // For V1.1 us this threshold if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 250) return btnUP; if (adc_key_in < 450) return btnDOWN; if (adc_key_in < 650) return btnLEFT; if (adc_key_in < 850) return btnSELECT; // For V1.0 comment the other threshold and use the one below: /* if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 195) return btnUP; if (adc_key_in < 380) return btnDOWN; if (adc_key_in < 555) return btnLEFT; if (adc_key_in < 790) return btnSELECT; */ return btnNONE; // when all others fail, return this... } void setup() { Serial.begin(9600); lcd.begin(16, 2); // start the library lcd.setCursor(0,0); lcd.print("Push the buttons"; // print a simple message } void loop() { lcd.setCursor(9,1); // move cursor to second line "1" and 9 spaces over lcd.print(millis()/1000); // display seconds elapsed since power-up lcd.setCursor(0,1); // move to the begining of the second line lcd_key = read_LCD_buttons(); // read the buttons switch (lcd_key) // depending on which button was pushed, we perform an action { case btnRIGHT: { lcd.print("RIGHT "; break; } case btnLEFT: { lcd.print("LEFT "; break; } case btnUP: { lcd.print("UP "; break; } case btnDOWN: { lcd.print("DOWN "; break; } case btnSELECT: { lcd.print("SELECT"; break; } case btnNONE: { lcd.print("NONE "; break; } } }

Előzmény: Amatőr, 2017-10-17 19:18:14 [741]


Csuhás | 4308    2017-10-17 19:23:56 [742]

Nem vagyok duinos ezért pszeudó kód: Define b as byte define sum as integer ..... sum:=0; For b:=1 to 4 sum=sum+getadc(0); delay(5) next sum:=sum/4 print sum .... Ez egy kicsit megszűri az ad értékeit, és kiírja. Ezután végignyomkodva a gombokat látod hol mi jön vissza. Így annak alapján tudod a gomb kiválasztás határértékeit a gombok értékei közé középre állítani.

Előzmény: Amatőr, 2017-10-17 19:07:17 [739]


Amatőr | 2045    2017-10-17 19:18:14 [741]

Igen, ez a része érthető. Kimérem az ellenállásokat, az majd segít. Köszi!

Előzmény: cree2, 2017-10-17 19:14:58 [740]


cree2 | 1237    2017-10-17 19:14:58 [740]

Hogy kicsit megérd az elvet Analog benenet érték 0...1023 értéken mozog 0...5v az elenálás létra fesz osztóként müxik pl ha rosz az elenálás érték a pcb verzion akor rosz a definiált érték határ a kodban is ezért reagálhat is rosszul! pl if (adc_key_in < 195) return btnUP; lehet ez lesz helyes if (adc_key_in < 250) return btnUP;

Előzmény: Amatőr, 2017-10-17 19:05:55 [738]


Amatőr | 2045    2017-10-17 19:07:17 [739]

Csuhás kolléga azt hiszem túlbecsülöd a képességeim. Az elképzelést értem, de a kivitelezéséhez még kevés vagyok.

Előzmény: Csuhás, 2017-10-17 18:42:38 [735]


Amatőr | 2045    2017-10-17 19:05:55 [738]

Ez jó lesz, most már tudom hova tegyem a késleltetést, nagyon köszönöm! Legjobb lesz ha rámérek az ellenállás létrára, úgy kiderül melyik verzió kell.

Előzmény: cree2, 2017-10-17 18:56:27 [737]


cree2 | 1237    2017-10-17 18:56:27 [737]

adc_key_in = analogRead(0); delay(10); van 2 verzio aminél az analog értékek más a verzio pcb az elenálások is valoszinü de ezt irja is a mintakod! az egyik if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 250) return btnUP; if (adc_key_in < 450) return btnDOWN; if (adc_key_in < 650) return btnLEFT; if (adc_key_in < 850) return btnSELECT; másik if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 195) return btnUP; if (adc_key_in < 380) return btnDOWN; if (adc_key_in < 555) return btnLEFT; if (adc_key_in < 790) return btnSELECT; de csak az egyiket használd egyszere! idézö jelböl kivéve a kod tömböt aktiv lesz: /* */

Előzmény: Amatőr, 2017-10-17 18:36:33 [733]


kaqkk007 | 819    2017-10-17 18:47:43 [736]

Így már más a leányzó fekvése én tényleg a mátrixra gondoltam de mint az előttem szóló írta használj prellmentesítést , én a picben úgy csinálnám hogy nem értéket hanem tartományt adnék meg majd a beolvasás után figyelném hogy az adc mikor ment 0 ra és onnan indítanám a következő mérést

Előzmény: Amatőr, 2017-10-17 18:31:54 [731]

Csuhás | 4308    2017-10-17 18:42:38 [735]

Csináld azt hogy néhányszor végzel egymás után ad konverziót pár mS késleltetéssel majd az átlagot használod fel, vagy addig olvasod az AD-t amíg három egymás utáni konverzió nem tér el egy limit értéknél jobban.

Előzmény: Amatőr, 2017-10-17 18:36:33 [733]


Amatőr | 2045    2017-10-17 18:37:18 [734]

Igen, ilyen.

Előzmény: cree2, 2017-10-17 18:35:42 [732]


Amatőr | 2045    2017-10-17 18:36:33 [733]

Az a kérdés hogy hova szúrjam be a késleltetést? A gombok definíciója a szokásos: [code]#define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 // read the buttons int lcd_key = 0; int adc_key_in = 0; int addr = 0; byte E; byte H; int read_LCD_buttons() { adc_key_in = analogRead(0); if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 195) return btnUP; if (adc_key_in < 380) return btnDOWN; if (adc_key_in < 555) return btnLEFT; if (adc_key_in < 790) return btnSELECT; return btnNONE; // when all others fail, return this...[/code] A gomb beolvasás például: [code] case btnLEFT: //4. case { { H = H + 1; if ( H > E ) (E = E + 1 ); // H értéke nem haladhatja meg E-ét lcd.setCursor(8, 0); lcd.print(" "; lcd.setCursor(8, 0); lcd.print(E); lcd.setCursor(8, 1); lcd.print(" "; lcd.setCursor(8, 1); lcd.print(H); EEPROM.write(1, H); delay(200); break; }[/code]

Előzmény: cree2, 2017-10-17 18:29:13 [730]


cree2 | 1237    2017-10-17 18:35:42 [732]

csak elenálás létra van nyomogomb okon A0 Bemeneten ha jolemlékszek... https://www.dfrobot.com/wiki/index.php/Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009) amire gondolsz igen mátrix alapu 3x4 vagy 4x4 ...stb.

Előzmény: kaqkk007, 2017-10-17 17:34:51 [729]


Amatőr | 2045    2017-10-17 18:31:54 [731]

Sajnos kénytelen vagyok ezt használni, a keypad shield tartalmazza az ellenállásokat és a gombokat. Nem maradt elég bemenet mind az 5 gombnak egyesével.

Előzmény: kaqkk007, 2017-10-17 17:34:51 [729]


cree2 | 1237    2017-10-17 18:29:13 [730]

nem tudom milyen kodot használsz a pergésre van szoftveres megoldás ha kell! de a nyomogom részhez raghatsz pl kis késleltetést 10...30 mill sec... delay(10);

Előzmény: Amatőr, 2017-10-17 17:16:27 [728]


kaqkk007 | 819    2017-10-17 17:34:51 [729]

Hanyagold az ellenállás mérést , az arduinoban is van keypad mintapélda azt használd (én pices vagyok de a rendszer ugyan az ) a keypadnál azt figyeli mikor melyik két láb van összekötve a nyomobomb mátrixban

Előzmény: Amatőr, 2017-10-17 17:16:27 [728]


Amatőr | 2045    2017-10-17 17:16:27 [728]

Kedves Arduino szakik! Adott egy UNO, keypad shield-el összecsatlakoztatva. A keypad gombjai az UNO analóg bemenetére kapcsolódnak, ellenállásméréssel határozza meg hogy melyik gombot nyomtam meg. A gond a következő: BtnUp gombra felfelé kéne számolnia, de a gomb elengedésekor néha lefelé is megteszi (erre is van gomb definiálva). Gondolom én hogy a nyomógomb prellezése okoz gondot. Hogyan lehetne kiküszöbölni?


PallMallMan | 379    2017-10-17 13:22:43 [727]

Keresek felprogramozott Buethoot modult cnc-zéshez. Ajánlatokat privátban várok!


cree2 | 1237    2017-10-14 00:04:22 [726]

akkor feladtad...... lehetöség adot

Előzmény: PallMallMan, 2017-10-13 23:32:30 [725]


PallMallMan | 379    2017-10-13 23:32:30 [725]

A Bluethoot igen áll! De azért más dolgok haladnak! Nem regisztrálok máshova! Nem izgat a TávIr, csak ezért meg nem regisztrálok! Gondoltam itt is van valaki aki megcsinálja (megoldja) nekem. (de lehet tévedtem) Nem létfontosságú a projekthez, de azért jól jönne! Remélem kimerítő volt a válasz!

Előzmény: cree2, 2017-10-13 19:32:48 [724]


cree2 | 1237    2017-10-13 19:32:48 [724]

Nem mondod hogy még áll ez a projekted? távir megoldás mért nem jó?

Előzmény: PallMallMan, 2017-10-13 16:14:28 [723]


PallMallMan | 379    2017-10-13 16:14:28 [723]

Még mindig áll az ajánlatom a készre varázsolt bluethoot-ra! Ha kell akkor akár arduinoval együtt is vevő vagyok rá! Vagy amennyiben inkognitóban akarsz maradni, nekem az is jó ha a VAKERA-s dolgaid közé felrakod! (vagy bele kéne vágni a wifis megoldásba!?)

Előzmény: cree2, 2017-10-13 13:45:50 [722]


cree2 | 1237    2017-10-13 13:45:50 [722]

androidra ujszerü kezelö... https://play.google.com/store/apps/details?id=in.co.gorest.grblcontroller


dezsoe | 617    2017-09-27 22:52:40 [721]

Azt én már nem tudhatom. Kipróbálni nem tudom, mert (még!) nincs Arduinom. De nem lesz ez így már sokáig, mert minden érdekel, amit programozni lehet. (Na, jó, a mosógép nem...)

Előzmény: Devecz Miklós, 2017-09-27 22:39:41 [719]

cree2 | 1237    2017-09-27 22:48:03 [720]

van pár verzios könyvtárak meg meghajtó i2c panel lcd alá is.. https://data.hu/get/10772384/LiquidCrystalI2C.rar


Devecz Miklós | 1802    2017-09-27 22:39:41 [719]

Talált süllyedt! Köszönöm a tippet, csak azt nem értem, eddig miért nem müködött, amikor már sokadszor próbálkoztam ezzel a változattal is.

Előzmény: dezsoe, 2017-09-27 22:21:10 [717]


cree2 | 1237    2017-09-27 22:36:11 [718]

nemkel lábakat definiálni i2c csak felbontást 16x2 vagy 20x4..stb....meg az i2c busz azonositot.... LiquidCrystal_I2C lcd(0x20,16,2);

Előzmény: Devecz Miklós, 2017-09-27 20:42:26 [713]


dezsoe | 617    2017-09-27 22:21:10 [717]

Gugli a barátunk. Ebben a cikkben az első válasz jó linket ad, az ott levő csomagban értelmezett ennyi paraméter az osztály konstruktorában és tudja, mi az a POSITIVE. (A NewliquidCrystal_1.3.4.zip-et töltöttem le, abba néztem bele.)

Előzmény: Devecz Miklós, 2017-09-27 20:42:26 [713]


szf | 1357    2017-09-27 22:00:02 [716]

De az is lehet, hogy úgy kell írni POSITIV

Előzmény: szf, 2017-09-27 21:51:56 [715]


szf | 1357    2017-09-27 21:51:56 [715]

Az a könyvtár nem használja ezt az utasítást ebben a formában. Nyisd meg a könyvtárat és olvasd el milyen utasításokat használhatsz.Valamikor csak kis betü nagy betü probléma van.

Előzmény: Devecz Miklós, 2017-09-26 22:55:03 [710]


Devecz Miklós | 1802    2017-09-27 20:58:16 [714]

Kicseréltem, a probléma továbbra is fenn áll.

Előzmény: PallMallMan, 2017-09-27 20:41:46 [712]


Devecz Miklós | 1802    2017-09-27 20:42:26 [713]

Igazából ez az egy sor okozza a problémát: LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address A "LiquidCrystal_I2C" könyvtár telepitve van a megfelelő helyre, egy példányban szerepel, mégsem akarja elfogadni.

Előzmény: PallMallMan, 2017-09-27 20:38:01 [711]


PallMallMan | 379    2017-09-27 20:41:46 [712]

Itt egy helyes LiquidCrystal-I2C

Előzmény: Devecz Miklós, 2017-09-26 22:55:03 [710]


PallMallMan | 379    2017-09-27 20:38:01 [711]

Mert két különböző könyvtár funkcióit kevered. Általában ez okozza ezt a hibát!

Előzmény: Devecz Miklós, 2017-09-26 22:55:03 [710]


Devecz Miklós | 1802    2017-09-26 22:55:03 [710]

Ilyen hibaüzenettel találkoztatok már? 'POSITIVE' was not declared in this scope I2C kijelzőt akarok illeszteni.


cree2 | 1237    2017-09-24 17:59:39 [709]

Ez a hamis cuc normális lene akor és ami BLE4 támogat akor probléma mentes!

Előzmény: Arany János, 2017-09-24 16:38:13 [708]


Arany János | 879    2017-09-24 16:38:13 [708]

Egyébként ezeknek milyen felhasználási területen van szerepük. Milyen eszközök tudnak velük "beszélni"?

Előzmény: Arany János, 2017-09-24 15:46:35 [707]


Arany János | 879    2017-09-24 15:46:35 [707]

Kipróbáltam. Egyébként is billegett a szekrény! Semmi hatása.

Előzmény: cree2, 2017-09-24 15:18:30 [706]


cree2 | 1237    2017-09-24 15:18:30 [706]

szivesen segitek .... de te olvasod is doksikat amit csinálsz de figyelni kell is a részletekre 1bit eltérés is tud szivatni egy beálitás/program részben borul minden a sikerhez!

Előzmény: Arany János, 2017-09-24 15:13:17 [704]

cree2 | 1237    2017-09-24 15:13:39 [705]

meg ragd át slave modba! AT+ROLE0

Előzmény: Arany János, 2017-09-24 14:58:31 [701]


Arany János | 879    2017-09-24 15:13:17 [704]

Nekem már az is siker, hogy egyáltalán sikerült ennyit összehoznom "egyedül" és nem Téged nyaggattalak vele!

Előzmény: cree2, 2017-09-24 15:09:43 [703]


cree2 | 1237    2017-09-24 15:09:43 [703]

még amivel lehet variálni ez az eszköz védelme ! AT+TYPE +TYPE=0 igy nincs pinkod kérés! AT+TYPE3 ez bekapcsolja azt pinkod kérést! de ezel is párositást veszit rövid idön belül.... szekrény láb alá jó ez a cuc...

Előzmény: Arany János, 2017-09-24 14:59:26 [702]


Arany János | 879    2017-09-24 14:59:26 [702]

Sikerült!

Előzmény: Arany János, 2017-09-24 14:58:31 [701]


Arany János | 879    2017-09-24 14:58:31 [701]

Ez a múltkori Vaterás vásárlásom! Sikerúlt belenéznem. ENNEK AZ ALAPJÁN csináltam.

Előzmény: cree2, 2017-09-24 14:43:42 [700]


Fórum főoldal  |  A lap tetejére

Időrend:
Oldal 2 / 16 Ugrás ide:
|◄ Első  ◄ Előző  1 2  3   4   5   6     Következő ►  Utolsó ►|