Luke_CZ
Vytvořené odpovědi
-
AutorPříspěvky
-
tribal.cz
ÚčastníkNo zítra to skusím a dám echo. Dst možná napíšu článek snad to pomůže i někomu jinýmu
Aleš
ÚčastníkPodle mě by to jít mělo, i když jsem to nezkoušel. Já spíš už delší dobu přemýšlím, jestli by to nešlo flashovat tak, že by se vytvořil jednoduchý prográmek do Arduina, který by převáděl data z TX0 a RX0 na TX1 a RX1 (u MEGA) nebo z TX0 a RX0 na Software.serial (u UNA), a flashovat to tímto způsobem. Ale ještě jsem na to neměl čas
tribal.cz
ÚčastníkAis už vím kde je chyba vše co jsem kde našel se věnovalo nodeMcu, jinak zajímalo by mne zda lze flashovat pomocí desky una bez čipu
Aleš
ÚčastníkTo je celkem běžný stav. V těch modulech je nahrané bůhví co za firmware. Podařilo se mi oživit pouze jeden poslední, který mi přišel před vánocema. Ty předchozí, (cca 5ks) jsem nerozchodil s tím, co bylo uvnitř nahrané. Je potřeba tam rovnou flashnout nějaký firmware, o kterém víš, jak funguje. Pro flashování je potřeba použít (esptool.py a odzkoušené firmware najdeš na mojí stránce http://xanadu.khnet.info/esp8266.php
posjirka
Účastníkještě není špatný tento :
https://123d.circuits.io/lab
je sice online ale pobral mi i to co ten první ne. Stačí se jen zaregistrovat …posjirka
Účastníkjá jsem spíš na HW ale v poslední době jsem nějákej línej to pořád předělaávat, tak pro jednoduché věci používám toto:
https://www.sites.google.com/site/unoardusim/homeHlavně si zbytečně neničním paměť přepisováním nových programu.
Kdyby to ještě mělo LCD display tak se vykašlu na cokoliv jiného 🙂Zbyšek Voda
ÚčastníkDobrý den,
na jakých rychlostech jste s moduly komunikoval?
Podle verze firmware se rychlost může lišit: 9600, 57600, 115200.Aleš
ÚčastníkSimulátor? To by mě zajímalo. Jaký používáte?
posjirka
Účastníkhod sem zapojení nebo aspon fotku. Jinak se bavíme o ničem.
Mě to v simulátoru fungolo takže bych hledal asi chybu u tebe.pepa48
Účastníkaha.. ale funguje to pořád stejně blbě :/ takže u nastavení pinů pro tlačítka stačí jen input? a jak je uzemnit?
posjirka
Účastníkzkontroluj si zapojení. Už z videa vidím, že máš drát (co má jít na tlačítko -) ve vzduchu. Druhou stranu nevidím, ale asi jí máš stejně. Navíc pull up odpory nepotřebuješ, protože jsem v kodu aktivoval interní, takže stačí jen uzemnit příslušné piny.
Jinak chválím admina za možnost nahrát soubor … děkujme
pepa48
ÚčastníkDík moc za ten program.. Ale stejně mi to nefunguje – přikládám video jak to jede(nejede) https://www.youtube.com/watch?v=bbC53sbY3oY
Zbyšek Voda
ÚčastníkNejvětší problém bude v tom, že máte funkce getShort() a další deklarované UVNITŘ funkce loop().
Funkce musíte deklarovat mimo tělo ostatních funkcí:)
posjirka
Účastníkjá chápu k čemu je to zpoždění, chtěl jsem jen říct, že když budeš mít porouchovou hlášku o přetopení kotle tak nemůžeš čekat až ti doběhen nějáký čas amusíš hned odstavit kotel.
Začátek bych viděl tak, že zkusíš blikání LED diody a postupně si vyzkoušíš jednotlivé funkce jako reakce na tlačítko, přes měření teploty.
Pak si vem cokoliv na tvorbu diagramů a nakresli si co má jak fungovat a jaé to bude mít funkční a poruchové stavy + co s tím při poruše.
Mít víc času tak ti pomůžu ale už jsem toho nasliboval dost a nestíhám to všechno plnit.Soci
ÚčastníkArduino: 1.6.6 (Windows 8.1), Vývojová deska: „Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)“
C:\Users\Mates\Documents\Arduino\celykod_2.0\celykod_2.0.ino: In function ‚void setup()‘:
celykod_2.0:46: error: ‚GetShort‘ was not declared in this scope
ac1 = GetShort(0xAA, 0xAB);
^
C:\Users\Mates\Documents\Arduino\celykod_2.0\celykod_2.0.ino: In function ‚void loop()‘:
celykod_2.0:99: error: ‚GetUT‘ was not declared in this scope
UT = GetUT();
^
celykod_2.0:100: error: ‚GetTemperature‘ was not declared in this scope
short teplota = GetTemperature(UT);
^
celykod_2.0:105: error: ‚ReadUP‘ was not declared in this scope
long tlak = GetPressure(ReadUP());
^
celykod_2.0:105: error: ‚GetPressure‘ was not declared in this scope
long tlak = GetPressure(ReadUP());
^
celykod_2.0:129: error: a function-definition is not allowed here before ‚{‚ token
{
^
celykod_2.0:148: error: a function-definition is not allowed here before ‚{‚ token
{
^
celykod_2.0:176: error: a function-definition is not allowed here before ‚{‚ token
{
^
celykod_2.0:209: error: a function-definition is not allowed here before ‚{‚ token
{
^
celykod_2.0:219: error: a function-definition is not allowed here before ‚{‚ token
{
^
celykod_2.0:253: error: expected ‚}‘ at end of input
}
^
exit status 1
‚GetShort‘ was not declared in this scopeTento výpis by měl více informací s
„Zobrazit více informací během kompilace“
povoleno v Soubor > Vlastnostijohnyhol
ÚčastníkTak to je paráda, díky za potvrzení. Teď už jenom někoho kdo by to naprogramovat a je to :-). Jelikož já jsem absolutní začátečník, tak toho budu muset nejdřív hodně načíst. Ohledně toho zastavení šroubovice když se sekne peletka, tak si nejsem jistý myslím, že je tam jenom nějaká spojka, jinak je tam jenom kabel který vede z motoru přímo na relé řídící jednotky. No a to zpoždění 14 min. je potřeba pro dohoření zbytku pelet po vypnutí hořáku. (natopení kotle)
posjirka
Účastníkpřímo pro toto je arduino dělané. Jen pozor na to co to má vlastně dělat. Program je jen tak chytrý jak ojeho tvůrce. Nejdřív si nakresli smyčku jak to má fungovat a zvýrazni si poruchové stavy. Mám pocit že ta kotel mají něco aby se zastavil šroub když se kousne peletka., pro dálkové ovládání start/stop si vymez 2 digitální vstupy na nepotenciálové kontakty a jedno rele na stav poruchy. Hlavně ten princip udělej do detailu a pamatuj že není vhodné použít delay, protože potřebuješ reakce na poruchy a né čekat 14 min aby zareagovala porucha…
16.2.2016 v 19:20 odpověď na: Násypkometr – ukazatel množství uhlí v násypce u automatického kotle #6062posjirka
Účastníkzní to dobře, nemáš strach, že se ten ultrazvuk zanese uhelným prachem?
posjirka
Účastníkpřímo pro toto je arduino dělané. Jen pozor na to co to má vlastně dělat. Program je jen tak chytrý jak ojeho tvůrce. Nejdřív si nakresli smyčku jak to má fungovat a zvýrazni si poruchové stavy. Mám pocit že ta kotel mají něco aby se zastavil šroub když se kousne peletka., pro dálkové ovládání start/stop si vymez 2 digitální vstupy na nepotenciálové kontakty a jedno rele na stav poruchy. Hlavě ten princip udělej do detailu a pamatuj že není vhodné použít delay, protože potřebuješ reakce na poruchy a né čekat 14 min aby zareagovala porucha…
16.2.2016 v 15:09 odpověď na: Násypkometr – ukazatel množství uhlí v násypce u automatického kotle #6051bobasrobas
ÚčastníkTo vypadá dost lákavě ,jelikož mam taky automat a nebaví mě se chodit koukat do kotelny , nemohl by jsi sem dat aspoň kod ať se s tím nemusím prát , Dík .
Zbyšek Voda
ÚčastníkDobrý den, ještě nám sem prosím zkopírujte text chybové hlášky.
Díkyposjirka
Účastníknavrhoval bych toto řešení. Snad je to dostatečně popsáno. Odzkoušel jsem to na simulátoru a mělo by to fungovat:
const int plus = 11; //tlačítko plus proti zemi const int minus = 12; // tlačítko mínus proti zemi int LED[8] = {2, 3, 4, 5, 6, 7, 8, 9}; // pole pozice/pinů jednotlivých LED diod int pozice = 0; // pozice rozsvícené LED diody resp. číslo vyvodu v poli int i = 0; // pomocna promenna pro pocitadlo unsigned long lastTime = 0; // strojní čas od posledního stisku tlačítka - libovolneho unsigned long prodleva = 250; // kolik ms nebude reagovat na další stisk tlačítka void setup() { pinMode(plus, INPUT_PULLUP); // nastav jako vstup a aktivuj vnitrni pull up odpor pinMode(minus, INPUT_PULLUP); // nastav jako vstup a aktivuj vnitrni pull up odpor pinMode(LED[0], OUTPUT); // nastavení pinu jako výstup pro LED pinMode(LED[1], OUTPUT); // nastavení pinu jako výstup pro LED pinMode(LED[2], OUTPUT); // nastavení pinu jako výstup pro LED pinMode(LED[3], OUTPUT); // nastavení pinu jako výstup pro LED pinMode(LED[4], OUTPUT); // nastavení pinu jako výstup pro LED pinMode(LED[5], OUTPUT); // nastavení pinu jako výstup pro LED pinMode(LED[6], OUTPUT); // nastavení pinu jako výstup pro LED pinMode(LED[7], OUTPUT); // nastavení pinu jako výstup pro LED pozice = 0; // prvotni nastaveni pozice rozsvicene LED diody } void loop() { for (i=0; i <= 7; i++){ // smyčka která projede všech 8 pozic pole LED diod if (i == pozice) { digitalWrite(LED[i], HIGH); // když je i rovno pozici tak rozsvit LED diodu } else { digitalWrite(LED[i], LOW); // jinak zhasni LED diodu } } if(lastTime + prodleva < millis()) { // když aktuální strojový čas mínus prodleva je větší než čas posledního stisku tlačítka ... if(digitalRead(minus) == LOW) { // když je stisknuto tlačítko minus if (pozice > 0) { // a pozice je větší než 0 pozice --; // odečti z pozice číslo 1 lastTime = millis(); // zaznamenej aktuální strojový čas } } if(digitalRead(plus) == LOW) { // když je stisknuto tlačítko plus if (pozice < 7) { // a pozice je větší než 0 pozice ++; // přičti z pozice číslo 1 lastTime = millis(); // zaznamenej aktuální strojový čas } } } }
Zbyšek Voda
ÚčastníkAno. Nepůjde.
Máte pravdu posjirka. Zákmity jsou potvory.
Ještě ideálnější řešení by (podle mě) bylo použít moje řešení společně s vaším čekáním uvnitř podmínky.posjirka
Účastníkpro „pepa48“ ten kod od Zbyškanení úplný a při zkopírování do Arduino IDE ti nepůjde. Šlo o ideové řešení … .
posjirka
Účastníkhezké řešení. mě ale v takto ultrakrátkých smyčkách občas zahaprovalo (zákmity na tlačítku) a načetlo třeba 2-3 pozice navíc. Od té doby jsem přešel na časové prodlevy mezi stisky tlačítka. Variantou je ještě paralelní kapacita na tlačítko pro kompenzaci zákmitů.
Zbyšek Voda
ÚčastníkTa část
stav1 == true && predStav1 != stav1
slouží k tomu, aby systém reagoval při stisku tlačítka. (Tj. jedenkrát při změně z LOW na HIGH).Pokud je tedy tlačítko stisknuto, dojde k zvětšení/zmenšení proměnné i o jedna.
Ta může být použita například jako index v poli, ve kterém máte uložené piny s LEDkami („rozsviť LED, která odpovídá rychlosti 3“)pepa48
ÚčastníkMohl by jste mi to popsat trochu podrobněji, díky 🙂
Zbyšek Voda
ÚčastníkTo bude něco jako
byte tlacitkoPlus = 5; byte tlacitkoMinus = 6; boolean stav1 = false; boolean predStav1 = false; boolean stav2 = false; boolean predStav2 = false; int i = 0; ... void loop(){ stav1 = digitalRead(tlacitkoPlus); if(stav1 == true && predStav1 != stav1){ i++; } predStav1 = stav1; stav2 = digitalRead(tlacitkoMinus); if(stav2 == true && predStav2 != stav2){ i--; } predStav2 = stav2; }
pepa48
ÚčastníkNapadla mě ještě jedna možnost ale protože jsem začátečník tak mi to opět nejde 😀
Jak udělat to normální sčítání a odčítání s tlačítky (+ a -) v programu?
tzn. na začátku svítí dioda1, když zmáčknu + 1. vypne a spustí se druhá a naopak..lukbe
ÚčastníkTak jsem na to přišel 🙂
number= request.substring(5, 10);
-
AutorPříspěvky