jemiki8453
Vytvořené odpovědi
-
AutorPříspěvky
-
posjirka
Účastníkpro autonomní blikání )oscilátor) bych použil časovat timer1.
tady je tutorial použití včetně knihovny:
https://playground.arduino.cc/Code/Timer1hestli chceš jen nastavovat rychlost blikání tak bych použil místo otočného přepínače raděčji potenciometr. připojený na analogový vystup (v unu jich máš 6). Do pomocné proměnné třeba „oldPot“ by sis zavedl předchozí hodnotu potenciometru.
V každé smyčce loop() bys zkonstroloval jestli nové nastavení se liší od starého (analogRead(A0) != oldPot) a pokud ano tak si přenastav časovat Timer1.
Takže ve výsledku bys použil přepínač na volbu funkce (zvuk/automat) a potenciometr na nastavení rychlosti. U toho potenciometru jen pozor musíš to uědlat trochu hrubší krok, protože půspbí hodně prvků, které nastavení potenciometru ovlivňují (teplota okolí, stabilita referenčího napětí, odchylka LBA kroku, …).jpokorny12
ÚčastníkSuper diky s tím spínačem mě to nenapadlo. Diky
A jak bych vyřešil tu změnu rychlostí blikání. Kdybych měl tlačítka plus mínus a ty programy bych mel udělané přes delay , nebo to je blbost. Protože kdybych měl pomalou změnu barvy tak bych to tlačítko musel držet dlouho než by se ta rychlost změnila.dikyRob
ÚčastníkNo právě proto než jsem se do něčeho pustil, tak jsem se radši zeptal abych nenadělal víc škody jak užitku !
Moc děkuji za odpověď.posjirka
Účastníkten dotaz toho moc neřekne. Jaké používáš moduly pro komunikaci? Na jakou vzdálenost? kod programu by taky nebyl k zahození 🙂
Proč používáš Rs485? potřebuješ tahat kvanta dat nebo komunikuješ s jiným zařázením?
I2c je Arduinu blíž, i když má krátky dosah. Už před pár lety jsem měl myšlenku komunikovat pře one-Wire sběrnici. Jednoduchá, s dlouhým dosahem (i když né 1,2Km jak Rs485) a pro základní komunikaci je to bez problémů. Kolega řešil doma síť proopjení asi 3 arduin a nakonec to vyřešil pomocí SW seriových portů na 1 arduinu, které řídilo zbytek. Tochu těžkopádné, ale účelové.posjirka
Účastníkna tlačítka se vykašli. použij přepínač (on/off) pro přepínání zváslosti na hudbě/oscilátor a pak otočný přepínač (ideálně BCD) pro přepínání předvoleb. BCD znamená, že jednotlivé polohy jsou řešeny binárně takže má třeba 16 poloh ,ale jen 4 kontakty. Třeba teto:
https://www.gme.cz/p-kdr10proč to udělat takto? ve smyčce loop() si nejdřív zjistíš, v jakém stavu je přepínač ovládání (hudba/oscilátor) a případně v jaké stavuje přepínač voleb (otočný) a podle toho dál pokračuješ ve smyčce.
Tím máš zajištěno, že to tak bude i po vypnutí napájení, navíc nemusíš obsluhovat přerušení tlačítkem. Vše ostatní už je stejně shodne.posjirka
Účastníku 3d tiskárny bych se nebál napájení arduina, ale spíš ostatních komponekt (tisková hlava, motory,..) protože ty pojedou nejspíš přes limit svých možností (12V napájení). Arduino mby to mělo zvládnout, i když nevim jak máš napájené drivery motoru. Ve zkratce když tam bylo 12v/5A použij opět 12V a min. 5A. Tohle laborování kde ušetřit pár korun ta může stát celou tiskárnu.
cokoliw
ÚčastníkMyslíš to fotku kterou jsem vložil? https://newcdn-715537.c.cdn77.org/wp-content/uploads/unnamed.jpg
Já bych taky řek že je to jen pasivní čip, baterii to určitě nemá, to by musela být úplně miniaturní. Já se v tomhle zatím moc nevyznám, je možný že by ta klíčenka umělá přijmout energii na těch 125khz a na 433Mhz vyslat odpověď? Moc díky za odpověď!Edit.: Ok, moje chyba, to co mám na mysli já je doopravdy jen pasivní čip. A to co mi poslal výrobce, bylo zřejmě nedorozumění. Takže mám pořád pasivní čip, který běží buď na frekvenci 125khz a nejde mi přečíst nebo na jiné frekvenci, neznámo jaké.
BlindP
ÚčastníkNo na té fotce je jen pasivní čip – http://arduino8.webnode.cz/news/lekce-33-arduino-a-modul-ctecky-rfid/.
cokoliw
ÚčastníkNo díky za tip, ale osciloskop k dispozici zrovna nemám, i když proxmark vypadá jako celkem zajímavé řešení 🙂 Nicméně podařilo se mi kontaktovat výrobce. Čip prý funguje jako dálkový vysílač (433MHz) a bezkontaktní čip (EM 125kHz). Takže k arduinu budu muset připojit moduly dva. RDM6300 – pro vyvolání vysílače v čipu a XD-RF-5V pro přečtení výsledku z vysílače. Jestli se pletu, opravte mě, ale mezitím objednávám XD-RF-5V.
BlindP
ÚčastníkAhoj, stačí použít osciloskop
https://www.youtube.com/watch?v=KDePJKx8inw
nebo si postavit tohle http://www.proxmark.org/ a nebo se v práci zeptat. 😀KaJi
ÚčastníkFunguje, děkuji. 🙂
Tak nějak jsem už zapomněl že to může být v takových „volbách“.
posjirka
ÚčastníkSoubor – Vlastnosti – Velikost fontu editoru
DEfaultně je tam nastaveno 12.posjirka
Účastníkrozhodně se jedná o chybu bu´d v:
– nastavení rychlosti seriove linky
– nastavení serial monitoru (ukončovací znaky … NewLine, CR, …)
– knihovny SW seriové linky.Nejspáíš to bude to varinata 1 nebo 3. Dělá mi to taky u komunikace s GSM modulem a te´d jsem to na nějákou dobu odložil. mezitím jsem se dozvěděl, že SoftwareSerial není úplně ideální a je lepší použít její novější verzi/odnož.:
https://github.com/sirleech/NewSoftSerialzkus tuto knihovnu, nebo si sniž rychlost komunikaci na 9600 Bd (hlavně si to nastav na to LCD jinak je ti to prd platné. Otázka zní jestli to jde)
Jinak bys musel použít jinou desku (MEGA), která má 2 seriové linky (UART) přímo HW integrované v desce, takže nemuíš nic simulovat. Už hodně dlouho přemýšlím nad deskou METABOARD, která by měla být Arduino kmpatibilní (né 100%, protože má jiné zapojení ) a využívá V-USB pro programování a komunikaci, zatím co HW UART má volný pro jiné aplikace. Pro tebe by o bylo ideální řešení. Bohužel nemám vyzkoušeno 🙁
fundump
ÚčastníkNajlepsie je na tom to, ze je to uplne jednoduche co je super. No opat som mudrejsi 🙂
posjirka
Účastníktakže převod z Double na string 🙂 dtostr()
fundump
ÚčastníkChlapy neskutocne no nasiel som to. Tak ak by niekto riesil podobny problem pouzil som:
Povodne (nefunkcne):
memset(buffer, 0, sizeof(buffer));
itoa(sp_teplota, buffer, 10);
sp_temperature.setText(buffer);Nove (funkcne s desatinnou ciarkou):
memset(buffer, 0, sizeof(buffer));
dtostrf(sp_teplota,5, 2, buffer);
sp_temperature.setText(buffer);Velmi pekne dakujem
fundump
ÚčastníkVojtěch Vosáhlo Dakujem za moznost no pripada mi to zbytocne komplikovane. Tie displaye vyzeraju dost inteligentne na to aby sa to takto komplikovalo.
posjirka Mas pravdu tiez si myslim ze to bude mozno nieco jednoduche o com zatial neviem aj ked som stravil x hohin nad hladanim riesenia ci na youtube alebo forach no vsade bolo udavane v celych cislach ako keby to nikto neriesil, alebo sa to fakt neda. Je to cudne ked som nasiel zopar meteostanic a nebola teplota zobrazovana s desatinnou ciarkou.
Pytas sa ci to potrebujem float. No popravde je mi to jedno. Chcem to ako pises len zobrazit skutocnu teplotu na display a to mi staci jedna desatinka. Pouzivam DHT22 cidla.
String som neskusal, hlavne z toho dovodu ze vacsinou pracujem systemom ctrl+c, ctrl+v. Cize skor vyhladavam hotove funkcie, ktore si doladujem.
Chlapy dakujem za Vas cas, snad na nieco prideme spolocne
posjirka
Účastníkpárkrát jsem už uvažoval o použitá superkonenzátorů pro záložní napájení normálnímnapájení by se kondenzátor dobijel přes odpor a diodu z napájení. Pokud by napájení vypadlo, tak by se RTc modul udržoval při životě pomocí kondenzátoru.
posjirka
Účastníktakovej hloupej nápad pramenící z neznalosti problému : a potřebuješ to ve tvaru float? String by ti nefungoval? Předpokládám, že se jedná pouze o zobrazení a nikoliv výpočet něčeho.
posjirka
Účastníkjá jsem si dělal RTC modul (protože mi z ebaye 3x nepřišel) a taky používám DS1307.
Odběr jsem neměřil, ale te’d byl bez napájení přes 2 měsíce, a na tvůj dotaz jsem se rozhodl jej vyzkoušet. Funkguje a má odchylku 10 minut. za mě dobrý. napájení mám starší baterii CR2032 ze starého PC (takže před smrtí)posjirka
Účastníkmusím přiznat, že mě te´d nic nenapdá ….
Vojtěch Vosáhlo
ÚčastníkTo je tou konverzí, itoa prostě nezachová čárku. Pokud vám nevadí knihovny, zkuste třeba toto: https://playground.arduino.cc/Main/FloatToString
fundump
Účastníkhttp://support.iteadstudio.com/support/discussions/topics/1000068252
Tuto to tiez riesia no presne ako on pise tiez mi to vyhodi tuto chybu:
‚ftoa‘ was not declared in this scope.A teplotu napr. cez serial monitor zobrazi napr 22,38 ale na Nextion display zobrazi iba 22
Vojtěch Vosáhlo
ÚčastníkEdit: Sorry za sprintf, to neni ono 😉 ty posledni řádky ignoruj
Vojtěch Vosáhlo
ÚčastníkUrčitě by měl být použit ftoa() vzhledem k tomu že u int nemůžete nikam naprat desetinou čárku (aspoň co já vim). Co to vypíše? Např. teplota je 20.38C
Zobrazí to jen 20C nebo 2038C nebo vubec nic?Mimo toto můžete zkusit itoa/ftoa nahradit sprintf. Tady je doku. https://www.tutorialspoint.com/c_standard_library/c_function_sprintf.htm
Je tam mnoho dostupných formátů tak jich pár zkuste.
fidos
Účastníkna recieveru taky porad stejny, při první prijmuti signalu je na pinu 13 porad napeti cca. 5V
fidos
Účastníkzmeneno a porad stejny, tak nevim. Jinak sem meril napeti na pinu pro ir ledku a bylo tam jenom asi 0,05V při sepnuti, není to nejak malo?
fundump
ÚčastníkDobry den prajem.
Ja som zacal pouzivat tieto Nextion displaye, objednavam ich od vyrobcu a cenovo su rovnako na tom ako z ciny (ebay …)
Vela veci este neviem ale kazdopadne mi to bezi na seriovej komunikacii o rychlosti 115200.
Ked som skusal pomalsiu rychlost, tak mi to nefungovalo spravne. Tak neviem ci som aspon trochu poradil.
S pozdravom fundump
posjirka
Účastníkds18b20 se dá pořídit i ve vodě odolném provedení, stejně jako většina jiných čidel. LM35 je sice analog a rád používám DS18b20 ale okolo 0st.C je takový podivný jev/vlastnost. Ono do 127 st.c pocítá lineárně nahoru, pak skočí na -55st.C a počítá dál do 0st.C. Navíc s přibývající vzdáleností musíš upravit pull-up odpor, jinak není čidlo spolehlivé (nad cca 10-20m místo 4k7 použít 2k9 atd…) asi bych se přiklálně k LM35 i za cenu analog. rušení.
posjirka
ÚčastníkMnohem jednodušší by bylo použití 3-bodového provedení:
http://marcomplet.cz/docs/Belimo/belimo_cm24-L_R.pdf
Stačí relé/tranzistory řízené arduinem pro spínání 24V.
Zpětná vazba by mohla být opět pomocí potenciometru na hřídeli servopohonu.
úhel sepnutí se řeší pomcí doby sepnutí příslušné cívky. pokud chceš otočit servopohon o 90st. sepneš cívku na 75s. Doraz je řešen automaticky, takže servopohon by se neměl nikdy protočit. Navíc pro regulaci je mnohem vhodnější přidat/ubrat, než vypočtávát novou hodnotu PWM napětí. -
AutorPříspěvky