55 lines
1.3 KiB
Markdown
55 lines
1.3 KiB
Markdown
# Lampenmuesli
|
|
|
|
void setup() {
|
|
// put your setup code here, to run once:
|
|
|
|
}
|
|
|
|
void loop() {
|
|
// put your main code here, to run repeatedly:
|
|
|
|
// Ich bin Pseudocode:
|
|
|
|
Declare a buffer LightState
|
|
Declare a serial tx
|
|
Declare a serial rx
|
|
Declare an analog source of the brightness sensor
|
|
Declare a source of the event that is the movement sensor
|
|
Declare a manual switch
|
|
Declare a bool that means even or odd as a neighbour decider.
|
|
Declare a named struct called payload that contains (PayloadData and Direction)
|
|
|
|
|
|
}
|
|
|
|
|
|
// Freeform notes:
|
|
|
|
Even Odd Model tinkering
|
|
|
|
E O E O E
|
|
E O E O E
|
|
E O E O E
|
|
|
|
|
|
According to this setup, at least in a line graph, E's only comm with O's and other way around.
|
|
But this is actually bad, is it?
|
|
Because now an O in the middle of 2 E's can still not discern if the message came from side 1 or side 2.
|
|
|
|
Can we even/odd differently?
|
|
|
|
E E O O E E O O E E O O E E O O
|
|
E E O O E E O O E E O O E E O O
|
|
E E O O E E O O E E O O E E O O
|
|
E E O O E E O O E E O O E E O O
|
|
E E O O E E O O E E O O E E O O
|
|
|
|
Now every node can at last make a difference between sides.
|
|
But there is no channel annotation. So we have to put the senders chosen side into the serial message.
|
|
Can we get a proper absolute direction from this?
|
|
|
|
|
|
Random address self assignment per activity event?
|
|
|
|
We get triggered
|