Zbyšek Voda
Vytvořené odpovědi
-
AutorPříspěvky
-
Zbyšek VodaÚčastník
V pohodě.
Buď si koupíte nějaký relé shield a pak jednotlivá relé ovládáte třeba tak, že je zapínáte/vypínáte LOW/HIGH na pinu, nebo si koupíte relé, připojíte k němu nějaký budič (třeba ULN2003a) a ovládáte je pomocí něho.Zbyšek VodaÚčastníkTohle zvládne jakékoliv Arduino 🙂 Klidně Nano, UNO…
Ještě bych k tomu přidal nějaký modul reálného času (RTC) pro lepší přehled v čase.Zbyšek VodaÚčastníkJsem rád, že se problém vyřešil 🙂
Zbyšek VodaÚčastníkDobrý den,
to rozhodně schválně není. Vaše chyba je ale podivná. Zkoušel jsem ji reprodukovat ve více prohlížečích, ale všude mi zobrazování funguje správně (ať už stránkování na úvodní stránce, nebo v Novinky).
Když půjdete třeba sem: https://bastlirna.hwkitchen.cz/page/3/, zobrazí se vám třetí stránka novinek, nebo úvodní stránka?
Zbyšek VodaÚčastníkDobrý den,
když tak zběžně koukám na váš program, napadá mě jedna věc. Snad to bude ono.
Na začátku máte:
Timer1.initialize(100); Timer1.attachInterrupt(timerIsr);
což zapříčiní, že se bude funkce timerIsr volat každých 100µs.
Funci timerIsr máte definovanou jako
void timerIsr() { if(actual_speed == 0) return; tick_count++; if(tick_count == ticks) { // make a step digitalWrite(PIN_STEP, HIGH); digitalWrite(PIN_STEP, LOW); tick_count = 0; } }
čili každých 100µs se proměnná tick_count zvýší o jednu (pokud neplatí speciální podmínky – ty teď ale přeskočme). Proměnná tick_count je typu int.
int tick_count;
a to by mohl být ten problém. Proměnné typu int mohou uchovávat čísla od -32.768 do 32.767. Vy ale nemáte nijak pojištěno, co se stane, když vám tick_count přeteče.
Jako první krok zkuste použít jiný typ – například unsigned long, který může mít rozsah od 0 do 4.294.967.295.
unsigned long tick_count;
Pokud se problém vyřeší (respektive se o hodně odloží), budeme mít jistotu, že to byl skutečně problém použitého datového typu.
Poté můžete zkusit dodělat detekci přetečení proměnné. Jelikož ale při zvýšení každých 100µs „vydrží“ tato proměnná počítat asi pět dní, neviděl bych to jako nutnost 🙂
Zbyšek VodaÚčastníkDobrý den,
problémem v rychlosti myslíte to, že se řádky rozsvěcují moc pomalu a nevznikne pak dojem, že svítí všechny naráz?
Zkuste nám sem poslat váš program, to by také mohlo pomoci.
Zbyšek VodaÚčastníkProgram bude v pořádku. Mě tohle normálně fungovalo.
Nabízí se tedy hledat problém někde jinde. Koukal jsem třeba sem: http://stackoverflow.com/questions/9217084/arduino-lcd-only-showing-black-boxes-on-bottom-rowNabízí tam vícero tipů.
- Zkontrolovat zapojení – jestli nemáte nějaký vadný vodič.
- Zkontrolovat, jestli jsou piny dobře připájené k LCD.
- Před lcd.begin() dát delay(1000) – display by mohl potřebovat čas na naběhnutí
- Ujistěte se, jestli se program skutečně nahrál do Arduina (zkuste třeba nahrát blikání LEDkou a pak zase zpět na LCD hello world)
Takhle na dálku mě nenapadá nic dalšího.
Zbyšek VodaÚčastníkTakže když točíte kontrastním potenciometrem, tak se nic neděje?
Přijde mi, že toto dělá displej, když má nastavený maximální kontrast.Zbyšek VodaÚčastníkDobrý den, můžete sem postnout fotku vašeho zapojení? 🙂
Zbyšek VodaÚčastníkPokud jsem kód dobře pochopil, přijde mi, že sice máte zobrazená tlačítka, ale nemáte k nim obslužný kód.
Předpokládám, že chcete, aby po kliknutí na tlačítko program odeslal požadavek s informacemi o stavu relé.Dalo by se to udělat třeba tak, že z tlačítek uděláte odkazy vedoucí na určitou URL s přidanými parametry za url. Jak přidat URL ke tlačítku řeší třeba zde.
Arduino pak bude zpracovávat HTTP požadavek, ze kterého si vybere požadované informace z parametru.
Zbyšek VodaÚčastníkDobrý den,
můžete prosím popsat, co konkrétně vám nefunguje?
Taky by se hodil popis projektu – co to má dělat, jak to funguje…
Zbyšek VodaÚčastníkV Arduino IDE v nabídce Tools v Ports vyberte COM5
Zbyšek VodaÚčastníkNenapadá mě, kde by mohl být problém.
Navíc se mi nedaří najít jakékoliv info od výrobce (kromě nějakého fóra v čínštině). Možná by se dalo najít něco tam…Zbyšek VodaÚčastníkDobrý den,
zkuste ještě tady: http://www.arduined.eu/ch340g-converter-windows-7-driver-download/ stáhnout driver pro CH340G.
V ovládacích panelech otevřete Správce zařízení, připojte Arduino a mělo by se vám někde objevit. Pak kliknete pravým a zvolíte Aktualizovat systém ovladače. Poté doveďte instalační program na stažené drivery.
Potom zkuste znovu programování Arduina v IDE.
Zbyšek VodaÚčastníkPošlete mi prosím odkaz na ebay, kde jste to koupil
Zbyšek VodaÚčastníkZobrazuje se vám něco ve Správci zařízení/Porty i když není Arduino připojeno?
Na nastavení Programátor bych nesahal a nechal tam původní.
Zbyšek VodaÚčastníkTam kde je na tomto obrázku šipka USB FTDI
https://www.arduino.cc/en/uploads/Main/ArduinoDiecimilaComponents.jpg
jaký čip tam máte vy?
Zbyšek VodaÚčastníkDobrý den,
a když v Tools/Boards vyberete Arduino UNO, tak se to nepovede?
Zbyšek VodaÚčastníkJaký typ USB-serial převodníku máte?
Je to ten malý čip blízko USB – co se na něm píše?Zbyšek VodaÚčastníkDobrý den, podívejte se na mail. Máte tam odkaz na Ebook 🙂
Zbyšek VodaÚčastníkDobrý den,
jaký máte typ desky? Můžete nasdílet odkaz výrobce, popřípadě odkud jste desku pořídil?Zbyšek VodaÚčastníkDobrý den,
k jakým pinům máte LEDky a servo připojené?
Zbyšek VodaÚčastníkMožná byste mohl najít nějaké užitečné informace na google.
Zbyšek VodaÚčastníkDobrá práce 🙂
Zbyšek VodaÚčastníkJsem rád, že se Vám to povedlo 🙂
Zbyšek VodaÚčastníkDobrý den,
ještě bych to nevzdával 🙂
Problém asi bude v tom, že se nejedná o originální Arduino, ale o klon. A klony jsou často vybavené jiným USB převodníkem, než oficiální desky. Takže ovladače zahrnuté v Arduino IDE jsou v tomto případě k ničemu.
Zkuste si odsud http://www.arduined.eu/files/CH341SER.zip stáhnout ovladač. Rozbalte stažený ZIP archiv.
Poté klikněte pravým na USB2.0-Serial ve správci zařízení a vyberte Aktualizovat software ovladače. Poté naveďte instalační program na stažený a rozbalený archiv.Zbyšek VodaÚčastníkJde to.
int pole[3][3] = {{1,2,3},
{4,5,6},
{7,8,9}};Zbyšek VodaÚčastníkJeště zkuste připojit k oběma linkám (SDA i SCL) pullup rezistor 4,7 kOhm.
Viz https://bastlirna.hwkitchen.cz/propojujeme-arduino-s-jinym-i-zarizenimi/ část Sběrnice I2C.Zbyšek VodaÚčastníkMoc mě nenapadá, čím by to mohlo být.
Jedině tak to, že UNO pracuje na 5V, kdežto DUE 3.3V, ale to píšou, že by to snad mělo podporovat.Můžete mi ještě prosím poslat fotku vašeho zapojení?
Zbyšek VodaÚčastníkDobrý den,
můžete mi prosím poslat přímo odkaz na váš displej?
Díky -
AutorPříspěvky