nicolasoto
Vytvořené odpovědi
-
AutorPříspěvky
-
Alis Vitae
ÚčastníkZapojili jsme RGB Led k Arduino Nano základové desce.
Program zněl náledovně:int redPin = 11; int greenPin = 10; int bluePin = 9; char val; void setup() { Serial.begin(9600); pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { if( Serial.available() ) { val = Serial.read(); } if (val == 'r') { showRed(); } if(val == 'g') { showGreen(); } if(val == 'b') { showBlue(); } if(val == 'v') { showViolet(); } if(val == 'c') { showCyan(); } if(val == 'w') { showWhite(); } else { } if(val == 'n') { NOV(); } if(val == '.') { showRed(); showGreen(); showBlue(); showViolet(); showCyan(); showWhite(); NOV(); } } void showRed() { //red digitalWrite(redPin, HIGH); digitalWrite(greenPin, LOW); digitalWrite(bluePin, LOW); delay(1000); //green } void showGreen() { digitalWrite(redPin, LOW); digitalWrite(greenPin, HIGH); digitalWrite(bluePin, LOW); delay(1000); } void showBlue() { //blue digitalWrite(redPin, LOW); digitalWrite(greenPin, LOW); digitalWrite(bluePin, HIGH); delay(1000); } void showViolet() { digitalWrite(redPin, HIGH); digitalWrite(greenPin, LOW); digitalWrite(bluePin, HIGH); delay(1000); } void showCyan() { digitalWrite(redPin, LOW); digitalWrite(greenPin, HIGH); digitalWrite(bluePin, HIGH); delay(1000); } void showWhite() { digitalWrite(redPin, HIGH); digitalWrite(greenPin, HIGH); digitalWrite(bluePin, HIGH); delay(1000); } void NOV() { digitalWrite(redPin, LOW); digitalWrite(greenPin, LOW); digitalWrite(bluePin, LOW); }
Doporučujeme tento projekt jako první projekt pro všechny začátečníky. Není to jen nudná leddioda, která blikne a není moc součástek co potřebujete. Jediné co potřebujete je: Arduino Deska (U nás Nano), RGB Led, nějaké vodiče a nějaké rezistory
Alis Vitae
ÚčastníkNevím, podle mě můžeš použít desky jako Nano, Uno, Mega…
Aleš
ÚčastníkAha. Tak to asi bude nějaký problém nové verze.
Mě zase se..u ty Warningy. Proč musím pokaždé vědět, že je některá knihovna „špatná“. Nemůžu přijít na to, jak to vypnout, a ty knihovny vymazat nechci, protože je používám, a fungujou. Jenom IDE se nějak nelíbí.Vojtěch Vosáhlo
ÚčastníkJá bych to určitě dělal přes 1 string pole.
Vojtěch Vosáhlo
ÚčastníkMělo by bohatě stačit napájení z USB. 😀
horisus
ÚčastníkJak jsem psal,jsem úplný amatér a nikdy jsem nic nezapojoval a nemám to jak změřit.Stavím si doma letecké pedály a potenciometr by měl sloužit pro ovládání zatáčení v simulátoru.Ještě se zeptám musí být arduino připojeno další napájení nebo stačí napájení z USB?
Zbyšek Voda
ÚčastníkDobrý den,
to zapojení bude stejné, jako když zapojujete normální potenciometr.Zkuste poslat fotku vašeho posuvného potenciometru.
Vojtěch Vosáhlo
ÚčastníkAhoj, mělo by to (podle čísel) být zapojeno:
1: Jde na pozitivní napětí (3.3v/5v)
jedna ze 2: Jde na analogový vstup arduina. Mělo by být jedno jakou 2 zapojíš, měly by být spojené.
3: Jde na zem – GNDPOZOR: To co tady píšu je jenom teoreticky, tak jak je to u většiny potenciometrů. Pokud si to chceš ověřit podívej se do datasheetu k potenciometru a nebo si to jednoduše přeměř.
Vojtěch Vosáhlo
ÚčastníkAhoj,
Jak jsem se dočetl tak sis pořídil SIM800L který se umí k internetu připojit přes GPRS.
1. Problém který by si mohl mít je aktivace dat na sim kartě. Pokud karta nemá zaplacená mobilní data tak není možné aby to fungovalo.
Viz. dokumentace:GPRS založená na technologii přepojování paketů využívá volné časové sloty, které může sdílet více uživatelů, a je účtována za přenesená data nebo paušálem za určité časové období
Další věc která mě zaujala je že píšeš TX pin 6, RX pin 7
Arduino (pokud nepoužíváš system serial) má pro seriovou komunikaci pin 0 a 1
Vysvětlení téhle věty:Change SIM_SERIAL definition to the serial UART which SIM800 is attached to
je úplně jednoduché. To co po tobě chtějí je definovat jaký UART používáš.
Mělo by stačit do tvého kódu vložit #define SIM_SERIAL Serial
pokud budeš používat nativní seriový port arduina. Pokud budeš používat Software serial tak tam místo Serial dáš jméno toho tvého virtuálního sériového portu.
Hodně štěstí a kdyžtak se ještě ozvi.poprad
ÚčastníkUž jsem to vyřešil:
SerialStepper.h
#ifndef SerialStepper_h #define SerialStepper_h #include <Arduino.h> class SerialStepper { public: SerialStepper (byte pin_STCP, byte pin_SHCP, byte pin_DS, byte pocetM, int motory[]); void Init(); private: byte _pin_STCP; byte _pin_SHCP; byte _pin_DS; byte _pocetM; int * _motory = NULL; // Inicializacia pointera }; #endif
SerialStepper.cpp
#include <Arduino.h> #include "SerialStepper.h" SerialStepper::SerialStepper( byte pin_STCP, byte pin_SHCP, byte pin_DS, byte pocetM, int motory[]) { this->_pin_STCP = pin_STCP; // priradenie k lokalnym this->_pin_SHCP = pin_SHCP; // premennym this->_pin_DS = pin_DS; this->_pocetM = pocetM; this->_motory = & motory[0]; // Priradenie adresy }
A práce s lokálními proměnnými v SerialStepper.cpp už je klasika:
....... digitalWrite (_pin_STCP,HIGH); ....... digitalWrite (_pin_SHCP,LOW ); ....... digitalWrite (_pin_DS,LOW ); ....... for (byte i = _pocetM; i>0 ;i--) { Motory = _motory[i-1]; .......
jankop
ÚčastníkKdyž chci přeložit, co mi předtím šlo, tak to holt nejde.
Varování: platform.txt z jádra 'ESP8266 Modules' obsahuje zastaralé recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", automaticky skonvertované do recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Zvažte upgrade tohoto jádra. WARNING: Category '' in library EEPROM is not valid. Setting to 'Uncategorized' WARNING: Category '' in library ESP8266httpUpdate is not valid. Setting to 'Uncategorized' WARNING: Category '' in library Hash is not valid. Setting to 'Uncategorized' WARNING: Category '' in library SPI is not valid. Setting to 'Uncategorized' WARNING: Category '' in library Ticker is not valid. Setting to 'Uncategorized' WARNING: Category '' in library Wire is not valid. Setting to 'Uncategorized' C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WebServer\examples\AdvancedWebServer\AdvancedWebServer.ino: In function 'void setup()': AdvancedWebServer:117: error: 'drawGraph' was not declared in this scope server.on ( "/test.svg", drawGraph ); ^ exit status 1 'drawGraph' was not declared in this scope Nalezena neplatná knihovna v C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266: C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266 Nalezena neplatná knihovna v C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266: C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266
Aleš
ÚčastníkCo znamená, že s 1.6.6 nepracuje správně? Já jsem teda verzi 1.6.5 nezkoušel, ale s 1.6.6 nemám problémy. Normálně dám export binaru, a ono mi ho to vyexportuje. Do ESp jsem ho nahrávat nezkoušel. Nic o tom, že není podporována to nepíše. Zkus z //USER/… smazat adresář arduino15, a nainstalovat podporu ESP znovu.
jankop
ÚčastníkNo tak se zdá, že ten export bináru půjde také. Sice to píše, že funkce není podporována, ale druhým dechem to napíše, kam to BIN uložilo. A podařilo se mi praktickým programem ESP8266Flasher.exe binár nahrát do modulu a spustit.
jankop
ÚčastníkTož závěr mého experimentu zní:“Pokud se nechcete dostat s ESP8266/Arduino do problémů, tak zůstaňte u Arduino IDE 1.6.5. Verze 1.6.6. správně se stávajícím doplňkem pro ESP8266 nepracuje!“
jankop
ÚčastníkZrovna verzi 1.6.6. instaluji, asi máš pravdu, při svém prvním pokusu jsem možná udělal nějakou chybu.
Ale narazil jsem na problém v tom, že nedovedu nastavit piny pro I2C. Potřeboval bych připojit čidla, ale nedokážu definovat SCL a SDA.Aleš
ÚčastníkMáš pravdu, má jenom 512KB.
Teď si tady s tím znovu hraju, a 1.6.6 opravdu s ESP8266 funguje. Zrovna mi běží demo HelloServer.jankop
ÚčastníkVerze 1.6.6. podle mě nefunguje s ESP8266. Alespoň můj první pokus neprošel.
jankop
ÚčastníkMimochodem Aleši, na svém webu píšeš, že modul ESP826-01 má 1MB FLASH. Není to pravda, ten běžný, který máš na fotce má pouze 512KB. Jako novinka se teď presentuje provedení ESP8266-01E s 1MB, ale ten vypadá jinak.
Aleš
ÚčastníkNepájivé pole používám jenom v krajní nouzi. To raději sletuju několik drátů do Y 🙂 Ale možná by stačilo přidat k napájení ESP8266 nějaký velký kondenzátor. Na vykrytí špiček při vysílání. Jenom na vyzkoušení.
Aleš
ÚčastníkTak si nainstaluj verzi 1.6.6. V čem je problém?
poprad
ÚčastníkJaké čtverečky? Myslíš hranaté závorky, které označujú proměnné typu pole?
Ty lomené závorky u Arduino.h opravím, ale určitě to nesouvisí s mojím problémem. Chybu to hlásí na označené řádky, když chci namapovat lokální proměnné pole na dovážené pole.byte _motory[] = motory[] byte _smerM[] = smerM[]
taunt
ÚčastníkTak problém z velké části vyřešen. Gigabyte deska nestíhá napájet více USB portů, než asi dva flash disky. Flash firmvare po odpojení všech ostatních kabelů proběhl OK. Běžné AT příkazy, při kterých modul nenutím jít na wifi projdou v pořádku. Jakmile si sáhne na vysílač, tak se terminál kousne a USB porty přestanou komunikovat. Takže jdu řešit PC a neskutěčně nekvalitní nepájivé zkušební pole, které má takové přechodové odpory, že mu třívoltová logika dělá docela problémy.
To Aleš: dík za odkaz na Vaše stránky, dobrá inspirace.jankop
ÚčastníkNo já věřím, že export BIN v 1.6.6. funguje. Ale já mluvím o verzi 1.6.5. ve spojení s modulem ESP8266.
pesi
ÚčastníkCo ty čtverečky v názvech, Nějaký skrytý nedovolený znak?
Asi to s tím nesouvisí, ale proč máš u include „arduino.h“ uvozovky? Není standardní knihovna a neměla by být ve špičatých závorkách: #include <Arduino.h>?
Aleš
ÚčastníkNojo. Ono to fakt funguje 🙂 Já jsem si myslel, že se to musí programovat přes esptool. Každopádně k tvému dotazu. Mám IDE verzi 1.6.6, a tam normálně export do binárky jde. Dík 🙂
jankop
ÚčastníkProveď reset modulu s GPIO připojeným na GND. Pak z IDE normálně nahraj program.
Aleš
ÚčastníkKdyž tedy nainstaluju to .json rozšíření do IDE 1.6.5, tak jak potom nahraju program do ESP8266? Když mi tam chybí programátor esptool?
jankop
ÚčastníkS ESP8266 mám zkušeností dost. S hardwarem problémy nemám, horší to někdy bývá s vývojovým prostředím. Před pár dny jsem s překvapením zjistil, že mimo Lua a další systémy, včetně embeded Espruino, existuje také embeded Arduino. Protože Espruino je ještě v plenkách a ne moc stabilní, tak jsem zkusil embeded Arduino. Je třeba použít IDE 1.6.5. a dohrát k němu board ESP8266. V životě jsem Arduino neviděl, ale počátky jsem zvládl celkem bez problémů. Nahrál jsem nějaký demoserver a on perfektně funguje, stejně jako BLINK s LED.
K vlastnímu modulu. Zásada číslo jedna – kvalitní napájecí zdroj. Web se hemží návody, jak napájet modul z převodníku USB/Serial, ale to je fatální chyba a jeden z častých problémů.
Druhou věcí je nezbytnost ošetřit důležité vstupy. V případě ESP8266-01 musí být GPIO0, GPIO2, CH_PD, RST připojeny na Vcc, nejlépe přes rezistory cca 10k. V případě některých vyšších řad modulů je třeba ještě zapojit GPIO15 přes rezistor na GND. Velice častou chybou bývá také skutečnost, že uživatel zapojí modul přes převodník, správně překříží Tx/Rx, ale zapomene propojit zem převodníku se zemí modulu. Nepodceňujte tyto triviální chyby, jsou velmi časté a chování zařízení je nevyzpytatelné. Nemám zkušenosti s Arduino IDE a proto mě nenapadlo instalovat nějaký programátor. Prostě jsem uvedl ESP8266 do programovacího módu přes sériovou linku a program jsem přes IDE uploadoval. Sériový bootloader pro ESP8266-01 vyvolám tak, že provedu RESET a v okamžiku resetu musí být GPI02 = HIGH a GPIO0=LOW. Pak již stačí přes Arduino IDE nahrát program do modulu.
Na GITHUB je tento mnou vyzkoušený postup instalace IDE pro ESP8266 embeded Arduino. Nic víc není myslím třeba. Když jsem to zvládl já, tak to musí zvládnout každej.Install Arduino 1.6.5 from the Arduino website.
Start Arduino and open Preferences window.
Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.
Open Boards Manager from Tools > Board menu and install esp8266 platform (and don’t forget to select your ESP8266 board from Tools > Board menu after installation).A teď mám dotaz já. Demo server se zkompiloval a nahrál do ESP8266 a moc pěkně fungoval, tak dobře, že jsem byl překvapen. Proti ekvivalentnímu serveru v Lua je mnohem stabilnější s rychlejší reakcí. Jen vypisovaná potřeba paměti byla značná, ale předpokládám, že hlavní podíl mají knihovny. Ovšem zaujala mě možnost exportovat program z IDE v binární podobě. To považuji za potřebné rozšíření. Ale IDE píše, že tato funkce není pro ESP8266 podporována. Všiml jsem si, že IDE si ukládá do TEMP soubor něco.cpp.bin, tak jsem si myslel, že to je požadovaný binární soubor. Když jsem ho ovšem zkusil flashovacím programem nahrát do modulu, tak program nefungoval. Víte o tom něco prosím?
Webster.K
ÚčastníkJo… tak tady se dočkat že někdo odpoví má stejnou šanci, jako věřit, že vyhraju ve sportce… jsem čekal že to tu bude aktivnější…
Aleš
ÚčastníkKe druhému dotazu
Pravděpodobně je v nich nějaký „divný“ firmware. Mě když tuto moduly přijdou, tak je ani nezkouším, a rovnou do nich nahraju firmware, který mám vyzkoušený. Převodník máte správný, používám ten samý.
Nejdřív si stáhněte z mých stránek http://xanadu.khnet.info/esp8266.php správný firmware. Nevím, k čemu to máte připojené, ale pokud používáte Arduino MEGA 2560, které má druhý sériový port, a může komunikovat na 115200Bd, tak použijte fw. 0.9.2.2, pokud potřebujete rychlost 9600Bd, tak fw 0.9.5.2. To, co je na mých stránkách je všechno odzkoušené a funkční.
Vyzkoušejte ten BR@Y terminál. Problém může být i v tom.
Napište, jak to dopadlo 🙂 -
AutorPříspěvky