Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Arduino Mini Pro
Jdi na stránku 1, 2, 3  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další)
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Celeron



Založen: Apr 02, 2011
Příspěvky: 17802
Bydliště: Nový Bydžov

PříspěvekZaslal: út prosinec 13 2016, 23:24    Předmět: Arduino Mini Pro Citovat

Potřebuju ohledávat klávesnici 4x4 a význam stlačený klávesy vložit do textovýho řetězce a poslat na sériový port s TTL úrovní. Je to vlastně manuální ovládací jednotka CNC frézky pro ruční posuv os X Y Z, zapínání vřetene, home a pod. Mělo by na to stačit tohle. FW jsem našel na netu a nějakou lehkou úpravu snad zvládnu.
Předpokládám správně, že pro nahrnutí FW z PC do Arduina budu potřebovat ještě převodník USB/Com TTL ? Stačí tenhle převodník při nahrání FW napájet jen z USB? Arduino bude mít napájení svoje.

Díky!

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hakamusai



Založen: Apr 17, 2007
Příspěvky: 943

PříspěvekZaslal: st prosinec 14 2016, 0:02    Předmět: Citovat

Arduino se obvykle připojí k PC USB kabelem (nic extra netřeba).V případě Arduino PRO mini je to tak jak píšeš (dle popisu na eBay).Pro natažení programu do arduina bych vycházel ze stardardního zapojení převodníku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
dreamer



Založen: Oct 22, 2014
Příspěvky: 384

PříspěvekZaslal: st prosinec 14 2016, 6:09    Předmět: Citovat

Arduino PRO mini a jeho klony axistují ve více variantách. Nejdříve zjisti jestli máš 5V nebo 3,3V verzi, tomu se musí přizpůsobit úrovně převodníku. Měl jsem i takový kde se dalo propojkou zvolit. Potom stačí propojit TX a RX (křížem), GND případně i VCC (USB port určitě zvládne napájení převodníku i Arduina). Ve chvíli kdy IDE vypíše nahrávám program stisknout reset na arduinu. Jde propojit i ten reset aby nebylo nutné jej mačkat ale mě se obvykle nechce hledat jak a ne všechny převodníky mají potřebný signál vyvedený.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
monterjirka



Založen: Jun 14, 2003
Příspěvky: 2794
Bydliště: Blížejov

PříspěvekZaslal: st prosinec 14 2016, 6:56    Předmět: Citovat

Možná by bylo jednodušší použít Arduino s rozhraním USB, s konektorem miniUSB.
Ono to cenově je v podstatě stejné
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Celeron



Založen: Apr 02, 2011
Příspěvky: 17802
Bydliště: Nový Bydžov

PříspěvekZaslal: st prosinec 14 2016, 11:11    Předmět: Citovat

monterjirka napsal(a):
Možná by bylo jednodušší použít Arduino s rozhraním USB, s konektorem miniUSB.
Ono to cenově je v podstatě stejné

Nojo, ale jak to pak je když potřebuju samostatnej COM TTL? Arduino přeci USB generuje z sériovýho portu. Nebo je nějaký mini (mikro), co má 2 Comy?

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pocitujlasku



Založen: Dec 12, 2005
Příspěvky: 2181

PříspěvekZaslal: st prosinec 14 2016, 11:18    Předmět: Citovat

Celeron: arduino ma moznost urobit sw port z 2 pinov. https://www.arduino.cc/en/Tutorial/SoftwareSerialExample
_________________
No vidis, a tak si sa bal
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17802
Bydliště: Nový Bydžov

PříspěvekZaslal: st prosinec 14 2016, 11:25    Předmět: Citovat

dreamer napsal(a):
Arduino PRO mini a jeho klony axistují ve více variantách. Nejdříve zjisti jestli máš 5V nebo 3,3V verzi, tomu se musí přizpůsobit úrovně převodníku. Měl jsem i takový kde se dalo propojkou zvolit. Potom stačí propojit TX a RX (křížem), GND případně i VCC (USB port určitě zvládne napájení převodníku i Arduina). Ve chvíli kdy IDE vypíše nahrávám program stisknout reset na arduinu. Jde propojit i ten reset aby nebylo nutné jej mačkat ale mě se obvykle nechce hledat jak a ne všechny převodníky mají potřebný signál vyvedený.


