MiK
Vytvořené odpovědi
-
AutorPříspěvky
-
Zbyšek Voda
ÚčastníkTak si to musíte nějak podmínit. Když to je přímo v loopu, tak ten se spouští pořád dokola. Potom se „impulz“ vysílá pořád dokola.
Nevím, jak přesně to má fungovat. Ale třeba na stisknutí tlačítka může reagovat takto (zjednodušeno).
void setup(){ pinMode(2, INPUT); pinMode(3, OUTPUT); } void loop(){ if(digitalRead(2) == HIGH){ digitalWrite(3, HIGH); delay(500); digitalWrite(3, LOW); delay(1000); } }
borovecek
ÚčastníkTo jsem již zkousel. Ale když jsem si to zkoušel s led diodou tak to stale problikavalo. Ale já potřebuji jen jeden impuls.
posjirka
Účastníktak ti nevím. V popsiu je Battery input takže bych to bral jako vstup.
Pak jsem našel v datasheetu toto:
The device is UL recognized to ensure against reverse charging when used with a primary lithium battery.no a na netu jsou i moduly s baterii cr2030:
vzheldem k tomu, že to má pouze 1 vstup a nikde nabijecí pin nevidím … chtělo by to sehnat schéma toho tvého modulu.
ještě mě napadlo: to že tam je baterie napevno (tzn. připájena na páskách, neznamená, že je nabijecí….
Zbyšek Voda
ÚčastníkDobrý den. Krátký impulz uděláte tak, že na výstup „nastavíte“ HIGH a po malé chvilce zase LOW.
Takže třeba
digitalWrite(pin, HIGH); delay(500); digitalWrite(pin, LOW);
Nastaví na půl sekundy výstup do logické 1.
ArduXPP
ÚčastníkKoupil jsem si DS3231 a ten i baterii nabíjí. Baterie CR2032 je nenabíjecí.
posjirka
Účastníknechápu ???? Myslíš jako výměnu baterie nebo použití baterie jako primárního zdroje pro apliakci?
ArduXPP
ÚčastníkKdyž budu chtít u modulu použít baterii CR2032 je potřeba přerušit obvod dobíjecí ?
letakp
ÚčastníkAhoj, právě když jsem zkoušel všechny možnosti s RTC, tak mi to nefungovalo nikdy.
Špatně zapojené SDA a SCK jsem vyloučil otočením a stále nic.
Tak jsem si prohlédl čip pod lupou a zjistil jsem, že je polovina nožiček ve vzduchu. Dneska to přiletuju a večer doma odzkouším funkčnost. Díky zatím za malou nápovědu v čem by ten problém mohl být.posjirka
Účastníkzřejmě čínská pomsta zahnívajícímu západnímu kapitalusmu 🙂
Ne vážně, to se občas stane a je super že jsi na to přišel sám.
Chybami se člověk učí. Hlavně že to funguje.petrcaltik
ÚčastníkFotka se mi nedaří nahrát…
petrcaltik
ÚčastníkProblém vyřešen… 🙂 Při zoufalém zkoušení jsem začal prohlížet všechny pájené spoje a zjistil jsem že dva kontakty USB konektoru na arduinu jsou spájené, po proškrábnutí nožem vše funguje! 🙂 posjirka-díky za reakci! 🙂
posjirka
Účastníkzkus to na jiném PC a pak zkus jiný kus arduina. CH340 mohla odejít do věčných digitálních lovišť. Kdyby odešel tak Arduino nemusíš vyhazovat. Můžeš jej naprogramovat přes ICSP port a použit v nějáké aplikaci.
Napadá mě ještě chybný konektor (zapatlané piny na konektoru), vadný krystal pro Ch340g a pod.
Když to Arduino zapojíš do USB portu tak předpokládám, že LED POWER svítí a LED „L“ na 13 pinu bliká (defaultní program blik). Pokud jo tak Arduino funguje a je to chyba jen komunikace. My máme 3 klony s tímto čipem a všechny fungují ….posjirka
Účastníka co když zkusíš tenhle exampl.
Tutoriál – užívání hodin reálného času DS1307 a DS3231 s Arduinem
Ten funguje? Ten projekt osvětlení akvaria v podstatě jen rozšiřuje tento tutorial.
Pak mě napadá jen pár věcí proč to nefunguje:
– špatné zapojení (např prohození SDA a SCK)
– špatný modul/čip DS3231
– chybná adresa modulu (na modulu se dá nastavit tak můžeš mít nastavenou jinou než defaultní)DS3231 bohužel doma nemám a nedostává se mi času s tím experimentovat ….
letakp
ÚčastníkTak jsem se díval na ty knihovny a zjistil jsem, že tam asi fakt nic není, tak jsem stáhl a nainstaloval knihovnu a potom se před #include „wire.h“ nainstalovalo toto:
#include <RtcDateTime.h>
#include <RtcDS3231.h>
#include <RtcTemperature.h>Ale stejně to na monitoru vypisuje to stejné.
letakp
ÚčastníkTak toto je moje verze upravená podle původního návrhu od vnouzirozbijsklo:
#include „Wire.h“
#define DS3231_I2C_ADDRESS 0x68
// Convert normal decimal numbers to binary coded decimal
byte decToBcd(byte val)
{
return( (val/10*16) + (val%10) );
}
// Convert binary coded decimal to normal decimal numbers
byte bcdToDec(byte val)
{
return( (val/16*10) + (val%16) );
}
int svetlo1 = 9;
int sviti = 0;
int den = 0;
int jas = 0;byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
void setup()
{Wire.begin();
Serial.begin(9600);
// set the initial time here:
// DS3231 seconds, minutes, hours, day, date, month, year
//setDS3231time(30,27,19,7,15,11,15);
}
void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
dayOfMonth, byte month, byte year)
{
// sets time and date data to DS3231
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0); // set next input to start at the seconds register
Wire.write(decToBcd(second)); // set seconds
Wire.write(decToBcd(minute)); // set minutes
Wire.write(decToBcd(hour)); // set hours
Wire.write(decToBcd(dayOfWeek)); // set day of week (1=pondeli, 7=nedele)
Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
Wire.write(decToBcd(month)); // set month
Wire.write(decToBcd(year)); // set year (0 to 99)
Wire.endTransmission();
}
void readDS3231time(byte *second,
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year)
{
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0); // set DS3231 register pointer to 00h
Wire.endTransmission();
Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
// request seven bytes of data from DS3231 starting from register 00h
*second = bcdToDec(Wire.read() & 0x7f);
*minute = bcdToDec(Wire.read());
*hour = bcdToDec(Wire.read() & 0x3f);
*dayOfWeek = bcdToDec(Wire.read());
*dayOfMonth = bcdToDec(Wire.read());
*month = bcdToDec(Wire.read());
*year = bcdToDec(Wire.read());}
void displayTime()
{
;
// retrieve data from DS3231
readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
&year);
// send it to the serial monitor
Serial.print(hour, DEC);
// convert the byte variable to a decimal number when displayed
Serial.print(„:“);
if (minute<10)
{
Serial.print(„0“);
}
Serial.print(minute, DEC);
Serial.print(„:“);
if (second<10)
{
Serial.print(„0″);
}
Serial.print(second, DEC);
Serial.print(“ „);
Serial.print(dayOfMonth, DEC);
Serial.print(„/“);
Serial.print(month, DEC);
Serial.print(„/“);
Serial.print(year, DEC);
Serial.print(“ Day of week: „);
switch(dayOfWeek){
case 7:
Serial.println(„nedele“);
break;
case 1:
Serial.println(„pondeli“);
break;
case 2:
Serial.println(„utery“);
break;
case 3:
Serial.println(„streda“);
break;
case 4:
Serial.println(„ctvrtek“);
break;
case 5:
Serial.println(„patek“);
break;
case 6:
Serial.println(„sobota“);
break;
}
}
void loop()
{pinMode(svetlo1,OUTPUT);
displayTime(); // display the real-time clock data on the Serial Monitor,
delay(1000); // every secondbyte s, m, h, dvt, dvm, mesic, r;
readDS3231time(&s, &m, &h, &dvt, &dvm, &mesic, &r);if (h >= 9 && h < 21) den = 1; // nastaveni intervalu sviceni
else den = 0;
for (byte brightness = 0; den == 1 && sviti == 0 && brightness < 255; brightness ++) {
analogWrite(svetlo1, brightness);
if(brightness == 255) sviti = 1;
delay(3500);
}for (byte brightness = 255; den == 0 && sviti == 1 && brightness > 0; brightness –) {
analogWrite(svetlo1, brightness);
if(brightness == 0) sviti = 0;
delay(3500);}}
posjirka
ÚčastníkMožná to nebyly chybičky ale jiná verze knihovny.
Pošli sem tvuj program a uvidíme.Zbyšek Voda
ÚčastníkDobrý den, jestli se nepletu, tak knihovna WiFi.h je určena pro oficiální WiFi shield.
ESP je možné ovládat pomocí AT příkazů, které budete posílat přes sériovou linku, např:
Serial.println("AT");
caci
ÚčastníkProjekt je již dokončen.
letakp
ÚčastníkDobrý den. Jsem akvarista amatér a toto téma mně chytlo a chtěl jsem vyzkoušet to stmívání a rozednívání LED pásků. Proto jsem otevřel toto téma a nahrál program do programu a projel test. Při tomto jsem zjistil pár drobných chybiček, ty jsem opravil a program mi v seriovém monitoru nezobrazuje aktuální čas a datum. vypisuje mi pouze tuto hlášku každou vteřinu: 45:165:85 165/165/165 Day of week:
Chtěl jsem se zeptat, co mám špatně. Mám RTC DS3231 a klon NHduino UNO. Děkuji za odpověď.
Pavelmartin.kouda
ÚčastníkDobrý den,
tak jsem pokročil o kousek dál. Měl jsem jako vývojovou desku vybranou „Arduino Uno“:• switch jsem dal do OFF, nahrál sketch PR1.ino (viz. přílohy), program se nahrál a na seriovém monitoru vypisoval co má
• switch jsem dal do OFF, nahrál sketch PR2.ino (viz. přílohy), program se nahrál a seriový monitor napsal „WiFi shield not present“ 🙁
• z popsaného postupu se mi povedlo „Example 1: Arduino to WiFi communication“ i s výpisem v TCP debugeru; druhý příklad mi ve finále nevypisoval v TCP debugeru nic, možná je chyba v tom, že mám na routeru nastavené zabezpečení WPA-PSK ale heslo jsem v konfiguraci zadal správnéTento shield se nedá použít s knihovnou #include <WiFi.h> a pracovat s ním jako ve sktchi PR2.ino?
Díky
YonYcz
ÚčastníkKrásná práce chlapci! snažím se čerpat z tohoto projektu pro svůj projekt, ale upřimně se v některých věcech ztrácím.. byl by ochoten posjirka se mnou sdílet nějaký čas ? 🙂 nevím jestli mám založit nový thread, tady se mi to špinit nechce (nebo prosím o kontakt do emailu jakub(tečka)pan(zavináč)seznam(tečka)cz, pořešíme co a jak a třeba založím nový..)
Díky!Zbyšek Voda
ÚčastníkKdyž se koukám do návodu, tak ani nemusíte odpojovat shield. Stačí při programování přepnout oba přepínače na shieldu do pozice OFF. Potom naprogramujete Arduino (takže zvolíte desku Arduino UNO) a přepnete přepínače zpět na ON. Podrobněji je postup popsán ZDE.
Myslím si, že ta propojka není nutná. Zkuste to bez a uvidíte 🙂
martin.kouda
ÚčastníkDěkuji, vyzkouším a dám vědět.
A jenom se ještě zeptám:
• jak nakonfigurovat IDE? Vývojová deska Generic ESP8266 nebo Arduino Uno?
• mám nechat to propojení RX – TX (TX – RX, zelené drátky viz. foto)?MK
Zbyšek Voda
ÚčastníkZkuste na čas programování rozpojit sériovou linku, popřípadě úplně odpojte celý shield.
Programování totiž probíhá tak, že USB převodník převádí „příkazy“, které přicházejí z PC a posílá je přes sériovou linku do čipu Arduina. Jelikož ale k této sériové lince máte připojené i ESP, může to způsobovat problémy.Zkuste to a uvidíme 🙂
martin.kouda
ÚčastníkTak ještě upřesnění. Pokud mám desku propojenou (viz. obrázek) a vývojovou desku nastavenou na Arduino, tak mi IDE při pokusu o nahrání vypíše:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00Když nastavím vývojovou desku na Generic ESP8266 (při stejném propojení viz. obrázek), tak při pokusu o nahrání mi IDE vypíše:
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failedUž fakt nevím kudy kam a mám pocit, že se motám v bludném kruhu,
díky za jakékoli nasměrování,
MartinAttachments:
martin.kouda
ÚčastníkDobrý den,
ano Arduino funguje samotné i s připojeným shieldem (zkoušel jsem populární blink.ino).
Z návodu jsem zkoušel vyčíst vše co jsem mohl (ale možná mi něco uniklo), tj.:
– spojil jsem RX pin Arduina s TX pinem shieldu
– spojil jsem TX pin Arduina s RX pinem shieldu
– SW1 jsem dal offVíc jsem neudělal. Je potřeba ještě něco?
Aleš
ÚčastníkTvrdé malé trny bude rozprskané tavidlo, které po vychladnutí ztvrdlo.
Podle mých 35ti letých zkušeností se bez kalafuny pájet nedá. V pájce s tavidlem je tavidla málo, a spoj je potom nekvalitní. Takže koupit kalafunu, nejlepší je z drogerie kalafuna na prase. Nasypat do nějakého kalíšku, nejlépe kovového, aby se nepálil při dotyku s páječkou. Na chvilku kalíšek s kalafunou strčit pod lampičku s normální 100W žárovkou, a nechat ji spéct dohromady (nepřipálit).
Po pájení potom tišťák omýt izopropylem, pokud tam zbytky kalafuny esteticky vadí. Já to většinou nesmývám, protože kalafuna není agresivní, a na spojích nevadí.
Nebo si koupit tekuté tavidlo. S tím je ale práce o hodně horší, člověk se neubrání upatlání rukou, stolu, atd. Většina tekutých tavidel se MUSÍ po pájení omýt, protože je agresívní, a po čase by spoj zoxidoval.krkstex
ÚčastníkSoučasné řešení je primitivní – termostaty z Ebay a pár relátek a jedna chytřejší krabička, vzájemně propojené a odstavitelné pomocí přepínačů.
Takže pro nové řešení znám jen logiku, potřebné měřící rozsahy a regulační zásahy. Případně potenciální možnosti rozšíření o ekvitermní řízení, nutné výstupy pro automatické kotle a ovládání dalších zdrojů. HW asi nepoužitelný.Používám:
http://www.ebay.com/itm/NEW-50-110-c-DC-12V-Digital-Thermostat-Cooling-Heating-Temperature-Controller-/401031203498?hash=item5d5f528aaa:g:QlcAAOSwrx5UW5LO
Na ochranu proti přetopení a odstavení čerpadla terciálního okruhu, při nízké teplotě v sekundárním okruhuV kombinaci s 12 polohovm přepínačem a 12 čidly:
http://www.ebay.com/itm/Digital-Temperature-Controller-Thermostat-30-300-w-Sensor-12V-24V-110V-220V-/271713404031?var=&hash=item3f4361847f:m:mVYjiKaS9q4rP8L8kZIjH8A
na zobrazování teplot v systémuMonitoring teploty spalin a přechod ze stavu zátop do topení (překročení určité teploty spalin) odstavování kotlového čerpadla při vyhasnutí
Řízení nabíjení bojleru:
http://www.regulus.cz/cz/regulator-ur1A pro řízení výkonu kotle ( otáček ventilátoru) v režimu topení:
http://www.logitron.cz/data/user-content/dokumenty/navody/toptermostat/CZ/euroster-11W.pdfZbyšek Voda
ÚčastníkDobrý den,
samotné Arduino vám tedy funguje v pořádku (třeba na blikání LED)?Zkoušel jste postupovat podle návodu k setu?
jurisek81
ÚčastníkPokud je to přes relé jde aplikaci velmi snadno přenést do PLC. Nemusí být Amit který má výhodu v analogových vstupech. Může být i levnější Deco nebo renomované Omron, Siemens.
Lepší je mít čídla a hodnoty zpracovávat v jednotce a nastavovat. teď tam máte asi spínané teplotní čidla ?
Některé PLC umí web nebo SMS jde tak topení ovládat z mobilu.Na inteligentní domy chystám vlastní projekt. Vím v čem jsou současné řešení špatné 🙂
-
AutorPříspěvky