M5stack Atom Matrix: Difference between revisions

From RevSpace
Jump to navigation Jump to search
 
(28 intermediate revisions by 7 users not shown)
Line 3: Line 3:
   |Picture=2020-04-09 17.14.52.jpg
   |Picture=2020-04-09 17.14.52.jpg
   |Omschrijving=Klein ESP32 dingetje waar we er veel van hebben
   |Omschrijving=Klein ESP32 dingetje waar we er veel van hebben
   |Status=Initializing
   |Status=Completed
   |Contact=Sebastius
   |Contact=Sebastius
   |Contact1=F0x
   |Contact1=F0x
Line 13: Line 13:


==Belangrijk volgens m5stack==
==Belangrijk volgens m5stack==
NOTE: We have set the brightness of RGB LED limited to 20. Pls DO NOT set it higher to avoid damaging the LED and acrylic screen.
"NOTE: We have set the brightness of RGB LED limited to 20. Pls DO NOT set it higher to avoid damaging the LED and acrylic screen." —M5
 
Oftewel:
 
    void setup() {
        ...
        FastLED.setBrightness(20);
        ...
    }
 
==Handige tips==
==Handige tips==
* WS2812B zit op pin 27 (25 stuks, led 0 linksboven als de USB connector naar je toe ligt, van links naar rechts), met de kleurvolgorde GRB ([https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/WS2812B-2020_EN.PDF datasheet])
* WS2812B zit op pin 27 (25 stuks, led 0 linksboven als de USB connector naar je toe ligt, van links naar rechts), met de kleurvolgorde GRB ([https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/WS2812B-2020_EN.PDF datasheet])
* Als je de Arduino IDE gebruikt, kies dan als board "ESP32 Pico Kit" met 115200 als upload speed.
* De upload speed is cruciaal. Gebruik '''maximaal 115200 baud''', sneller kan de USB-serial in het dingetje niet aan.


==Foto's==
==Foto's==
Line 28: Line 39:
==Jouw projecten hier?==
==Jouw projecten hier?==


=== demo code met platformio ===
=== kleurtje op basis van versnellingsmeter ===
[[File:accelled.jpg|thumb|right|200px|shake it for pretty colors]]
Zie: https://github.com/bertrik/atommatrix
Zie: https://github.com/bertrik/atommatrix


Wat doet het:
Wat doet het:
* voorbeeld van een demo-project met platformio
* voorbeeld van een demo-project met platformio
* zegt "Hello World!"
* toont kleurtjes op LEDs op basis van versnellingsmeter
* animeert kleurtjes op alle LEDs (FastLED)


Compile en upload:
Compile en upload:
  cd accelled
  pio run -t upload && pio device monitor
=== waterpas ===
[[File:m5level.jpg|thumb|right|200px|bubble moves when tilted]]
Zie: https://github.com/bertrik/atommatrix
Compile en upload:
  cd level
   pio run -t upload && pio device monitor
   pio run -t upload && pio device monitor


Line 43: Line 63:
* https://github.com/Juerd/mumble-ping-esp32/commit/8951d2046e2a1a59b8d60c86b083ad5d65db85dd
* https://github.com/Juerd/mumble-ping-esp32/commit/8951d2046e2a1a59b8d60c86b083ad5d65db85dd
* Fork && improve!
* Fork && improve!
* Momenteel de nieuwste: https://github.com/f0x52/mumble-ping-esp32
* Momenteel de nieuwste: https://github.com/revspace/mumble-ping-esp32


=== Push to Talk (of een willekeurig keyboard knopje) via BLE ===
=== Push to Talk (of een willekeurig keyboard knopje) via BLE ===
* https://github.com/sebastius/AtomPTT
* https://github.com/sebastius/AtomPTT


=== Second a completely accurate second counter including 10 and 100 of seconds in different colors ===
=== Seconds counter with 10s and 100s seconds interval in different colors ===


* https://gist.github.com/Yornik/4f389cf738b04fcdd16d426f9ed69e1d
* https://gist.github.com/Yornik/4f389cf738b04fcdd16d426f9ed69e1d
Line 55: Line 76:


