Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 1439
Hei

Noen som har erfaring med trådløs kommunikasjon med mikrokontroller (Atmel)? Jeg har et prosjekt hvor en kontroller er koblet direkte til 2 LED. Dermed er det enkelt å blinke disse lysene ved å skrive en passende byte til output.

Disse blinker da automatisk/uunngåelig i takt, siden begge er koblet direkte til samme chip (og klokkepuls/krystall).

Men hvordan ville man gå frem om for å få til et distribuert oppsett, hvor man har to separate chipper med hver sin LED? Jeg ser for meg en tredje krets (en kontroller, evt en mobilapp) som sender ut adressere bytes via feks Bluetooth. Jeg er nysgjerrig på noe input på hvordan man setter opp noe sånt, hvilken type trådløs kommunikasjon, og ikke minst hvordan man får til sync (blinke i samme takt).

Noen innspill?
- trådløs kommunikasjon: any. Eksempler:Bluetooth sender / mottaker som fungerer som en trådløs serieport, mikrokontroller med innebygd WiFi (eks: ESP8266)
- sende og motta informasjon mellom et (stort / lite) antall mikrokontrollere: mqtt (det finnes andre, men mqtt er veldig utbredt i IoT sammenheng)
Sist endret av tingo; 13. oktober 2018 kl. 01:10. Grunn: rettet stavefeil
Jeg ville gått for esp8266, disse får du i flere forskjellige størrelser og for faktorer.
Evt så kan du se på nrf24l01 brikken som gir deg 2.4ghz kommunikasjon til mikrokontrollere.

Nrf24 har ett bibliotek som gir WiFi på arduino, men du kan også benytte mysensors som er ett bibliotek for kommunikasjon mellom mikrokontrollere og en gateway.
▼ ... over en uke senere ... ▼
Trådstarter
22 0
Takk for tips!
Men, på generelt nivå, hvordan oppnår man synkronisering her?
Hvis lysene skal blinke i takt, så kan man vel ikke stole på at bytes mottas samtidig. Ideen er også at de to (eller ti) separate mottakerenhetene skal kunne kjøre forskjellig "blinkeprogram" -- men altså fortsatt i takt.

Jeg ser for meg at styringsenheten sender ut adresserte bytes, som de ulike mottakerene responderer på. Siden synlig blinkefrekvens naturlig begrenser seg til <60Hz så klarer man fint å forsyne mottakerenhetene med hver sin adresserte byte med en overføringsrate på 9600 baud. Så vidt jeg forstår gir dette 960 bytes/sek, eller 16 bytes ved 60Hz. Hvis man baserer seg på at N enheter mottar 1 adressert byte hvert 1/60 sekund, så kan vi da støtte max N=16 enheter.

Er det en mulig fremgangsmåte å rett og slett sende ut en adressert blinkeinstruks (byte hvor en eller flere bits angir lys av/på), i ønskelig tempo/frekvens? Det er jo klart at et slikt oppsett vil drifte ut av synk etter hvert, men kanskje det ikke blir merkbart (innen tiden man har noe sånt kjørende)? Alternativt måtte man vel ha et oppsett hvor mottakerene bufrer opp sitt blinkeprogram på noe vis.
Jeg bruker edmx/sACN protokollen hjemme for å kontrollere addreserbare ws2812 leds over wifi.

Jeg har 2 stk esp8266 med 60 addreserbare ws2812 leds hver som er satt opp som DMX klienter med egen ip.
Så bruker jeg vixen for å sende DMX data til disse klientene. Jeg har aldri merket at de går ut av sync uansett hvor lenge de står på. De kjører som regel ett predefinert lysshow/mønster som går i loop og kan stå på i dagesvis uten problemer.

Men det er fullt mulig at de går noen ms ut av sync men for mitt formål er det ikke merkbart.

Hvordan du oppnår synkronisering er jo litt avhengig av hvordan du setter dette opp og hva slags bruk det er tiltenkt (skal det blinke i takt med Random musikk eller spille av en predefinert sekvens?).
Du kan jo kjøre en del av "blinke programmet" lokalt på nodene og bare bruke trådløs kommunikasjon for å starte/endre programmet.

FastLED biblioteket for å styre leds lokalt på hver node og/eller eDMX protokollen for å fjernstyre leds kan være greit å sjekke ut.
Sist endret av random105675; 21. oktober 2018 kl. 12:09. Grunn: Automatisk sammenslåing med etterfølgende innlegg.