Potřebuju mini i převodník 5V, řízení CNC je Mega 2560 taky 5V, 3.3V není V CNC mašině k dispozici. Převodník z odkazu má jumper 3.3 /5V tak jsem snad vybral dobře.
Ještě bych měl dotaz k Keypad 4x4 (0-9, A,B,C,D,#,*) co se nabízí k Arduinu. Jsou v klávesnici mírně vystouplý křupací žabky, nebo je bez žabek a zcela rovná plocha hmatníku a spínaní tak nějak neurčitý? Jde mi o to, nalepit na stávající klávesnici novou fólii s novými významy kláves. U vystouplých žabek to prý nejde, origo je ve výrobě lisovaný do formy za tepla aby se vytvořily bochánky nad křupkama.
Díky
Jirka

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ST78



Založen: Nov 16, 2009
Příspěvky: 113

PříspěvekZaslal: st prosinec 14 2016, 11:27    Předmět: Citovat

Postupoval bych takto:

1) Použít třeba Arduino mini. K němu potřebuješ převodník z USB nebo COM portu na TTL. Ideál je, pokud převodník má signály RX,TX,DTR a GND. DTR signál usnadňuje programování při automatickém nahrávání kódu do Arduina. (DTR je použito pro automatický RESET při startu nahrávání).
2) Spustit Arduino prostředí.
3) Zvolit v něm odpovídající číslo COM portu a typ Arduina.
4) Vyzkoušet, zda funguje přeložení a nahrání příkladu "blikání LEDkou" - je to v příkladech v Arduino prostředí.
5) Připojit klávesnici.
6) Spustit si v Arduino prostředí terminál sériového portu - je to součástí Arduino IDE a může se to používat souběžně s nahráváním programu do procesoru (samo si to přepíná).
7) Nahrát nějaký příklad pro sérivou komunikaci (třeba výpis ASCII tabulky). Otestovat, zda chodí sériová komunikace (je třeba si pohlídat rychlosti).
Cool Pohledat případně knihovnu pro klávesnici.
9) A pak již vesele datlovat vlastní kód...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: st prosinec 14 2016, 11:36    Předmět: Citovat

Nevim jakou klavesnici myslis, ale ty cinske co koupis za dolar ty plechove zabky nemaji.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17802
Bydliště: Nový Bydžov

PříspěvekZaslal: st prosinec 14 2016, 11:49    Předmět: Citovat

termit256 napsal(a):
Nevim jakou klavesnici myslis, ale ty cinske co koupis za dolar ty plechove zabky nemaji.

Hen ten onen bazmek.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17802
Bydliště: Nový Bydžov

PříspěvekZaslal: st prosinec 14 2016, 11:52    Předmět: Citovat

ST78 napsal(a):
Postupoval bych takto:
9) A pak již vesele datlovat vlastní kód...

Nemusím, už je nadatlováno, sériák na AUX1 D0 a D1. Snad dobře. Wink
Mělo by to generovat od každý klávesy jinej G-code na ovládání frézky, takže nebude potřeba mít trvale připojený PC. Frézovací data pojedou z SD karty na Mega 2560.

kód:

#include <Keypad.h>
#include <EEPROM.h>

float xRes = 0.1;
float yRes = 0.1;
float zRes = 0.01;

//int toolPWM = EEPROM.read(1);
int toolPWM = 255;
int pwmRes = 5;

void(* resetFunc) (void) = 0; //declare reset function at address 0

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns

char hexaKeys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

void setup() {
  Serial.begin(250000);
  keypad.addEventListener(keypadEvent);
}
 
void loop() {
  char key = keypad.getKey();
}

