HadrDisk
Vytvořené odpovědi
-
AutorPříspěvky
-
Pulec
ÚčastníkZde je kód.Opět jsem si sním pohrál a kostrbatě počeštil už nevypisuje chybu.Byl by někdo tak hodný a přidal mi tam i s okomentováním další funkční tlačítko čily 19°C které by po stisknutí vypsalo „topim na 19*C“ a poslalo do diody signál.Klidně použijte kod pro off nebo nějaký jiny nebo tam napište „sem to dej ty blbe levej“já si to už přepíšu.Moc děkuju za pomoc
Attachments:
Vojtěch Vosáhlo
ÚčastníkNepoužíval jste náhodou v poslední době s arduinem processing nebo jiný ser. monitor než ten od arduina?
Vojtěch Vosáhlo
ÚčastníkSorry za menší odmlčení.
1 věc, TEPLOTA je hen obrazná, musíte místo ní deklarovat proměnnou ve které budou ir kódy pro jednu z teplot, jako u coolon atd.
2 jak to píše očekává to závorku takže ta někde chybí, nejspíš právě uplně na konci ale musel bych vidět kód kam už jste vložil teplotu.
O knihovnách už tu napsal Nasranek
Nasranek
ÚčastníkNepoužitou knihovnu smaž s disku, někdy to dělá bordel při kompilaci.
Nejlepší je všechny knihovny přidávat do dokumety/arduino/library a nikam jinam
pokud možno tak přes program ne ručně.dvoraku
ÚčastníkDíky za bleskovou odpověď,bohužel problém přetrvává i když jsem to zkoušel …
Vojtěch Vosáhlo
ÚčastníkJak to píše je obsazený com port. Neinstaloval jste v nedávné době něco co ba s porty pracovalo? Zkoušel jste IDE spustit jako admin?
Zbyšek Voda
ÚčastníkJestli se nepletu, tak se toto u Leonarda občas stane.
Zkuste do něj nahrát nějaký jednoduchý kód, třeba jenomvoid setup(){} void loop(){}
a to tak, že před stisknutím „Upload“ v IDE zmáčkněte na desce tlačítko Reset, až poté dejte Upload v IDE. Jakmile se dole ve stavovém řádku IDE objeví Uploading, tak tlačítko reset pusťte.
Pulec
ÚčastníkTak zase se nedaří hlásí to toto
klima_poku2:109: error: ‚TEPLOTA‘ was not declared in this scope
irsend.sendRaw(TEPLOTA, sizeof(TEPLOTA) sizeof(int), khz);
^
klima_poku2:175: error: expected ‚}‘ at end of input
} // fine loop
^
Byly nalezené násobné knihovny „DHT.h“
Použitý: C:\Users\Mpuhlovsky\Documents\Arduino\libraries\DHT
Nepoužitý: C:\Users\Mpuhlovsky\Documents\Arduino\libraries\DHT_sensor_library
exit status 1
‚TEPLOTA‘ was not declared in this scopeVojtěch Vosáhlo
ÚčastníkPlně souhlasím, uno mám sice originální ale z číny mám několikrát Nano a funguje excelentně. Dokonce jsem nedávno kupoval i Atmega88 procesory což je trošku risk. Naštěstí fungují a 5€ za 10ks je krásná cena… 😀
alexejzenaty
Účastníktak nevím co se týče ebay, já nakupují ze zásady z aliexpessu.. mám několik kusu z činy, a až na převodnik jsou OK, bez poruch a problému, jediné co se může stát, horší provedení pájení, což pro mne není problém. Jinák jsou plně kompatibilní, při programování není žádný problém. Pro mne je jednoznáčně výplatil, jak atmega, tak uno a několik šealddu, lcd a jiné, ramps a tak… drivery taky ok. je to spíše otázka náhody, že příjde špatný kus, jednání s obchodnikama je fajnové, nejsou tak povýšené, jako jinde,a záruku uznávají, tam je spíše otázka dohody.
Vojtěch Vosáhlo
Účastníkmáte v kódu navíc toto </
irsend.sendRaw(TEPLOTA, sizeof(TEPLOTA)</ sizeof(int), khz);
bez toho by to mělo fungovat. Omlouvám se, napsal jsem to nahoře chybně…
SvPatrick
ÚčastníkKoukám, že ten zdroják se neuložil, zkusím ho nahrát jako TXT soubor a ještě jedn graf z měření.
PatrikAttachments:
Luke_CZ
ÚčastníkA, píšeš cosi o přerušení som to napojil na pin prerusenie napriklad D2 + na GND , ale nikde v loop nepřerušuješ běh programu. Pokud dáš, jako ve tvém skeči, vše do loop, tak arduino zpracovává tuto smyčku a nic jiného ho nezajímá.
B, tvůj skeč v loopu hlídá změnu na D2 a přičítá pulsy do proměnné REEDCOUNT, žádná jiná čidla, jak zmiňuješ ked chcem pridat dalsie cidla tak uz to nereaguje tam nevidím…
posjirka
Účastníksuper …
Pulec
ÚčastníkTak tlačítka jsem přidal ale dál se mi nedaří 🙁
Když přidám else if (readString.indexOf(„L=X“) > 0) {irsend.sendRaw(TEPLOTA, sizeof(TEPLOTA)</ sizeof(int), khz);
}
Hazí to chybu.
C:\Users\MPUHLO~1\AppData\Local\Temp\untitled1276640573.tmp\sketch_nov07e\sketch_nov07e.ino: In function ‚void loop()‘:sketch_nov07e:103: error: expected primary-expression before ‚/‘ token
irsend.sendRaw(18, sizeof(18)</ sizeof(int), khz);/
^
sketch_nov07e:103: error: expected primary-expression before ‚/‘ token
irsend.sendRaw(18, sizeof(18)</ sizeof(int), khz);/
^
sketch_nov07e:106: error: expected primary-expression before ‚}‘ token
}
^
Byly nalezené násobné knihovny „DHT.h“
Použitý: C:\Users\Mpuhlovsky\Documents\Arduino\libraries\DHT
Nepoužitý: C:\Users\Mpuhlovsky\Documents\Arduino\libraries\DHT_sensor_library
exit status 1
expected primary-expression before ‚/‘ tokenNezkusil by jste prosím alespoň jedno tlačítko oživit?Jdou mi jen ty první tři.
Attachments:
johnyhol
ÚčastníkTo jsem právě počítal a proto to nemůžu pořád pochopit. Takže 8s+1s=9s a watchdog má maximum 8s. Nicméně jsem to zkusil podle tvojí rady (rozdělit to) a Heureka! funguje to!
Tady je tedy výsledná změněná část kódu:digitalWrite(davkovaniPelet, LOW); //davkuj pelety delay(4000); //pockej 4s wdt_reset(); // resetuj watchdog delay(4000); //pockej 4s wdt_reset(); // resetuj watchdog digitalWrite(davkovaniPelet, HIGH); //vypni davkovani delay(5000); //pockej 5s wdt_reset(); // resetuj watchdog delay(5000); //pockej 5s wdt_reset(); // resetuj watchdog
posjirka
Účastníkjohny, johny …. já tě chápu ale obávám se že je to pouze 1smerná komunikace. Nevím jak jinak ti to vysvětlit. Spočítal sis kolik je 8s + 1s ?
Vojtěch Vosáhlo
ÚčastníkVy komentujete španělsky? 😀 Samozřejmě jen vtip…
Prakticky by vám mělo stačit přidávat jen else if
else if (readString.indexOf("L=X") > 0) { irsend.sendRaw(TEPLOTA, sizeof(TEPLOTA)</ sizeof(int), khz); }
a pak jen do tohoto oddílu
client.print("<h2> <a href='/?L=0'> OFF </a>| <a href='/?L=1'> Teplota mene </a> | <a href='/?L=2'> Teplota vice </a></h2>");
přidávat html kód viz.
<h2> <a href='/?L=X'> TEPLOTA </a>
Aspoň tak bych to chápal já…
Vojtěch Vosáhlo
ÚčastníkNo tak to vás tu motám furt dokola 😀 asi je test nejlepší odpověď…
Pulec
ÚčastníkTady v příloze mnou pokřivený kód který umí pouze dvě teploty a vypnout.Potřebuji alespoň 5 teplot a on/OFF.
Attachments:
Diego
ÚčastníkDíky za rady. O závislosti na velikosti RAM vim. Šlo mi o to jestli to bude arduino stíhat.
Asi to prostě zkusim a uvidim 🙂Pulec
ÚčastníkTakto mi to už zhruba funguje ale pouze na třech funkčních tlačítkach
Attachments:
Pulec
ÚčastníkKlimatizace je nějaká čína Nordline.Ale kódy mě zas až tak netrápí nacpu tam ty dlouhé a s těmi to funguje.Byl by někdo ochoten upravit program z těchto stránek ?
tady
Potřebuji abych tam měl třeba 6 tlačítek a po jejich stisku na stránkách klimatizace bych změnil teplotu.Kódy a popis přiřadit umím.Jen nevím jak napsat ten program jednotlivých tlačítek.
Arduino bude napájeno ze sítě sólo.Poběží pořád v topné sezoně.Kaniiisek
ÚčastníkVypíše mi to pouze – „DS18B20 adress:“ a dál se nic neděje. Zapojení je určitě správně.
Vojtěch Vosáhlo
ÚčastníkA zapojení je správné? Co to přesně dělá?
Kaniiisek
ÚčastníkAno zkoušel, zatím mám tohle:
#include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal.h> // Data wire is plugged into port 2 on the Arduino #define ONE_WIRE_BUS 8 OneWire ds(8); // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS); // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); void setup(void) { // set up the LCD's number of rows and columns: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("DS18B20 adress:"); // Start up the library sensors.begin(); } void getDeviceAddress(void) { byte i; byte addr[8]; while(ds.search(addr)) { lcd.setCursor(0, 1); for( i = 0; i < 8; i++) { lcd.print("0x"); if (addr[i] < 16) { lcd.print('0'); } // print each byte in the address array in hex format lcd.print(addr[i], HEX); if (i < 7) { lcd.print(", "); } } // a check to make sure that what we read is correct. if ( OneWire::crc8( addr, 7) != addr[7]) { lcd.print("CRC is not valid!\n"); return; } } ds.reset_search(); return; } void loop(void) { } /* // call sensors.requestTemperatures() to issue a global temperature // request to all devices on the bus sensors.requestTemperatures(); // Send the command to get temperatures // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); lcd.print(sensors.getTempFByIndex(0)); lcd.print((char)223); lcd.print("F "); lcd.print(sensors.getTempCByIndex(0)); lcd.print((char)223); lcd.print("C"); delay(500); } */
Vojtěch Vosáhlo
ÚčastníkDobrý den,
zkoušel jste již na lcd vypisovat zvlášť, jen třeba hello word? Pokud ne doporučuji si pročíst třeba toto:
https://www.arduino.cc/en/Tutorial/HelloWorldHodně štěstí
Vojtěch Vosáhlo
ÚčastníkOpět jedna z citací která by mohla otázku zodpovědět.
_RESOLUTION_HORIZONTAL must be set to a multiple of 8. _
(_RESOLUTION_HORIZONTAL/8)*_RESOLUTION_VERTICAL must be smaller than the amount of SRAM the Arduino has, It also must leave some memory for the user applications and the library to run.Takže podle téro rovničky se dá přibližně propočítat zda to arduino zvládne. Nevím jestli je to prakticky pravda, tvout jsem nikdy nezkoušel.
Mimo toto je tam informace že kdyby bylo rozlišení moc velké a SRAM málo, funkce begin() vrátí chybový kód 4.
Diego
ÚčastníkTo si právě myslim že na typu tolik nezáleží, v základu jedou snad všechny na 16MHz takže rychlost bude u všech stejná. Jasný je že záleží na RAMce, ale když použiju MCU s 16kB RAM tak de o to jestli to vůbec stihne vykreslit 😉
johnyhol
ÚčastníkPořád nevím jestli jsme se dobře pochopili, dávkování funguje (tam potřebuju těch 8s), ale pauza (vypni dávkování) nefunguje. Tam bych potřeboval nastavit těch 10s. Když to změním na jinou hodnotu než 1s tak to nejede.
-
AutorPříspěvky