Ceko
Vytvořené odpovědi
-
AutorPříspěvky
-
posjirka
Účastníkpředpokládám, že potřebuješ pouze sledovat nabijení a nikoliv ho řídit. Pak satčí do cesty vložit přesný odpor (třeba 0,1 Ohm/ 1W) a měřit na něm úbytek napětí. Předpokládám, že se bavíme o proudech do 2A kdy bude ztráta na odporu 0,2. Při 5V napájení to bude mít citlivost cca 5mv = 20 mA. Při použití odporu 0,22Ohm bude citlivost ještě větší. Komunikace s excelm je třeba zde:
http://www.instructables.com/id/Sending-data-from-Arduino-to-Excel-and-plotting-it/
schéma nabiječky :
http://www.allaboutcircuits.com/projects/create-an-arduino-controlled-battery-charger/
a nebo pojdme do hotoveho řešeni:
http://www.gadgetmakersblog.com/phone-charger-current-comparison/posjirka
Účastník1. nikdy nepřipojuj +5V přímo na piny. Proto se dělá toto zapojení přesně opačné:
+5V – odpor – pin – tlačítko (kontakt) – zem
Reaguje pak na úroveň LOW ( 0 )
2, není špatné použít LED 13 jako indikační (nic se nemusí zapojovat) a na ní svést oba 2 piny. když bude jeden z pinu == LOW roszvi´t LEd jinak zhasni LED.posjirka
Účastníkpřesně jak píše Vojtěch.
1. použij smyčku for a do ni uzavři celý průběh bargrafu pro 1 směr.
2. v setup() má piny vypsané z pole, v loop() už vypsiuješ každý zvláš´t. i tady ti pomůže pole.
3. různě časy spoždění pro 2 směry můžeš nastavit zvlášť po dokončení smyčky
4. máš zmatek v počtu LED v poli (11 ks) a v setup() (12ks)Můžu tě trochu nakopnout správným směrem. Zapiš do programu tyto posloupné funkce:
setup()
smyčka for pro i = 0 až 10
– nastav pinmode pro LED[i]
– nastav LED[i] na LOW
konec smyčkyloop()
smyčka for pro i = 1 až 10
– nastav LED[i] na HIGH
– čekej
konec smyčky
smyčka for pro i = 1 až 10
– nastav LED[i] na LOW
– čekej
konec smyčky
smyčka for pro i = 10 až 1
– nastav LED[i] na HIGH
– čekej
konec smyčky
smyčka for pro i = 10 až 1
– nastav LED[i] na LOW
– čekej
konec smyčkysamozřejmě to jde ještě výrazně zjenodušit, ale je třeba si uvědomit možnosti a funkci jednotlivých příkazů. Pokud budeš chtít ještě o stupínek nahoru, tak můžes definovat proměnnou a která bdue mít hodnoty 1 až 4, ty pojednou v hlavní smyčce loop() a budou značit jednotlivé fáze změny svitu LED:
1 – rozsvi´t 1-10
2 – zhasni 1-10
3 – rozsviť 10-1
4 – zhasni 10-1
na to by byl vhodný select case ….ps. a´t tu nejsem ukamenován: vím, že to jde mnohem jednoušeji, ale když začíná je lepší aby to pochopil jak co funguje, než mu dát hotový kod.
Vojtěch Vosáhlo
ÚčastníkEDIT: Není to foreach ale jen FOR, omlouvám se. Doporučuju inspirovat se třeba tady: https://www.arduino.cc/en/Tutorial/ForLoopIteration
posjirka
Účastníktak jsem se konečně dostal no to tvoje řešení.
knihovny se netlučkou – vždyť to fungovalo v instructable.com , ale zaráží mě 2 věci:
1- spouštíš vysílač na urovńi HIGH. Ty opravdu připojuješ +5V přímo na pin? to je celkem sebevražda.
Vždy se dává odpor (1k0) mezi pin a +5V a pak se tlačítkem ten pin přizemní (takže úroveń LOW)
2 – proč máš pauzu 1000 ms (vysílač) ,po odelslání signálu, když v originále bylo 10ms. Takže mohl ten signál odeslat několikrát a pak byla větší pravdepodobnost, že se chytí.
JKeslti chceš omezit počet semoutí, tak to nech až u přijímače.Jerry
ÚčastníkDěkuji
Oldřich Horáček
SprávceZdravím Jardo, k NRF24L01 je toho na netu hodně. To je možná důvod, proč tady zatím nikdo neodpověděl. Doporučuji začít například tady:
a pak pokračovat volně dál až do chvíle, než vše zvládnete a bude vám to fungovat.
http://www.arduino8.cz/komunikujeme-bezdratove-s-nrf24l01-1-cast-zapojeni/
http://shanes.net/simple-nrf24l01-with-arduino-sketch-and-setup/
http://www.instructables.com/id/Wireless-Remote-Using-24-Ghz-NRF24L01-Simple-Tutor/
Pokud vám to funguje ale cítíte, že jste něco přeskočil, doporučuju stáhnout ebook zdarma o Arduinu a projít si i věci na kterých to celé stojí. Nebo si přes vánoce lehnout s naší knížkou 🙂
Hodně úspěchů s Arduinem!
Oldřich 🙂Miroslava
ÚčastníkPardon v schéme som použila zlé rezistory – reálne mám 10k. Ledka funguje pre prvý snímač zlava zapojený do PIN 3, ak prehodím napájanie do breadbord ako na obrázku tak zas funguje druhý snímač zlava zapojený do PIN2, preto mi príde že som to zle zapojila. Vždy sa rozbliká LED bližšie k napájaniu.
Snímače som použila tieto :Magneticke snimače
Rezistory tieto: Rezistory
Attachments:
Vojtěch Vosáhlo
ÚčastníkŠlo by to zkrátit na pár řádek pomocí foreach a někde bitshiftováním ale foreach by mělo stačit. Doporučuju zkouknout si nějaké ukázky. Na večer můžu přidat i kód.
Vojtěch Vosáhlo
ÚčastníkKód mi přijde správně a zapojení taky, jen bych dal rezistory trochu větší 1k/4k7/10k nebo další. Funguje pin pokud přes něj např. blikáte ledku? Předpokládám že magnetický spínač je ok. Jediná reálnější možnost je že je pin poškozený nebo něco na desce… Zkuste tu ledku a uvidíme.
Jerry
ÚčastníkJerry
ÚčastníkVideo
Axamith
ÚčastníkTrefa do černého, byla to adresa. Už svítíme, zobrazujeme (já a displej) 🙂
a hlavně se učíme.Luke_CZ
ÚčastníkA, nahrej do arduina i2c_scanner, ten ti ukáže na terminálu připojená zařízení na I2C sběrnici, pokud tam máš jen ten LCD, tak uvidíš jeho adresu ve tvaru 0xXX (pokud ho máš tedy dobře připojený). Tuto adresu musíš zadat ve skeči v části LiquidCrystal_I2C lcd(0xXX, 20, 4)
B, piny A0, A1, A2 jsou právě určeny ke změně adresy zařízení viz zde
L.
fidos
Účastníkcau, jak to presne myslis?
Axamith
ÚčastníkPřikládám foto čipu sběrnice. Ještě bych se rád zeptal, k čemu jsou piny A0, A1, A2 na desce sběrnice, viz. foto.
Attachments:
Axamith
ÚčastníkTyp čipu (jejda, tam je písmenek):
PCF8574AT
AQ0675
1 21
kn04203Program jsem zkoušel podle LCD Displej.
Kód:// LCD displej pres I2C // navody.arduino-shop.cz // knihovny pro LCD přes I2C #include <Wire.h> #include <LiquidCrystal_I2C.h> // nastavení adresy I2C (0x27 v mém případě), // a dále počtu znaků a řádků LCD, zde 20x4 LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { // inicializace LCD lcd.begin(); // zapnutí podsvícení lcd.backlight(); // vytisknutí hlášky na první řádek lcd.print("->arduino-shop.cz<-"); // nastavení kurzoru na první znak, druhý řádek // veškeré číslování je od nuly, poslední znak je tedy 19, 3 lcd.setCursor ( 0, 1 ); lcd.print("--------------------"); lcd.setCursor ( 0, 2); lcd.print(" Test LCD pres I2C"); lcd.setCursor ( 19, 3); lcd.print("!"); delay(2000); } void loop() { // nastavení kurzoru na devátý znak, druhý řádek lcd.setCursor(8, 1); // vytisknutí počtu sekund od začátku programu lcd.print(millis() / 1000); }
V každém případě mi není jasné, jestli má displej zobrazovat 2 řádky ze 4, už jen při připojeném napájení (ten počet je taky takový divný). Trimrem jsem schopen regulovat jas, od úplně tmavých čtverců po čistě prázdný displej. Propojkou na I2C zapnout/vypnout podsvícení.
Vojtěch Vosáhlo
ÚčastníkRozhodně by se šiklo info o vašem programu a I2C čipu displeje.
Axamith
ÚčastníkAhoj, mám podobný problém, LCD 20×4, v podstatě základní kód, IC2.
Displej ale jen svítí a zobrazuje vyplněné čtverce. Dokonce jen 20×2 místo 20×4, jako by sudé řádky chyběly. Nastavení jasu trimrem nepomůže, zobrazuje od úplně tmavých čtverců o prázdný displej.. Testováno po IC2, na přímo zatím ne. Svítí takto i při jen připojeném napájení, bez sběrnice. Je to normální? Foceno s vypnutým podsvícením.Attachments:
Vojtěch Vosáhlo
ÚčastníkAno, je to 10k.
erik_p
ÚčastníkZde podrobnosti o řadiči: https://goo.gl/56jEo1 ; vyčetl jsem správně, že se jedná o 10K potenciometr?
posjirka
Účastníka proč nepoužiješ funkci replace
https://www.arduino.cc/en/Tutorial/StringReplacejankop
ÚčastníkPříčin může být mnoho. Přiznám se, že jediný senzor DHT22, který jsem měl, jsem hodil ze vzteku do koše. Jednoznačně mohu říct, že DHT11 a DHT22 jsou vysloveně nevhodné pro napájecí napětí 3,3V. Proto mě překvapuje, jak jsou tyhle obvody oblíbené. Je pravda, DHT11 se dá pořídit za 20Kč, ale když si koupím HTU21, tak stojí zhruba stejně jak DHT22 a je to jiná liga. Pokud musím použít DHT, pak jedině s napájením 5V. Při 3,3v senzory někdy nefungují a nebo získané hodnoty skáčou tak, že jsou nepoužitelné.
Chtěl bych ale přidat pár zásad, které jsou často příčinou problémů s esp8266. Na webu je mraky „schémat“, smutné je, že naprostá většina je jich naprosto špatná. Je vidět, že je tvoří a především obkreslují lidé, kteří neznají základy práce s elektronickými obvody, natož s procesory. Všichni programují arduino a malují fritz, ale použít blokovací kondenzátor nebo pullup rezistor považují za zbytečnost.
Tak pár zásad a je fuk jestli programujete esp8266 v Lua nebo nějaký WiFi Shield.1. ESP8266 potřebuje slušný zdroj. Na jeho provoz nestačí zdroj nějakého USB/RS232 převodníku. Ano, naprogramovat tak jde, ale zaručuji, že v provozu narazíte na naprosto fatální problémy.
2. Jeden rezistor stojí cca 1Kč a blokovací kondenzátor řádově stejně. Používejte je. Na kontaktním poli vám třeba nahradí drátové propojky a věřte, může to mít naprosto zásadní vliv na stabilitu vašeho zařízení. Rezistory plní dvě role. Tou první je udržet vstup na požadované logické úrovni bez ohledu na vnější vlivy a tou druhou je omezení proudu výstupu. Někdo může filozofovat o integrovaných rezistorech, ale příliš na to nedejte. Mezi nejhorší prohřešky je pak naprosto běžné připojování IO vývodů obvodu natvrdo k napájecímu napětí nebo zemi.
Když se vrátím k tomu senzoru. Protože je DHT11 (opravdu nezaslouženě) nesmírně oblíben, tak jsem s ním napsal webový vlhkoměr. Testoval jsem ho jen s DHT11 a ESP8266-1, ale myslím, že by měl beze změny fungovat i s DHT22.
Tady je.jankop
ÚčastníkJeden kontakt se letuje na stříbrný polep, tam stačí kalafuna a druhý kontakt se pájí na plech, tam stačí taky.
mart-in
ÚčastníkTak znovu a lépe. Celý kód: http://leteckaposta.cz/671895118
Pulec
Účastníkwifi síť vidím i její adresu 192.168.4.3 ale na stránce nic nevidím .Tento web není dostupný
Web 192.168.4.3 odmítl připojení.
rycmond
ÚčastníkPoužívám verzi LUA.
Ted se mě podařilo rozběhnou komunikaci na ESP8266 ESP-12E.
Ale na ESP8266 ESP – 01 zatím nic. Použil jsem uplně stejné zdrojové kódy (firmware i scripty).
Nemůžu najít kde by mohla být chyba.
erik_p
ÚčastníkDěkuji za rychlou odpověď. Arduino už zase jede, na napájení dám pozor.
ArduXPP
ÚčastníkJsem se zapomněl zeptat co používáte LUA verzi nebo arduino ide ?
ArduXPP
ÚčastníkAutor to tam zmiňuje, že „Bohužel, když jsem připojil k ESP8266 čidlo DHT22 pro měření teploty a vlhkosti vzduchu, nepodařilo se mi z tohoto čidla načíst jakékoliv údaje, i když z čidla DS18B20 data načítal bez problému. Po několika hodinách marného snažení jsem se někde dočetl, že poslední verze, která umí načítat data z DHT22 je verze nodemcu_float_dev20150311.bin Je to verze float, takže počítá s desetinnými čísly“ , u ESP8266 je možné používat i arduino ide a tím pádem použít kod pro arduino uno atd.
-
AutorPříspěvky