Küsimus:
Kuidas saab LED-riba nagu WS2811 LED teada, millal see peaks olema sisse või välja lülitatud
Anne Mabellon
2018-06-17 23:40:02 UTC
view on stackexchange narkive permalink

Katsetasin Arduino tahvlit ja LEDstrip WS2811it töötab kõik ideaalselt, kuid ma ei saa aru, kuidas konkreetne juht teab, millal seda kutsutakse või aadressitakse. Kas igal ledil on ainulaadne aadress?

Selgitused leiate aadressilt https://www.edn.com/design/led/4438797/Tips-and-tricks-for-driving-WS2811-LED-strips---Part-1, https: // forum. arduino.cc/index.php?topic=365474.0 ja andmeleht https://cdn-shop.adafruit.com/datasheets/WS2811.pdf on kasulik.
** pärast lähtestamist ** salvestab WS2811 ** esimese saadud värviväärtuse ** ja edastab ülejäänud värviväärtused oma väljundisse ..... kujutage ette rida inimesi ja värviliste kaartide pakki ... rahvale antakse juhiseid: "kui kuulete kella (see on lähtestamine), siis hoidke esimene saadud kaart ja andke kõik muud kaardid järgmisele inimesele ... ... kasutage ülejäänud kujutiste täitmiseks kujutlusvõimet
Kaks vastused:
chrisl
2018-06-17 23:51:28 UTC
view on stackexchange narkive permalink

WS2811 on draiveri kiip, mis on ribale manustatud. Põhimõtteliselt väljastab PWM-i väärtusi mingi nihkeregister ja ribal on need ketas (ühe andme väljund on ühendatud järgmise andmesisestusega). Arduinoga nihutate baitide voogu välja, kui kasutate RGB riba 3 baiti LED-i kohta (1 baiti värvi kohta). Esimene WS2811 loeb need 3 baiti, määrab vastavalt sellele oma väljundid (PWM) ja väljastab ülejäänud andmevoo teisele pinile, et see jõuaks järgmise WS2811-ni. Ribal olevad LED-id on ühendatud WS2811 väljunditega.

Nii et kokkuvõttes salvestab WS2811 kiip selle LED-i praeguse soovitud oleku, mille ta sai Arduino andmevoo kaudu. Kiipidel pole otsest aadressi, kuid neid saab tuvastada nende asukoha järgi ribas. Seega ei saa kirjutada ainult viiendale LED-ile, kirjutamata ka enne seda LED-idele väärtusi. Kuid kui te ei soovi kogu riba seada, saate LED-idena väljastada vähem andmeid kui riba, ignoreerides lõpuks LED-e.


EDIT:

aga kuidas see esimest juhti ära tunneb?

Ribal on mõnevõrra sarnane andmerida. Kui vaatate riba mõlemas otsas selle joone märgistusi, peaksite tavaliselt riba ühes otsas nägema midagi sellist nagu "DI" ja "DO", mis tähendab Data In ja Data Out. Igal LED-il on oma Data In ja Data Out, mis on aheldatud järgmise ja eelmise LED-i külge. Esimene ja viimane valgusdiood paljastavad nende Data In või Data Out (vastavalt) riba välisküljele. Andmed sisestate esimese LED-draiveri Data In-i, mis väljastab ülejäänud andmed selle Data Out-tihvti juures, kus andmed saavad minna järgmisele draiverile. Nii et suund, milles andmed riba kaudu voolavad, on juba määratletud ja juhtmega ühendatud. Te ei saa riba kaudu andmeid teises suunas saata. Esimene LED on see, mis on otse riba rea ​​Data Data külge kinnitatud ja ühendatud Arduinoga.

Pidage meeles, et see pole aadress. Saate riba lõigata sobivasse kohta (nii et te ei hävitaks vooluahelat. Enamikul ribadel on need tükid regulaarselt iga või iga kolmanda LED-i järel) ja saate uue esimese LED-i, kui ühendate nüüd Data In, lõika riba, Arduinole. WS2811-ga LED-riba ei ole valgusdioodide massiiv ega maatriks, see on LED-kett. See erinevus on oluline selles, kuidas te neid kontrollite.

Selge vastus, kuid kuidas see esimest juhti ära tunneb?
@AnneMabellon Lisasin sellele täiendavaid selgitusi. Loodan, et see on nüüd selge.
vurp0
2018-06-18 03:20:29 UTC
view on stackexchange narkive permalink

LED-üksustel pole ühtegi oma ainulaadset aadressi, selle asemel indekseeritakse neid nende asukoha järgi LED-ide stringis. Kui sisestate andmeid esimesse LED-i, panete kogu värviväärtuste jada esimesse. Seejärel määrab ta oma värvi esimeseks järjestuses olevaks värviks ja väljastab seejärel kõik ülejäänud seeria järgmisele LED-le.

Ükski LED-idest tegelikult ei tea, kus nad ribas asuvad asukohas võtavad nad ainult esimese sissetuleva väärtuse, määravad sellele väärtusele oma värvi ja väljastavad seejärel ülejäänud väärtused seeria järgmisele LED-le.



See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 4.0-litsentsi eest, mille all seda levitatakse.
Loading...