Difference between revisions of "M5stack Atom Matrix"

From RevSpace
Jump to navigation Jump to search
(Jouw projecten hier?)
 
(14 intermediate revisions by 4 users not shown)
Line 26: Line 26:
 
* 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.
 
* 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 38: 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
* accelled: animeert kleurtjes op alle LEDs (FastLED) op basis van versnellingsmeter
+
* toont kleurtjes op LEDs op basis van versnellingsmeter
  
 
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 88: Line 99:
 
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.
 
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
 
* 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 01: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. :)