dehtak
Vytvořené odpovědi
-
AutorPříspěvky
-
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í.krcmar.tomas@gmail.com
Účastníkdiky moc,
vyrabim automatickou regulaci horeni v krbu, take bu bude krasne teplo a nebo velky ohnostroj 🙂
ja jsem SW ale HW levy, tak zkusim na netu pohledat ten pomocny regulovatelu zdroj
diky !!
Aleš
ÚčastníkJednoduše. Do Y pouštíš 0-10V, a klapka se otevírá od 0 do 100%. Takže když do Y pustíš 3V, otevře se klapka na 30%. Zpětné hlášení polohy funguje tak, že podle otevření klapky je na tom výstupu napětí 2-10V podle úhlu otevření klapky. Připojení k Arduinu bude trochu složitější. Budeš muset vyrobit pomocný regulovatelný zdroj 0-10V ovládaný PWM z Arduina.
K čemu to má sloužit?posjirka
Účastník1. používej prosím funkci CODE (tlačítko nad textovým oknem odpovědi) jinak je ten kod špatně čitelný.
2. já bych o trochu pozměnil kod pro reciever:#include <multiCameraIrControl.h> #include <VirtualWire.h> Canon D5(11); void setup() { vw_set_ptt_inverted(true);vw_set_rx_pin(12); vw_setup(2000);vw_rx_start();unsigned int data = 0; pinMode(13, OUTPUT); pinMode(11, OUTPUT); } void loop(){ uint8_t buf[VW_MAX_MESSAGE_LEN];uint8_t buflen = VW_MAX_MESSAGE_LEN; if (vw_get_message(buf, &buflen)){ if(buf[0]==’1′){ digitalWrite(13,1); D5.shutterNow(); } else { // změna // if(buf[0]==’0′){ // zmena digitalWrite(13,0); } } }
no a transmiter taky není moc dotáhnutý k dokonalosti:
#include <VirtualWire.h> #define PIN_MOTION 2 #define PIN_LIGHT 13 #define PIN_TX 12 char *message; void setup() { pinMode(PIN_LIGHT, OUTPUT); pinMode(PIN_MOTION, INPUT); digitalWrite(PIN_LIGHT, LOW); vw_set_ptt_inverted(true); vw_set_tx_pin(PIN_TX); vw_setup(2000); delay(1000); } void loop(){ byte input = digitalRead(PIN_MOTION); if (input == HIGH){ digitalWrite(PIN_LIGHT, HIGH); message = „1“ ; vw_send((uint8_t *)message, strlen(message)); vw_wait_tx(); delay(10); } else { digitalWrite(PIN_LIGHT, LOW); message = „0“ ; // zmena } }
fidos
Účastníkkod pro transmitter :
#include <VirtualWire.h>
#define PIN_MOTION 2
#define PIN_LIGHT 13
#define PIN_TX 12char *message;
void setup() {
pinMode(PIN_LIGHT, OUTPUT);
pinMode(PIN_MOTION, INPUT);digitalWrite(PIN_LIGHT, LOW);
vw_set_ptt_inverted(true);
vw_set_tx_pin(PIN_TX);
vw_setup(2000);delay(1000);
}void loop(){
byte input = digitalRead(PIN_MOTION);if (input == HIGH){
digitalWrite(PIN_LIGHT, HIGH);message = „1“ ;
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx();
delay(10);
}
else{
digitalWrite(PIN_LIGHT, LOW);
}
}kod pro reciever :
/*———————————————————————————-
Motion Activated DSLR Shutter Remote
Receiver Sketch (433mHz Serial RX)
Written By: Angelo Casimiro (ASCAS/ TechBuilder)
Date Written: October 18, 2014Pin Configuration:
– Digital#12 of Arduino to Data Out of RX module
– Digital#11 of Arduino to IR LED
———————————————————————————-*/
#include <multiCameraIrControl.h>
#include <VirtualWire.h>Canon D5(11);
void setup()
{
vw_set_ptt_inverted(true);vw_set_rx_pin(12);
vw_setup(2000);vw_rx_start();unsigned int data = 0;
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);
}
void loop(){uint8_t buf[VW_MAX_MESSAGE_LEN];uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)){
if(buf[0]==’1′){
digitalWrite(13,1);
D5.shutterNow();
}
if(buf[0]==’0′){
digitalWrite(13,0);
}
}
}Awrel
ÚčastníkAsi jo, DS18B20 má lepší rozsah měřených hodnot. 🙂
Sloučit je nemůžu, protože pak by bez cirkulace zamrzaly rozvody vody a je to i chovatelsky nepraktické.
Díky za reakci a link na vysvětlení klonů.
BlindP
ÚčastníkAhoj, pt100 moc není vhodný pro tuto aplikaci, spíš tak měřit teplotu v troubě. 😀
Nešlo by ty napaječky nějak sloučit do jedné a mít jen centrální nádrž? Jako čidlo třeba lm35 by stačilo.Uno stačit bude, stačit bude i pro mini.BP
https://bastlirna.hwkitchen.cz/forum/tema/klon-ano-ne/posjirka
Účastníknikdo tě nevyhazuje, Jeslti cítíš, že to pro tebe není, je dobré si to přiznat. Na druhou stranu stačí projít pár základů a pochopit jednotlivé kroky. Nejsou to jen texty aby dobře vypadaly. Každý příkaz má nějáký svůj význam a funkci. Mrkni ještě na toto :
http://www.hobbyrobot.cz/wp-content/uploads/ArduinoPriruckaProgramatora.pdf
hobbyrobot tam odvedl velmi dobrou práci s jednoduchým popisem jednotlivých částí a fuknci Arduina.Jerry
ÚčastníkOmlouvám se všem které jsem otravoval ardo znám asi 20 dní nejsem typ na programování, ale snažil jsem se. Pokud jde tohle vlákno nějak smazat budu rád. Díky už otravovat nebudu.
posjirka
Účastníkchlape, chybí ti základy. opravdu je nutné si nejdřív něco nastudovat a pak začít experimenovat. kdybyte led[] = {2,3,4,5,6,7,8,9,10,11}; //piny s LED diodamioužil ten můj kod a upravil :
byte led[] = {2,3,4,5,6,7,8,9,10,11}; //piny s LED diodami
na třeba
byte led[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; //piny s LED diodami
tak je to hotové. opravdu ale je třeba vyzkoušet examply a tutoriály než začneš vymýšlet svoje řešení, bez hlubšího pochopení souvislosti to prostě nejde.Jerry
ÚčastníkJá ale teď potřebuji zkombinovat D a A výstupy
Petr99
ÚčastníkDíky, funguje 🙂
BlindP
ÚčastníkSmyčka for – https://www.arduino.cc/en/Reference/For
Kompletní kód – https://www.arduino.cc/en/Tutorial/KnightRider
Jirka už Ti přece ten kód tady napsal.
BPBlindP
ÚčastníkAhoj, serial.read přečte jeden byte. Zkus to takhle:
while(Serial.available() > 0) { hodiny = Serial.parseInt(); minuty = Serial.parseInt(); sekundy = Serial.parseInt(); if(Serial.read() == '\n') { break; } }
Čas potom nastavíš posláním 22:23:24.
https://www.arduino.cc/en/Reference/ParseInt
BPJerry
ÚčastníkJinak díky za podporu a gratulaci že jsem konečně něco udělal dobře.. zítra to bude cca 20 dní co jsem poprvé viděl ardo.
Jerry
ÚčastníkProsím nakopnout víc 🙁 Tady se nějak ztrácím to už jsem zkoušel ale nevím jak definovat OUTPUT ve void setup … myslím pole
-
AutorPříspěvky