Vojtěch Vosáhlo
Vytvořené odpovědi
-
AutorPříspěvky
-
Vojtěch VosáhloÚčastník
Důležitá věc u něčeho takového je rozšiřitelnost. Vy vlastně natáhnete tolik kabelů kolik máte serv. Pokud jste si 100% jistý že to takhle zůstane, je to nejlepší řešení, a nejjednodušší. Pokud by ale byla šance že budete někdy chtít něco přidat, mohl byste mít nouzi o kabely… Tady by poté bylo nejlepší mít u každého serva/senzoru uC který by vše sjednocoval na jednu datovou linku, třeba 1wire. Na to můžete pak přidávat zařízení prakticky bez omezení. Je to jen něco nad čím se zamyslet.
Vojtěch VosáhloÚčastníkMůžu vědět jak budete se sonzory a servy komunikovat?
Kabel/bezdrátově, protokly…Vojtěch VosáhloÚčastníkNejdříve připojení bez wifi. Na to se dá esp nakonfigurovat jako AP. Ono si pak vytvoří vlastní síť a vy se na ní můžete telefonem připojit. Na netu koukejte po esp as AP.
To druhé je taky poměrně proveditelné, musel byste mít rozchozený DNS. Na to se taky dají na netu najít řešení dokonce i zdarma.
Vojtěch VosáhloÚčastníkPina má jen jedny a jsou vyvedeny 2x, nic specialniho se nastavovat nemusí. Musí být připojeny RX na TX a Tx na RX, jak už psal Zbyšek. Proč používáte kód pro 2 sériové porty když máte jen jeden jak jste psal?
Vojtěch VosáhloÚčastníkTo co chcete je prostě jednoduchý kód pro serial. Dá se najít kdekoliv na webu. Chápu že jste začátečník, to jsme byli všichni ale stačí hledat. Když něco nevím, skočím na https://www.arduino.cc/en/Reference/ a prostě si to najdu třeba i s ukázkovým kódem.
Ukázka pro serial println je: `/*
Analog inputreads an analog input on analog in 0, prints the value out.
created 24 March 2006
by Tom Igoe
*/int analogValue = 0; // variable to hold the analog value
void setup() {
// open the serial port at 9600 bps:
Serial.begin(9600);
}void loop() {
// read the analog input on pin 0:
analogValue = analogRead(0);// print it out in many formats:
Serial.println(analogValue); // print as an ASCII-encoded decimal
Serial.println(analogValue, DEC); // print as an ASCII-encoded decimal
Serial.println(analogValue, HEX); // print as an ASCII-encoded hexadecimal
Serial.println(analogValue, OCT); // print as an ASCII-encoded octal
Serial.println(analogValue, BIN); // print as an ASCII-encoded binary// delay 10 milliseconds before the next reading:
delay(10);
}Řeknu si že ale nechci posílat data přečtená z analogu ale jen AT+XXXXXX příkaz. Tak si kód prostě a jednoduše přepíšu, smažu čtení analogu a několik println vyměním za jedno. Vznikne mi něco takového:
void setup() {
// open the serial port at 9600 bps:
Serial.begin(9600);
}void loop() {
Serial.println(„AT“);
delay(1000);
}
`Doufám že chápete kam tím mířím. Prostě učit se, učit se, učit se 😉
Vojtěch VosáhloÚčastníkTakže máte připojený RX modulu na TX arduina a obráceně? Možná by bylo lepší dát si rx a tx na 2 obyčejné piny arduina. Pokud to tak uděláte, můžete použít hlavní RS232 na komunikaci s PC. To by bylo asi lepší. Pak napište na jaké piny je to připojeno a já zkusím vyflusnout nějaký kód.
Vojtěch VosáhloÚčastníkJediné co potřebuje kdokoliv kdo se tu bude podílet vědět je jaký je pinout shieldu. Tzn. kam vede RX a TX ESP. Tohle prostě musíte zjistit vy. Proměřte to, najděte na netu obrázek ESP 12 a proměřte na jaký pin duina jdou. Pak se tu dá něco vymýšlet. Pokud tu už někdo zmiňoval jaké piny to jsou tak mě tam odkažte ale já si nevšiml…
Vojtěch VosáhloÚčastníkJo tohle je psané na megu. Moje chyba. Vemte kód odsud: https://www.arduino.cc/en/Tutorial/SoftwareSerialExample
Vojtěch VosáhloÚčastníkKód od MilosD napsaný výše na této stránce.
Vojtěch VosáhloÚčastníkTrochu teď nevím kde je problém. Zkoušel jste kód uvedený výše? Stačí zjistit které piny shieldu jsou připojeny na TX a RX modulu, v arduinu na ně pak nastavíte software serial a pošlete nějaký ukázkový příkaz. Prakticky stejně jako v kódu nahoře.
Vojtěch VosáhloÚčastníkPřesně, knihovna by měla jít bez problému osekat. Možná by pro vás ale mohlo být jednoduší zkopírovat jen nějaké ty funkce a na import knihovny se úplně vybodnout. O ADC převodníku na čipu nic nevím, tedy maximálně o 8mi bitovém, kdyžtak mě odkažte tam kde jste to našel.
Vojtěch VosáhloÚčastníkZkuste se podívat třeba na toto: https://www.arduino.cc/en/Tutorial/TFTGraph
Jinak když dáte vyhledat „arduino plot graph on TFT“ vyleze mnoho výsledků.
Mimo to se zkuste podívat na toto fórum na téma „Řízení peletového kotle,“ i když to není přesně váš případ, třeba načerpáte další cenné informace.Držím palce
Vojtěch VosáhloÚčastníkPřesně tak. Měla byste mít obvod stejný jako u arduina tzn. i s uzemněním + by se hodil ještě rezistor na ochranu pinu před velkými proudy. Sepnutím spínače připojujete VCC rovnou na pin! Mělo by to být něco jako na tomto obrázku.
Attachments:
Vojtěch VosáhloÚčastníkPokud jde o komplexní čísla, stálo by za to podívat se třeba na toto: http://playground.arduino.cc/Main/ComplexMath
Vojtěch VosáhloÚčastníkMohl by být problém třeba s tím že pokud je spínač nespojený, pin „lítá“ -> neni ani na 1 ani na 0. Chtělo by to tedy rezistor jako máte u arduina. Taky bych ještě přidal jeden rezistor mezi tím spínačem a pinem aby omezil proud který se dostane na pin jak u arduina, tak u shieldu.
-
AutorPříspěvky