seveibar/led-water-accelerometer

This is an LED matrix with an accelerometer and a PICO. When you tilt the PCB, the LEDs dim and change color to simulate water flowing.

Version
1.0.18
License
unset
Stars
7

.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc

LS0tCmRlc2NyaXB0aW9uOiBVc2UgQnVuIGluc3RlYWQgb2YgTm9kZS5qcywgbnBtLCBwbnBtLCBvciB2aXRlLgpnbG9iczogIioudHMsICoudHN4LCAqLmh0bWwsICouY3NzLCAqLmpzLCAqLmpzeCwgcGFja2FnZS5qc29uIgphbHdheXNBcHBseTogZmFsc2UKLS0tCgpEZWZhdWx0IHRvIHVzaW5nIEJ1biBpbnN0ZWFkIG9mIE5vZGUuanMuCgotIFVzZSBgYnVuIDxmaWxlPmAgaW5zdGVhZCBvZiBgbm9kZSA8ZmlsZT5gIG9yIGB0cy1ub2RlIDxmaWxlPmAKLSBVc2UgYGJ1biB0ZXN0YCBpbnN0ZWFkIG9mIGBqZXN0YCBvciBgdml0ZXN0YAotIFVzZSBgYnVuIGJ1aWxkIDxmaWxlLmh0bWx8ZmlsZS50c3xmaWxlLmNzcz5gIGluc3RlYWQgb2YgYHdlYnBhY2tgIG9yIGBlc2J1aWxkYAotIFVzZSBgYnVuIGluc3RhbGxgIGluc3RlYWQgb2YgYG5wbSBpbnN0YWxsYCBvciBgeWFybiBpbnN0YWxsYCBvciBgcG5wbSBpbnN0YWxsYAotIFVzZSBgYnVuIHJ1biA8c2NyaXB0PmAgaW5zdGVhZCBvZiBgbnBtIHJ1biA8c2NyaXB0PmAgb3IgYHlhcm4gcnVuIDxzY3JpcHQ+YCBvciBgcG5wbSBydW4gPHNjcmlwdD5gCi0gQnVuIGF1dG9tYXRpY2FsbHkgbG9hZHMgLmVudiwgc28gZG9uJ3QgdXNlIGRvdGVudi4KCiMjIEFQSXMKCi0gYEJ1bi5zZXJ2ZSgpYCBzdXBwb3J0cyBXZWJTb2NrZXRzLCBIVFRQUywgYW5kIHJvdXRlcy4gRG9uJ3QgdXNlIGBleHByZXNzYC4KLSBgYnVuOnNxbGl0ZWAgZm9yIFNRTGl0ZS4gRG9uJ3QgdXNlIGBiZXR0ZXItc3FsaXRlM2AuCi0gYEJ1bi5yZWRpc2AgZm9yIFJlZGlzLiBEb24ndCB1c2UgYGlvcmVkaXNgLgotIGBCdW4uc3FsYCBmb3IgUG9zdGdyZXMuIERvbid0IHVzZSBgcGdgIG9yIGBwb3N0Z3Jlcy5qc2AuCi0gYFdlYlNvY2tldGAgaXMgYnVpbHQtaW4uIERvbid0IHVzZSBgd3NgLgotIFByZWZlciBgQnVuLmZpbGVgIG92ZXIgYG5vZGU6ZnNgJ3MgcmVhZEZpbGUvd3JpdGVGaWxlCi0gQnVuLiRgbHNgIGluc3RlYWQgb2YgZXhlY2EuCgojIyBGcm9udGVuZAoKVXNlIEhUTUwgaW1wb3J0cyB3aXRoIGBCdW4uc2VydmUoKWAuIERvbid0IHVzZSBgdml0ZWAuIEhUTUwgaW1wb3J0cyBmdWxseSBzdXBwb3J0IFJlYWN0LCBDU1MsIFRhaWx3aW5kLgoKU2VydmVyOgoKYGBgdHMjaW5kZXgudHMKaW1wb3J0IGluZGV4IGZyb20gIi4vaW5kZXguaHRtbCIKCkJ1bi5zZXJ2ZSh7CiAgcm91dGVzOiB7CiAgICAiLyI6IGluZGV4LAogICAgIi9hcGkvdXNlcnMvOmlkIjogewogICAgICBHRVQ6IChyZXEpID0+IHsKICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKEpTT04uc3RyaW5naWZ5KHsgaWQ6IHJlcS5wYXJhbXMuaWQgfSkpOwogICAgICB9LAogICAgfSwKICB9LAogIC8vIG9wdGlvbmFsIHdlYnNvY2tldCBzdXBwb3J0CiAgd2Vic29ja2V0OiB7CiAgICBvcGVuOiAod3MpID0+IHsKICAgICAgd3Muc2VuZCgiSGVsbG8sIHdvcmxkISIpOwogICAgfSwKICAgIG1lc3NhZ2U6ICh3cywgbWVzc2FnZSkgPT4gewogICAgICB3cy5zZW5kKG1lc3NhZ2UpOwogICAgfSwKICAgIGNsb3NlOiAod3MpID0+IHsKICAgICAgLy8gaGFuZGxlIGNsb3NlCiAgICB9CiAgfSwKICBkZXZlbG9wbWVudDogewogICAgaG1yOiB0cnVlLAogICAgY29uc29sZTogdHJ1ZSwKICB9Cn0pCmBgYAoKSFRNTCBmaWxlcyBjYW4gaW1wb3J0IC50c3gsIC5qc3ggb3IgLmpzIGZpbGVzIGRpcmVjdGx5IGFuZCBCdW4ncyBidW5kbGVyIHdpbGwgdHJhbnNwaWxlICYgYnVuZGxlIGF1dG9tYXRpY2FsbHkuIGA8bGluaz5gIHRhZ3MgY2FuIHBvaW50IHRvIHN0eWxlc2hlZXRzIGFuZCBCdW4ncyBDU1MgYnVuZGxlciB3aWxsIGJ1bmRsZS4KCmBgYGh0bWwjaW5kZXguaHRtbAo8aHRtbD4KICA8Ym9keT4KICAgIDxoMT5IZWxsbywgd29ybGQhPC9oMT4KICAgIDxzY3JpcHQgdHlwZT0ibW9kdWxlIiBzcmM9Ii4vZnJvbnRlbmQudHN4Ij48L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4KYGBgCgpXaXRoIHRoZSBmb2xsb3dpbmcgYGZyb250ZW5kLnRzeGA6CgpgYGB0c3gjZnJvbnRlbmQudHN4CmltcG9ydCBSZWFjdCBmcm9tICJyZWFjdCI7CgovLyBpbXBvcnQgLmNzcyBmaWxlcyBkaXJlY3RseSBhbmQgaXQgd29ya3MKaW1wb3J0ICcuL2luZGV4LmNzcyc7CgppbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAicmVhY3QtZG9tL2NsaWVudCI7Cgpjb25zdCByb290ID0gY3JlYXRlUm9vdChkb2N1bWVudC5ib2R5KTsKCmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEZyb250ZW5kKCkgewogIHJldHVybiA8aDE+SGVsbG8sIHdvcmxkITwvaDE+Owp9Cgpyb290LnJlbmRlcig8RnJvbnRlbmQgLz4pOwpgYGAKClRoZW4sIHJ1biBpbmRleC50cwoKYGBgc2gKYnVuIC0taG90IC4vaW5kZXgudHMKYGBgCgpGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVhZCB0aGUgQnVuIEFQSSBkb2NzIGluIGBub2RlX21vZHVsZXMvYnVuLXR5cGVzL2RvY3MvKioubWRgLgo=