christinesharkey
Vytvořené odpovědi
-
AutorPříspěvky
-
miklik
ÚčastníkTak jsem tu matici nakonec zapojil naopak a hodnoty jsou hnedka zase trochu lepší.
Tady mám simulaci v tabulkovém kalkulátoru.
https://docs.google.com/spreadsheets/d/1zSmYPKfGdTV1SkC3hOYC7CyT-l_GE9_1C-H84avxWoU/edit?usp=sharingmiklik
ÚčastníkJenomže já mám matici 4×5 a na tom posledním řádku jsou hodnoty blíže.
Ještě můžu zkusi matici zapojit opačně jako 5×4.
vnouzirozbijsklo
ÚčastníkMě to funguje více než přes rok spolehlivě. Ještě si můžeš smazat definici JAS, která není nikde v programu použitá, deklaroval jsem ji na začátku, když jsem ještě nevěděl, jak vyřešit rozsvícení, když by vypadnul proud.
Jinak z vlastní zkušenostu určitě použij led pásky bez krycího silikonu, ten se za pár mesíců spálí. Ale musíš mít nad akva sklo. Já jsem to zrovna před týdnem doplnil o COB led čipy, a zrovna se chystám vyrobit nový tišták na stmívání se stálým proudem.
S displayem zkušenosti nemám, te si mi zdá jako vyšší liga:D
jen mě napadlo, jestli to nemůže být tím, žě když beží zrovna cyklus FOR (a to je na pěkně dlouho při kroku á 5000 ms), všechno ostatní stojí?letakp
ÚčastníkAhoj. Tak po delší době jsem si pořídil displej s I2C sběrnicí a na vyzkoušení jsem použil program pro ovládání LCD displeje jen pro ověření činnosti. A nyní k mému dotazu.
Jakým způsobem by šlo dát oba tyto kódy dohromady aby mi fungovalo stmívání a rozsvěcení LED pásku a zároveň mohl mít zobrazeno na displeji datum, čas, teplotu z čidla (teplota vody akvaria) případně ještě znak pro svícení nebo nesvícení?Už jsem zkoušel dát kódy dohromady, ale buďto nešel displej a nebo mi to nešlo ani načíst v programu 🙁
Děkuji za každé popostrčení.
Havri
ÚčastníkA tohle je průběh po zapojení počítačového zdroje.
Červená : Signál do serva
Žlutá : NapájeníAttachments:
Havri
ÚčastníkTohle je Průběh napájení a signálů před zapojením počítačového zdroje.
Červená : signál do serva
Žlutá : NapájeníAttachments:
posjirka
Účastníkřekl bych, že chyba je v toleranci použitých odporů.
Když jsem si zkusil vypočítat jak by to mělo vypadat při 100% přesných odporech tak jsou tam vcelku dostatečné odstupy. Při toleranci 1% by to neměl být problém i když tolerance adc převodníku je 1 lba. v těch nejnižších klávesach je odstup 4 kroky takže 3 +/-1. na to se da navázat. Jen jepotřeba krátký vodič, ideálně stíněný a stabilní napětí zdroje. Případně můžeš použít převodník pro I2c. Přepokládám, že tam máš zapoejný min. RTC modul …Attachments:
11.7.2016 v 23:26 odpověď na: Jak po stisku tlačítka zapsat a odentrovat hodnotu do serial boxu. #7689posjirka
Účastníkdej sem prosím celý kod a hlavně ZAPOJENÍ. Připadá mi, že :
– buď používáš víc než 1 Arduino na 1 seriové lince (to by teoreticky ani nemělo jít)
– nebo se snažíš poslat si příkaz sám sobě uvnitř arduina.Předpokládejme, že je to ten druhý případ. V tu chvíli bych oddělil vykonání příkazu od čtení seriové linky. Vy tvoř funkci “ void provedAkci(int pocet) “ … a tu zavolej z funkce “ process_line() “ s počtem opakování.
Druhý přístup uděláš po stisku tlačítka = zavoláš tu samou funkcis tím samým počtem akci.
Pro to několikanásobné „stiknutí talčítka“ stačí použít podmínku aby po stisku reagoval na další stisk třeba až po 0,5s (pomocí funkce millis() si zjistíš aktuální strojový čas a po stisku s ho zapíšeš do proměnné. Tu pak porovnáš s aktuálním millis() a pokud bude rozdíl větší než třeba 500 tak reaguj znovu.Zkus si ten tvuj prvotní dotaz přečíst třeba po měsící. Myslím že ani ty sám sebe nepochopíš. Prostě člověk v 1 chvíli má myšlenku a zdá se mu, že na světě jen přeci jen ta jedna jediná varianta a nic jiného, tak proč se zdržovat nějákým složitým popisem. To nění kritika. každý z nás takto začínal a po čase pochopil, že je to prostě jinak a je třeba dávat ÚPLNÉ a CELISTVÉ informace. Jinak se mezi ssebou lidi zbytečně štěkají a k řešní to nepřispěje.
miklik
ÚčastníkTak lepší hodnoty mi vrací, když jsem místo odporu 1k proti zemi dal 13,5k (27/2) a místo posledního 1k odporu jsem dal 2k. Na posledních dvou sloupcích je vždy rozdíl napětí nejmenší.
Teď buď budu muset přiohnout knihovnu OneWireKeyPad nebo si napsat svůj kód.
11.7.2016 v 12:02 odpověď na: Jak po stisku tlačítka zapsat a odentrovat hodnotu do serial boxu. #7598feropero
ÚčastníkNikdo mě nechápe
potřebuji zadat hodnotu X100 třemi způsoby
1. z processing
2. ručně z řádku serial box
3. fyzickým tlačítkem buttonem na pinuStav je že
loop jede ve smyčce čeká na hodnotu Serial.read() X100 která přijde z processingu nebo zadaná ručně z serial box ( řádek a odeslaná tlačítkem pošli(send)potud mě to funguje kdy se z procesingu nebo z ručního zadání X100 provede se provede akce 100x
ale pokud chci na zadání použít fyzické tlačítko button
a dám navrhované
if (digitalRead(11) == LOW){
Serial.println(„X100“);
tak se X100 jen zobrazí ve výpisu text v počítači na serial
navic se zobrazí v serial okně několikrát výpis X100
ale to je pravděpodobně tlačítkové bounce to budu řešit pozdějiPři fungujícím zadání z processingu nebo z okna boxu se X100 v serial okně nezobrazuje a ani to není potřeba
protože mě nejde o zobrazování ale o akci udělat 100x akci.posjirka
ÚčastníkPředpokládám, že se jedná o servopohony průmyslového charakteru a ty jdou ovládat i jinými způsobem. Např. 3 bod pohon vlatně jen spíná napájení na civky „+“ a „-„. má doraz takže se dá natvrdo překlopit na jednu stranu. Regulace je pak řešena tak, že přidáváš/ubíráš otevření/zavření ventilu. Polohu snímáš bu´d ponteicometrem na hřídeli pohonu, nebo se dá udělat, to, že např.1x za den/týden se nechá ventil úplně uzavřít (nechaš ho třeba 2 minuty jet na 1 stranu). Pak u každého pohonu máš jak dlouho mu trvá přejet z 0 na max. Stačí jen měřit čas jak dlouho spínáš tu a tu cívkua určíš si orientační polohu…
překlad 0-5V na 0-10V samozřejmě jde, je to jakš/takš lineární ale je to to co opravdu chceš?Nacelnik
ÚčastníkZkus více rozepsat “ neni to dle mych predstav.“
miklik
ÚčastníkTak jsem opsal řešení od Petra Stehlíka https://github.com/joysfera/arduino-water-temp-receiver a nadefinoval vše v class jako static.
Tady je první funkční výsledek – https://github.com/miklik72/SensorT25.Radar_1967
ÚčastníkDíky moc!!!
DunoCZ
ÚčastníkMoc díky☺
Odesláno z mého Z520 pomocí Tapatalk
BlindP
ÚčastníkAhoj, tady najdeš odpověď.
http://www.instructables.com/id/Play-Music-on-Arduino-and-TFT-Touch-Screen/
BPBlindP
ÚčastníkAhoj, české znaky si budeš muset „nakreslit“ pomocí jedniček a nul.
B01010000, //č B00100000, B01110000, B10001000, B10000000, B10001000, B01110000, 6,
http://tronixstuff.com/2013/10/11/tutorial-arduino-max7219-led-display-driver-ic/ BP
9.7.2016 v 0:15 odpověď na: Jak po stisku tlačítka zapsat a odentrovat hodnotu do serial boxu. #7581BlindP
ÚčastníkTaky to nechápu, Serial.print(„X100“) odešle DO PC X100. Pro odeslání Z PC do arduina použij ten serial monitor.
Nepotřebuješ spíš tohle?if (digitalRead(11) == LOW){ pocetPulsu = 100; }
BP
8.7.2016 v 22:49 odpověď na: Jak po stisku tlačítka zapsat a odentrovat hodnotu do serial boxu. #7579feropero
Účastníkmám toto
void process_line() {
char cmd = Serial.read();
case ‚X‘: pocetPulsu =Serial.parseInt();po zadání např X200 a enter do serial boxu jedu a funguji
ale pokud chci na zadání použít tlačítko
a dám navrhované
if (digitalRead(11) == LOW){
Serial.println(„X100“);
}
nebo
Serial.print(„X“);Serial.println(„100“);//coz by melo byt stejné
nebo
Serial.print(„X“);Serial.print(„100“);Serial.print(‚\r‘);Serial.print(‚\n‘);nic se neděje jen se to vypíše do serial okna
ArduXPP
ÚčastníkAno už jsem se jednou ptal, šlo o rx a tx , nešlo o analog pin a4 a a5 u UNO .
Zbyšek Voda
ÚčastníkUž jsem to jednou k vašemu příspěvku psal Aleši, ale napíšu to znovu.
Logické úrovně 5V a 3.3V (a další) není dobré míchat dohromady. Některé piny mohou být tolerantní, ale může se také stát, že najednou zapojení přestane fungovat, protože to daný pin už prostě nevydrží a dá docela práci odhalit, že nějaký pin odešel.
Takže ano, zapojení většinou funguje, ale není to dobrá praktika…7.7.2016 v 22:09 odpověď na: Jak po stisku tlačítka zapsat a odentrovat hodnotu do serial boxu. #7575Zbyšek Voda
ÚčastníkDobrý den,
moc nerozumím vašemu popisu.
Jestli chcete odeslat „X100“, za kterým následuje nový řádek, tak stačí napsat:
Serial.println("X100");
Když to dáte dohromady s tím tlačítkem, v nejjednodušším případě vypadá kód takto:if (digitalRead(11) == LOW){ Serial.println("X100"); }
Aleš
ÚčastníkNapřímo. Alespoň já to tak zapojuju, a přes rok to běží bez problému 🙂
Zbyšek Voda
ÚčastníkDobrý den, tento problém je trochu zapeklitý.
Hlavní příčinou problému je to, že funkce, kterou připojujete pomocí
attachInterrupt()
nesmí mít žádný parametr. Vaše funkcevoid mmT25::_irqHandler();
sice viditelně žádný parametr nemá, ale jelikož je metodou objektu, je jí automaticky předávám parametr, který je instancí objektu, ke kterému náleží.Odtud pochází také error, který při kompilaci váš kód hlásí:
cannot convert ‚mmT25::_irqHandler‘ from type ‚void (mmT25::)()‘ to type ‚void (*)()‘
neboli nemůžu překonvertovat funkci, která má jeden parametr – instanci objektu mmT25 – na funkci, která nemá žádný parametr.Přiznám se, že neznám řešení vašeho problému, ale na tomto fóru: https://forum.arduino.cc/index.php?topic=41713.0 problém řeší a zjevně i úspěšně 🙂
Vojtěch Vosáhlo
ÚčastníkAhoj,
pokud vím tak by to mělo být přes arduino možné ale musíš mít esp v programing modu. To se dělá tak že dáš reset a GPIO0 na zem a poté odpojíš reset a po chvíli GPIO0 (nejsem si 100% jistý že můžeš piny jen odpojit, bylo by lepší dát je přes pullup na 3.3V) to by mělo fungovat. Pokud si na tom dobře s AJ tak jsem našel článek, http://whatimade.today/esp8266-easiest-way-to-program-so-far/ , který to výborně popisuje, je tam i obvod který můžeš dát dohromady abys to měl jednodušší.
Hodně štěstí.Nacelnik
ÚčastníkAhoj, je tam delay 750 ms mezi jednotlivými měření.
S ěma statusama mi to přijde jako dobrý nápad.
Pak tedy vyhodnocení bude takové:if ((A&&B&&C) = 1)
?vladik
Účastníkpotřeboval bych vyřešit podobný problém, sledovat 4 teploty termočlánek K + otáčky a zaznamenávat. Hledám někoho kdo mi to vyrobí. napište mi hejna@ausys.cz. Díky.
posjirka
Účastníkněják tam nevidím to zpoždění 750ms mezi měřením …
ověřil sis hodnotu „hyst“-ereze jak se ti v daném čas mění,
Zkusil bych rozdělit program na měření, vyhodnocení s podmíněnou reakcí.
Abych to upřesnil:
měření máš vyřešené, ale v podstatě ti přímo ovlivňuje výsledek (sepnutí relé).
Já bych to vzal formou statusu. Použij proměnou stav a když bude měření vycházet na sepnutí dej mu honotu 1, jinak 0
Vyhodnocení – tady si teprve řekni zda ty statusy jsou v kombinaci vhodné pro pokračování sepnutí rele nebo ne. Navíc bych to řešil formou podmínky, že např, relé musí být sepnuté po min.3 cykly smyčky loop. Zave´d si proměnnou „pocitadlo“ a když je požadavek na sepnutí dej mu hodnotu např.“3″.
Když je požadavek na vypnutí sniž hodnotu o „-1“
Když je „pocitadlo = 0“ vypni rele jinak rele zapni.Mám správný směr myšlenek s tím co potřebuješ nebo jsem to špatně pochopil?
Zbyšek Voda
ÚčastníkTo vytvoření pole přes
Bounce bouncer[5];
jsem také zkoušel, ale nějak to kompilátor nebral. Přitom by to takto mělo C++ podporovat.
Proto jsem šel tou cestou přes malloc().BorgMcz
ÚčastníkNo zkoušel jsem co se dalo, ale výsledek mám stále s nějakou chybou.
Nemohl bych to poslat s mailem, kde bych vyznačil problémová místa.
můj mail mm.svet(za.vi.nac)centrum.czopravdu díky za pomoc
-
AutorPříspěvky