* https://gist.github.com/Kartoffel/6c617b232e3f39842af5577d5abd9e38
* https://gist.github.com/Kartoffel/6c617b232e3f39842af5577d5abd9e38
[[File:Atom_IR_hack.jpg|100px]] Overkill IR led hack. De Atom heeft standaard al een infraroodledje, maar een externe is wat makkelijker om te buigen en te richten.
=== Seconds counter for washing hands using updated number srites based of [https://www.dafont.com/5x5.font this font] . ===
* https://gist.github.com/Yornik/5db9cd381b9f9598e859bc34931f0f51
=== Another hand washing counter ===
* https://github.com/Juerd/hand-washing-timer
* Preview: https://www.youtube.com/watch?v=XdrLNXJY4wY
=== Dobbelsteentje ===
* https://github.com/devnuller/m5dice
Druk op de faceplate voor het volgende getal. Het scherm doorloopt 3 verschillende kleuren, zodat je ook als je 2x op rij hetzelfde gooit ziet dat het toch echt het volgende getal is.
=== Nog een dobbelsteentje ===
* https://github.com/Juerd/m5atom-dice
=== Matrixflut ===
Stuur 5×5×3 = 75 bytes aan rauwe binaire RGB data naar test.mosquitto.org op het MQTT-topic "matrixflut" om het plaatje op de matrix te tonen.
* https://github.com/Juerd/m5atom-matrixflut
==== Desktop matrixflut viewer ====
Om zonder M5 te zien wat matrixflut doet: https://gist.github.com/Kartoffel/7c31d3daace1c01abf03aa0bcdcf716c
Gebruikt paho-mqtt en sty, installatie met <code>sudo -H python3 -m pip install paho-mqtt sty</code>
[[File:m5flut_viewer.png|100px]]
=== Heartbeat ===
Simpel demo-tje van een van de ''beat'' functies in FastLED en de ''ArduinoTapTempo'' library. Het laat een hartje zien die pulseert op een bepaalde beats/min. Beats/min instelbaar via het knopje. Gewoon drukken op de gewenste tempo.
* https://github.com/costyn/atommatrix/tree/master/heartbeat  (Repo is een fork van Bertrik)
=== Pomodoro ===
Counts out work/break cycles of 47/13 minutes using orange/blue color. You can press the screen to immediately take a break or return to work.
See: https://github.com/qguv/m5atom-pomodoro
What it does:
* Adds orange LEDs for 47 minutes until they're all orange
* Switch color to blue and blinks
* Blanks LEDs for 13 minutes until they're all dark
* Blink orange a few times
* Repeat
Compile and upload:
  make upload
Warning: the LEDs exceed their recommended brightness for a few 20ms intervals during the flashes at the end of each cycle. I found that it couldn't get my attention otherwise.
Don't mind the commit history; in a past life, it was an ESP8266 gas meter. Then it was a breathalyzer.
=== ISS / people in space tracker ===
Shows a crude image of the earth globe, with a pixel indicating the approximate position of the ISS.
See: https://github.com/bertrik/peopleinspacenow
When you press the button, it shows the current number of people in space right now (max 9).
=== CoronaMelderMelder ===
* https://github.com/Juerd/m5atom-corona
* Zet een ledje aan per GAEN-device dat beacons uitstuurt, de kleur varieert met de signaalsterkte.
* De BLE-ontvangst van de ESP32 is nogal ruk dus het heeft nog minder bereik dan BLE tussen telefoons.
* Bekijk de seriële output als je de RPI's zelf wilt zien.
* Verdiep je in de werking van het protocol voordat je klaagt over privacy of allerlei doemscenarios verzint. De techniek zit netjes in elkaar. :)

Latest revision as of 00:24, 21 August 2020

Project M5stack Atom Matrix
2020-04-09 17.14.52.jpg
Klein ESP32 dingetje waar we er veel van hebben
Status Completed
Contact Sebastius, F0x, Juerd, Foobar, Maxell, WinSCaP
Last Update 2020-08-21

Belangrijk volgens m5stack

"NOTE: We have set the brightness of RGB LED limited to 20. Pls DO NOT set it higher to avoid damaging the LED and acrylic screen." —M5

Oftewel:

   void setup() {
       ...
       FastLED.setBrightness(20);
       ...
   }

