pripojme
Vytvořené odpovědi
-
AutorPříspěvky
-
Le_Ze
ÚčastníkTy činske relay moduly sepinají při LOW
Při spuštění arduina je na pinu HIGHPošlu přes serial 1
pin se přepne na Low na 10 vteřin a rele sepne.
Pak je na pinu HIGH 10 vteřin.
Po 10 vteřinach zase LOW a už se to nepřekopí a rele zustava furt seple.#include "Timer.h" Timer t; int pin = 4; void setup() { Serial.begin(9600); pinMode(pin,INPUT_PULLUP); pinMode(pin, OUTPUT); } void loop() { int val = Serial.parseInt(); if(val == 1){ t.pulse(pin, 10 * 60 * 1000, LOW); } t.update(); }
posjirka
Účastníkjo to uvodní 10s přepnutí může mít 2 příčiny:
1, start Arduina kdy bootloader čeká na rest pro nahrání programu nebo pokračuje dál v aktuálním programu
2, knihovna timer má na začátku reset proměnných a registru. To chvilku trvá …posjirka
ÚčastníkPožíváš knihovny, které nevíš jak fungují a proto se pak divíš.
Navíc je to jak jít s bazukou na komára. Jde to mnohem elegantnějí:// zpozdeni tlacitka // v1 // by JP 2016 // program po stisku tlačítka rozsvítí LED diodu a nechá jí 5s rozsvícenou, pak ji zhasne a opět čeká na stisk tlačítka const int LED = 13; // led dioda const int TLACITKO = 10; // tlacitko proti zemi boolean CEKAM = false; // kdyz je true tak ceka na zhasnuti. unsigned long OLDTIME = 0; // strojní čas posledního stitku tlačítka unsigned long ZPOZDENI = 5000; // čas zpoždění zahsnutí LED diody v ms. unsigned long MYTIME = 0; // aktuální čas -zpoždění void setup() { pinMode(LED, OUTPUT); // nastaveni jako vystup pinMode(TLACITKO, INPUT_PULLUP); // nastaveni jako vystup OLDTIME = millis();// zapamatuj si aktuální strojní čas } void loop() { digitalWrite(LED, CEKAM); // zapis stav na LED if (digitalRead(TLACITKO) == 0) { // při stisku tlačitka if (CEKAM == false) { // a zhasnuté LED diodě CEKAM = true; // změn stav OLDTIME = millis(); // zapamatuj aktuální strojový čas } } if (CEKAM == true) { MYTIME = millis()-ZPOZDENI; // výpočet času zpoždění if (MYTIME > OLDTIME){ // porovnání aktuálního čas a OLDTIME se zpožděním CEKAM = false; // když překročím zpoždění zhasni LED diodu } } }
jardazov
ÚčastníkDobrý den,
Mám stejný problém. Desku mám tuto Mega2560 asi týden:
http://www.banggood.com/ATmega2560-Funduino-Mega-2560-Arduino-Compatible-Improved-Version-p-928760.htmlTaky mám v plánu to samé – USB joystick.
Ale nejde mi nahrát jiný FW. Mám Windows 10.
Nejspíš dělám něco špatně.Budu rád za radu.
Le_Ze
ÚčastníkNejjednodušší řešení by bylo tady.
https://playground.arduino.cc/Code/Timer
Do kažede podminky dat t.pulse.#include "Timer.h" Timer t; int pin = 3; void setup() { pinMode(pin, OUTPUT); t.pulse(pin, 10 * 60 * 1000, HIGH); // 10 minutes } void loop() { t.update(); }
Proč toto nefunguje jak má?
Zapnu arduino.
Po najetí mam na pinu 3 10 vteřin HIGH
Pak 10 vteřin LOW
A pak až se začne odpočitavat těch 10 minut HIGHposjirka
Účastníkdej sem jednoduchý kod s funkcionalitou co potřebuješ a já ti řeknu jak to upravit.
Chápeš, že se ptáš ze svého pohledu na věc …..? Nevidím ti do hlavy, tak ti nemůžu odpovědět. Navíc arduino nemá thead. Je jednoprocesorový 1 vláknový. Tudíž nemůže řešit 2 paralelní procesy. umí pouze mezi procesy přepínat a to ještě na základě interních časovaču resp. na principu přerušení. Jsme tu v „c++“ deplhi je trochu jinde.Le_Ze
ÚčastníkNo dalkač mi vrací kod jako číslo
Podmínkou IF hlídám ten správný.
Pokud je pominka splněna tedy spustit třeba thead.Nějak však nemohu pochopit princip toho vlakna.
Proč je u vlakna setInterval()
Ve škole jsme měli delphi a bud bylo vlakno co vykonalo svou funkcí a ukončilo se, nebo vlakno ktere běželo furt dokola.
Interval byl u timeru.A i kdybych to dal s tym theadem, nevím jak vyřešit to druhe zmačknutí po minutě
posjirka
Účastníkarduino to má trochu zvláště udělané. Vin můžeš použít jak pro napájení tak jako přemostění napájecího napětí.
Stejně tak můžeš obejít stabilizátor 5V a připojit 5V přímo na pin 5V a obejdeš stabilizátor. Jen bacha jakou verzi Arduina používáš, né všechny mají správně zapojené stabilizátory s ochranou diodou(zvlášt made in china)posjirka
Účastníkno podle tvého přísvěku z vedlejšího vlákna z toho taháš 0,7A.
Když si vezmeš do uvahy, že uvnitř arduina je to lineární stabilizátor na 5V tak máš výkonovou ztrátu 0,7Ax7V = 4,9W.
Podívej se jakou to má chladící plochu a vysvětlení je na světě.
Neoporučuje se zatěžovat více než 0,5A a to ještě krátkodobě.
Ten interní (v arduinu) stabilizátor je jen pomocný pro vlastní chod.
Pokud chceš něco víc, musíš jít externím stabilizátorem.
Já jsem na Dinduinu používal 2 stabilizátory na 5V 150mA.
Jeden pro chod atmegy a druhý pro externí aplikace.
Relé jsem spínal přímo napíjecí napětím, resp. vybíral jsem relé na 9V a spouštěl je 7V.
Ty cestičky na desce arduina taky můžou sublimovat 🙂posjirka
ÚčastníkSamozřejmě že to jde a jak na to?
No doplnit do kodu funkci cyklovače.
Co ti jiného mám napsat bez kodu ….k75v
ÚčastníkAha dobre už budem vedieť 😀 ale funguje to aj tak 😀
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…
-
AutorPříspěvky