void keypadEvent(KeypadEvent key) {
  switch (keypad.getState()) {
    case PRESSED:
        if (key == '*') { Serial.println("M42 P44 S255"); Serial.println("M117 Spindle ON"); } // Spindle on
        else if (key == '0') { Serial.println("M42 P44 S0"); Serial.println("M117 Spindle OFF"); } // Spindle off
        else if (key == '#') { Serial.println("M84"); } // Motor off
       
        else if (key == '6') { Serial.println("G91"); Serial.print("G0 X"); Serial.println(xRes); Serial.println("G90"); } // X Plus
        else if (key == '4') { Serial.println("G91"); Serial.print("G0 X-"); Serial.println(xRes); Serial.println("G90"); } // X Minus

        else if (key == '2') { Serial.println("G91"); Serial.print("G0 Y"); Serial.println(yRes); Serial.println("G90"); } // Y Plus
        else if (key == '5') { Serial.println("G91"); Serial.print("G0 Y-"); Serial.println(yRes); Serial.println("G90"); } // Y Minus
       
        else if (key == '3') { Serial.println("G91"); Serial.print("G0 Z"); Serial.println(zRes); Serial.println("G90"); } // Z Plus
        else if (key == '1') { Serial.println("G91"); Serial.print("G0 Z-"); Serial.println(zRes); Serial.println("G90"); } // Z Minus

        else if (key == 'A') { if(xRes == 0.1) {xRes = 1;} else if(xRes == 1) {xRes = 10;} else if(xRes == 10) {xRes = 50;} else if(xRes == 50) {xRes = 0.1;} } // X Resolution
        else if (key == 'B') { if(yRes == 0.1) {yRes = 1;} else if(yRes == 1) {yRes = 10;} else if(yRes == 10) {yRes = 50;} else if(yRes == 50) {yRes = 0.1;} } // Y Resolution
        else if (key == 'C') { if(zRes == 0.01) {zRes = 0.1;} else if(zRes == 0.1) {zRes = 1;} else if(zRes == 1) {zRes = 10;} else if(zRes == 10) {zRes = 0.01;} } // Z Resolution
       
        else if (key == '7') { Serial.println("G28 X0 Y0"); } // XY to MIN
        else if (key == '8') { Serial.println("G92 X0 Y0 Z0"); } // Set to X0 Y0 Z0
        else if (key == '9') { Serial.println("G28 Z0"); } // Z to MAX
       
        else if (key == 'D') { for (int x=0;x<5;x++) Serial.println("M112"); } // Kill
        break;

    case RELEASED:       
        break;

    case HOLD:
        if (key == 'A') { xRes = 0.1; } // X Resolution
        else if (key == 'B') { yRes = 0.1; } // Y Resolution
        else if (key == 'C') { zRes = 0.01; } // Z Resolution

        else if (key == 'D') { resetFunc(); } // Restart
        break;
  }
}


Ty Include jsou obecný Arduiňácký, nebo se musí hledat pro konkrétní typ, u Mini pro pro AT328?
Díky

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
dreamer



Založen: Oct 22, 2014
Příspěvky: 384

PříspěvekZaslal: st prosinec 14 2016, 12:33    Předmět: Citovat

knihovny jsou obecné,měly by fungovat s každým arduinem. Ta klávesnice vypadá že je membránová. Otázka je jestli bude fungovat když se na ni něco nalepí a jestli to tam bude držet.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: st prosinec 14 2016, 12:41    Předmět: Citovat

Celeron napsal(a):
Hen ten onen bazmek.


Tohle je opravdu bazmek, je to placatý a nějaká hmatová odezva žádná. Je tam vidět i fotka z boku. Zas za ty peníze ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17802
Bydliště: Nový Bydžov

PříspěvekZaslal: st prosinec 14 2016, 13:20    Předmět: Citovat

dreamer napsal(a):
Otázka je jestli bude fungovat když se na ni něco nalepí a jestli to tam bude držet.

Jo UhuPor je vyzkoušený na Jihlavský membránovky. Je to kontaktní lepidlo alá Alkaprén, stále gumovej a hlavně nic nežere, ani polystyrén.

To FHonza. Já vím, že to je nic moc, proto jsem to tak pojmenoval. Co tohle? To jsou zase gumičky ala dálkový ovládání co za rok zvolejovatí, co? Na tom popis kláves nezměním ani náhodou.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: st prosinec 14 2016, 13:38    Předmět: Citovat

Zalezi na co to mas, ty membranove jsou opravdu jen na nejake obcasne zadani hodnot. Pokud se to bude pouzivat porad, doporucuju udelat klavesnici z tech vetsich mikrospinacu (12x12mm), prekryt je cca 0,5mm tlustym plastem (s oblibou na to pouzivam ruzne bezpecnostni tabulky) a prelepis to samolepkou s natistenym motivem.

Takova klavesnice ma perfektni hmatovou odezvu, da se v pohode ovladat i v rukavicich a jeste se mi nestalo ze by nejaky spinac odesel. Nahrazuju tim ve firme vsechny membranove ktere po case odchazi, chlapi si je pochvaluji.

Nad tema gumovyma jsem taky uvazoval, ale asi se bude obtizne zajistovat odolnost proti prachu a vode. Samolepku nalepis a nic se tam nedostane ani po krajich.


Naposledy upravil termit256 dne st prosinec 14 2016, 13:41, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Miniaturní počítače (Arduino, Raspberry a další) Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2, 3  Další
Strana 1 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.16 sekund