Handige tips

  • WS2812B zit op pin 27 (25 stuks, led 0 linksboven als de USB connector naar je toe ligt, van links naar rechts), met de kleurvolgorde GRB (datasheet)
  • Als je de Arduino IDE gebruikt, kies dan als board "ESP32 Pico Kit" met 115200 als upload speed.
  • De upload speed is cruciaal. Gebruik maximaal 115200 baud, sneller kan de USB-serial in het dingetje niet aan.

Foto's

2020-04-09 17.14.52.jpg2020-04-09 17.14.47.jpg Ezgif-2-b8e6f24def0d.jpgEzgif-2-1bb5107b82ff.jpg

Datasheets, linkjes etc

Jouw projecten hier?

kleurtje op basis van versnellingsmeter

shake it for pretty colors

Zie: https://github.com/bertrik/atommatrix

Wat doet het:

  • voorbeeld van een demo-project met platformio
  • toont kleurtjes op LEDs op basis van versnellingsmeter

Compile en upload:

 cd accelled
 pio run -t upload && pio device monitor

waterpas

bubble moves when tilted

Zie: https://github.com/bertrik/atommatrix

Compile en upload:

 cd level
 pio run -t upload && pio device monitor

Mumble-indicator

Push to Talk (of een willekeurig keyboard knopje) via BLE

Seconds counter with 10s and 100s seconds interval in different colors

MQTT naar infrarood bridge

Atom IR hack.jpg Overkill IR led hack. De Atom heeft standaard al een infraroodledje, maar een externe is wat makkelijker om te buigen en te richten.

Seconds counter for washing hands using updated number srites based of this font .

Another hand washing counter

Dobbelsteentje

Druk op de faceplate voor het volgende getal. Het scherm doorloopt 3 verschillende kleuren, zodat je ook als je 2x op rij hetzelfde gooit ziet dat het toch echt het volgende getal is.

Nog een dobbelsteentje

Matrixflut

Stuur 5×5×3 = 75 bytes aan rauwe binaire RGB data naar test.mosquitto.org op het MQTT-topic "matrixflut" om het plaatje op de matrix te tonen.

Desktop matrixflut viewer

Om zonder M5 te zien wat matrixflut doet: https://gist.github.com/Kartoffel/7c31d3daace1c01abf03aa0bcdcf716c

Gebruikt paho-mqtt en sty, installatie met sudo -H python3 -m pip install paho-mqtt sty

M5flut viewer.png

Heartbeat

Simpel demo-tje van een van de beat functies in FastLED en de ArduinoTapTempo library. Het laat een hartje zien die pulseert op een bepaalde beats/min. Beats/min instelbaar via het knopje. Gewoon drukken op de gewenste tempo.

Pomodoro

Counts out work/break cycles of 47/13 minutes using orange/blue color. You can press the screen to immediately take a break or return to work.

See: https://github.com/qguv/m5atom-pomodoro

What it does:

  • Adds orange LEDs for 47 minutes until they're all orange
  • Switch color to blue and blinks
  • Blanks LEDs for 13 minutes until they're all dark
  • Blink orange a few times
  • Repeat

Compile and upload:

 make upload

Warning: the LEDs exceed their recommended brightness for a few 20ms intervals during the flashes at the end of each cycle. I found that it couldn't get my attention otherwise.

Don't mind the commit history; in a past life, it was an ESP8266 gas meter. Then it was a breathalyzer.

ISS / people in space tracker

Shows a crude image of the earth globe, with a pixel indicating the approximate position of the ISS.

See: https://github.com/bertrik/peopleinspacenow

When you press the button, it shows the current number of people in space right now (max 9).

CoronaMelderMelder

  • https://github.com/Juerd/m5atom-corona
  • Zet een ledje aan per GAEN-device dat beacons uitstuurt, de kleur varieert met de signaalsterkte.
  • De BLE-ontvangst van de ESP32 is nogal ruk dus het heeft nog minder bereik dan BLE tussen telefoons.
  • Bekijk de seriële output als je de RPI's zelf wilt zien.
  • Verdiep je in de werking van het protocol voordat je klaagt over privacy of allerlei doemscenarios verzint. De techniek zit netjes in elkaar. :)