hallo
een sketchje met arduino MEGA,die random 1 ledje op het matrix display zet,vond ik leuk.

#include "LedControl.h"

LedControl lc=LedControl(12,11,10,1);

void setup()
{
  lc.shutdown(0,false);
  lc.setIntensity(0,8 );
  lc.clearDisplay(0);
}

void loop()
{
  lc.setLed(0, random( 8 ) , random( 8 ) , true); // set a random led
 
  delay(50);
  lc.setLed(0, random( 8 ) , random( 8 ) , false); // clear a random led
  lc.clearDisplay(0);
  delay(50);
}
lc.setLed(0, random( 8 ) , random( 8 ) , false); // clear a random led

deze regel reset dus niet dezelfde led als je daarvoor set,
daarbij maak je die complete regel overbodig door vervolgens een 'clear all' te doen

Ik denk dat dat de bedoeling is, je moet dit eerder zien als een soort sterren display :)

ik ken de library niet,

maar cleardisplay(0); zet toch gewoon alle leds uit?? ga ik van uit?
dan snap ik de regel daarvoor niet om 1 led uit te zetten?

ik zou zeggen, of een willekeurige led, of alles, dus 1 van die 2 regels voor verschillende effecten, beide regels klinkt raar

als ik geen cleardisplay doe dan blijft de helft van het display vol staan,en ik wou juist dat er maar een ledje aan gaat random.

ja snap ik als je 2x random gebruikt,
bereken je kansen dat je toevallig dezelfde random led set en reset.

dat dacht ik al, die regel is dus gewoon overbodig

je hebt gelijk 2de regel die met false verwijderd doet het zelfde ,bedankt

heb nu zo en werkt prima.

#include "LedControl.h"

LedControl lc=LedControl(12,11,10,1);

void setup()
{
  lc.shutdown(0,false);
  lc.setIntensity(0,8 );
  lc.clearDisplay(0);
}

void loop()
{
  lc.setLed(0, random( 8 ) , random( 8 ) , true); // set a random led
   delay(50);
     lc.clearDisplay(0);
  delay(50);
}

of je laat die " // clear a random led" regel gewoon weg,
dus
.
delay(50);
lc.clearDisplay(0);
delay(50);
Edit: ik zie dat je daar ondertussen achter bent

of variant B je gebruikt 2 hulp variabelen
int rij = random(8);
int kolom = random(8);
lc.setLed(0, rij , kolom , true);
delay(50);
lc.setLed(0, rij , kolom , false);
zodat je dezelfde led hebt, werkt ook prima

en dan eigenlijk die delays er nog uit werken en vervangen voor een timer / interrupt

sterrenhemel was ook een leuk idee,
of een random van 4, en daarmee noord,zuid,oost,west bepalen, en een loop lichtje maken,
en zo zijn er nog wel een aantal dingen hoe je met zo'n display kunt spelen

dit werkt wel ,maar dan zie je zo'n 20 leds tegelijk,is niet mooi

#include "LedControl.h"

LedControl lc=LedControl(12,11,10,1);

void setup()
{
  lc.shutdown(0,false);
  lc.setIntensity(0,8 );
  lc.clearDisplay(0);
}

void loop()
{
 int rij=random(8);
 int kolom =random(8);
 lc.setLed(0,rij,kolom,true);

 lc.setLed(0,rij,kolom,false);
 
}

onbewust aan het multiplexen?
de delay staat er niet tussen

de delays weg werken is wat anders dan compleet schrappen.

en ja, als je wat langer programmeert snap je dat die dingen ondingen zijn, vooral als je je controller 2 functies wilt laten uitvoeren, of 10, je hebt niet voor niks een mega

millis is toch ook dat het bepaalde tijd niks doet??
of zie ik het verkeerd???
en is meer programmeer werk dacht ik???

millis is de interne klok,
die kun je inderdaad gebruiken voor dit soort timingsfuncties,

delay heeft het nadeel dat het heel je microcontroller lam legt, als je 2 dingen programmeert, bv een knipperend ledje, en het uitlezen van een knop, werken beide functies niet meer terwijl je er meestal maar 1 wil laten wachten

ik weet enkel niet hoe dat werkt met die millis ,of timer.