Jak na vyšší baud rate?
Jak na vyšší baud rate?
Zdravím,
Arduinu nerozumím a upřímně mě to ani neláká, ale bohužel jsem do toho musel trochu zabřednout. Na Aliexpresu jsem koupil jednu z těch DIY sad pro Ambilight (světýlka za televizí po vzoru televizí Philips). Sada sestává z diod W2812b a desky, na které je napsáno Uno (tak asi klon Arduina Uno?). Software v PC, který grabuje obraz a posílá informaci o tom, jaké diody se mají kolem televize rozsvtítit, mi hlásil, že baud rate 115200 je příliš nízký vzhledem k počtu diod a obnovovací frekvence je příliš nízká (cca. 15 FPS). Na Githubu jsem našel program do Arduina (který tam pravděpodobně byl i od číňana), v něm jsem zkoušel nastavit různé, vyšší baud rate, ale stropem se zdá být 128000. To mi zvedlo FPS z 15 na 16, čili žádný velký pokrok. A moje otázka zní - jde to vyřešit softwarově nebo potřebuji koupit jinou desku s výkonnějším HW, aby zvládla alespoň dvojnásobné baudrate, ideálně čtyřnásobné (pro 60 FPS)?
Googlil jsem, fakt moc, ale furt nevím.
Díky moc
Arduinu nerozumím a upřímně mě to ani neláká, ale bohužel jsem do toho musel trochu zabřednout. Na Aliexpresu jsem koupil jednu z těch DIY sad pro Ambilight (světýlka za televizí po vzoru televizí Philips). Sada sestává z diod W2812b a desky, na které je napsáno Uno (tak asi klon Arduina Uno?). Software v PC, který grabuje obraz a posílá informaci o tom, jaké diody se mají kolem televize rozsvtítit, mi hlásil, že baud rate 115200 je příliš nízký vzhledem k počtu diod a obnovovací frekvence je příliš nízká (cca. 15 FPS). Na Githubu jsem našel program do Arduina (který tam pravděpodobně byl i od číňana), v něm jsem zkoušel nastavit různé, vyšší baud rate, ale stropem se zdá být 128000. To mi zvedlo FPS z 15 na 16, čili žádný velký pokrok. A moje otázka zní - jde to vyřešit softwarově nebo potřebuji koupit jinou desku s výkonnějším HW, aby zvládla alespoň dvojnásobné baudrate, ideálně čtyřnásobné (pro 60 FPS)?
Googlil jsem, fakt moc, ale furt nevím.
Díky moc
Re: Jak na vyšší baud rate?
V Unu je procesor Atmel328P a tem má max. baudRate při 16MHz oscilátoru 2Mbps. Je ale otázkou, jak je nastavení br realizováno v onom SW a proč má takové omezení. Možná je to tím, že pro řízení těch LED WS2812 je potřeba na určitý čas, kdy se do nich ládujou data, zakázat přerušení a tím i vlastně blokovat komunikaci přes sériový port. Zkus poslat odkaz na ten SW, který jsi našel, třeba se najde nějaká cesta,
Re: Jak na vyšší baud rate?
Díky za odpověď!
Tohle mám v Arduinu: https://github.com/dmadison/Adalight-FastLED
A tohle je ve Windows: https://github.com/psieg/Lightpack
Když nastavím baud rate v tom kódu Adalight na víc, než 128 000, tak ve správci zařízení ve Windows na příslušném portu můžu stejně nastavit maximálně 128 000.
Jednou jsem tam nastavil v kódu snad dokonce 500 000 a pak mi to Windows na tom portu ani nedetekovalo. Ale pak se mi to povedlo nějak rozchodit.
Tohle mám v Arduinu: https://github.com/dmadison/Adalight-FastLED
A tohle je ve Windows: https://github.com/psieg/Lightpack
Když nastavím baud rate v tom kódu Adalight na víc, než 128 000, tak ve správci zařízení ve Windows na příslušném portu můžu stejně nastavit maximálně 128 000.
Jednou jsem tam nastavil v kódu snad dokonce 500 000 a pak mi to Windows na tom portu ani nedetekovalo. Ale pak se mi to povedlo nějak rozchodit.
Re: Jak na vyšší baud rate?
Na straně arduina nevidím žádný důvod, proč by to nešlo. Na straně PC ti ovšem nedokážu poradit. Zkus se obrátit na někoho z jejich vývojářů.
Re: Jak na vyšší baud rate?
No nemůže být důvod, že Arduino je evidentně kopie, a ne originál?
Po nějakém googlení jsem našel, že některá z kopií nefungovala s takovými těmi tradičními baud raty, ale fungovala s kulatými podivnostmi typu 500 000 a 1 000 000, tak to zkusím.
Po nějakém googlení jsem našel, že některá z kopií nefungovala s takovými těmi tradičními baud raty, ale fungovala s kulatými podivnostmi typu 500 000 a 1 000 000, tak to zkusím.
Re: Jak na vyšší baud rate?
Tak to prostě vyzkoušej. Dej tam rate 500K nebo 1M a něco si pošli na terminál, který je nastavený na tu rychlost. Tím se to nejsnáze ověří. Každopádně, i bez nějakých úprav, bys měl vidět na terminálu ten řetězec "Ada". Já bych si před to dal delay tak 10sec a pak bych poslal něco delšího. Pokud to terminál zobrazí, není problém na straně arduina. Ještě je možnost, že máš nějaký blbý ovladač pro převodník USB/COM a ten neumožňuje nastavit tak vysokou rychlost.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti