According to the schematic the LEDs are hard connected between VCC and GND (with a 1k Resistor in serie). It may be an option to misuse the sensors INT pin and its limit threshold settings to switch the LEDs on and off. It is a open-drain with a max of 20mA. Or spend an extra I2C output driver (one Output for white LED or more if you want different LED colors - deep blue or ultra violet may be helpful to identify e.g. fluorescence).
Anyway, it will never be a spectrometer like device as there are only 3 colored sensors with a more or less wide spectral bandwith but still gaps between.
Posts made by holofloh
-
RE: [Product Revision] Color Sensor (U009) - Ability to turn off LEDs
-
RE: Alte Software auf neuem V1.1 läuft nicht.
Falls du das Gerät für kommerzielle Zwecke einsetzt: Du musst dir immer bewusst sein, dass ein Hersteller etwas ändern kann oder eine Abkündigung vornimmt. Es kann also sein, dass du es von einem auf den anderen Tag nicht mehr kaufen kannst.
Wenn dein Business davon abhängt, dass die Geräte in einer ganz bestimmten Version/Konfiguration vorliegen so solltest mit dem Händler bzw. Hersteller entsprechende langjährige Verträge abschliessen. Irgendwann wird der Hersteller dich allerdings informieren, dass ein Produkt abgekündigt wird. Idealerweise hast du dann aber Vorlaufzeit um eine Alternative zu finden und kannst noch eine ausreichend grosse Menge für den geschätzten Bedarf bis eine neue Lösung bereit ist an Lager legen.Weiter solltest du dich nicht auf Programmierer verlassen die irgendwann "nicht mehr greifbar" sind. Entweder gibt es auch hier einen (Wartungs-)Vertrag über eine bestimmte Laufzeit oder du bekommst die Softwarequellcodes inkl. Dokumentation in einer Form mit der sich ein anderer Programmierer innerhalb nützlicher Zeit einarbeiten kann. Wenn du die Softwareprogrammierung in Auftrag gegeben und dafür Geld bezahlt hast, dann "gehört" dir der Code sowieso.
-
RE: M5Burner on Manjaro Linux issues with dialout group
I think you have 2 issues.The 1st one is fixed now by adding you into the dialout group. This is very common on linux (also on Debian based like Ubuntu). It is a known issue in the Arduino community and other controller platforms.
The 2nd issue is that you don't see the COM port. You wrote "CARD Computer connected via USB" but did you press the button to get into the download-mode? Older M5 devices with separated USB UART CHip do not require that but the newer ones do as they are handle the USB port in a different way.
You may check if the USB Device appears in the syslog and lsusb as a UART bridge. -
RE: Alte Software auf neuem V1.1 läuft nicht.
Deine Frage hilft leider nur wenig bei der Fehlersuche.
- Gibt es Fehlermeldungen, Fehlfunktionen oder wie kommst du darauf, dass das Programm nicht mehr funktioniert?
- Hast du den Quellcode zur Verfügung oder ist der mit dem Programmierer zusammen verschollen?
- Welche Art Programm ist es? Ein UIFlow bzw. Python Script oder eine kompilierte Software in C (z.B. über die Arduino Umgebung)
Ein Script könnte auch von der UIFlow Version abhängen, ältere Scrips laufen nicht immer mit der neuesten Firmware und umgekehrt.
Versuche herauszufinden was zwischen den Versionen der Hardware geändert wurde (z.B. Zuweisung von Ports, I2C Adressen von verwendeten Komponenten usw.). Damit kann man dann den Grund für das Verhalten erklären und nach möglichen Lösungen suchen.
-
RE: Wie bekomme ich den API Key. Registrierung nur chinesisch? Gibt es eine englische Seite für die Registrierung?
Den API Key brauchst du nur für Geräte die du mit UIFlow verwenden willst.
Wenn du ein Gerät hast das UIFlow nutzt (z.B. einen M5StickPlus), dann wird der APIKEY nach dem Flashen der UIFlow Firmware auf dem Display angezeigt. Den kannst du auf der Seite flow.m5stack.com angeben und mit dem Gerät verbinden, sofern es auch in deinem WiFi verbunden ist. Bei UiFlow2 meldest du dich mit dem Username/Passwort an die du für dieses Forum nutzt.
-
RE: Kann Projekt öffnen aber nicht mehr speichern -> Netzwerkfehler
Da du "Browser" und "Cloud" schreibst, gehe ich davon aus du meinst UIFlow? Mit "Account" und "Rotary" gehe ich davon aus, du meinst UIFlow2. Solche Dinge sollten eigentlich in der Frage schon angegeben werden.
- Gibt es eine Fehlermeldung? Wenn ja welche genau?
- Hast du eine ältere Version der Datei die noch funktioniert?
- Möglicherweise wurde die Datei nicht vollständig gespeichert und es fehlt am Ende etwas.
Versuche die Datei mal in einem Texteditor zu öffnen und schau ob da vielleicht kryptische Zeichen sind die nicht hingehören. Vielleicht fehlt am Ende auch eine geschweifte Klammer "}".
Vielleicht ist die Datei auch einfach zu gross geworden, ich weiss allerdings nicht wo hier das Limit ist. -
RE: M5 card computer - doesn't care
What did you do with the device during the day of use?
- it may help to charge it for a few hours.
- If still not turning on there might be a faulty firmware, try to to enter download mode by press and hold the G0 button on StampS3 before turning it on, then release it after powering it on. If this works, erase and re-burn firmware.
-
RE: Shelly EM50 and Shelly PRO3M
Thanks, but I can't do it...
you can learn it!
Modbus TCP is nice but not very easy to use as you have to deal with "cryptic" IDs. Shelly devices are also support MQTT and HTTP(S). It may be more easy to get the required data by HTTP.
I know only the Gen1 devices but the Gen2 and Gen3 should work similar. All possible requests are well documented https://shelly-api-docs.shelly.cloud/
If you type in your browser http://<ip-address-of-your-shelly>/status you get a answer as a JSON file. This can be parsed very easy in UiFlow or Arduino to pick out the information you want. Once you have it in a variable you can display it, calculate with it or whatever you want.
-
RE: what's the Pin for M5dial BtnA
could it be that BtnA is a virtual touchscreen button?
-
RE: Connect connect via API KEY?
@membersound said in Connect connect via API KEY?:
No, do I have to? I just entered them in the setup boot menu via AP setup.
The result should be the same: connecting to WiFi. Might be that something went wrong and the name/password you entered had a typo or were not saved for any reason. Just as a test, try to set it in the burner tool.
-
RE: Connect connect via API KEY?
@membersound said in Connect connect via API KEY?:
Strange thing is that the device does not show up in my fritzbox network tab, where I usually find all devices.
If you not see the device in the fritzbox it seems not to be connected to the WiFi.
Are you using the latest UIFlow firmware and did you set the WiFi name and password by the M5burner while burning the firmware? Try to erase the device and burn again.@ajb2k3: fritzbox is the name for a series of internet access routers made by AVM. They are very common in europe.
-
RE: DisplayModule 13.2 - Plug and Play with m5Stack Core?
You need to define a label on the internal and another one on the external screen in the setup. In your screen update function (or your main loop) set them to the same value (or variable) and update both screens. As long as you use pre defined labels it is easy. It doubles the code for updateing but fix the issue. If you want to draw lines or print free text you have to deal with the different resolution an aspect ratio and calculate the coordinates. That require some smart thinking but is still far away from witchcraft.
-
RE: DisplayModule 13.2 - Plug and Play with m5Stack Core?
A simple copy&paste from Lcd.print to Display.print would not work in every case as the pixel number and aspect ratio of the internal LCD (320x240 / 4:3) and the external Display (up to 1920x1080 /16:9) could be different. Of course you can change the HDMI to low resolution such as 320x240 but this will look poor on a big screen. A picture of 4:3 on a 16:9 display will either be stretched or do not fully cover the screen depending on the display settings.
-
RE: M5paper: disable boot logo/menu
Sorry for digging this old post....but... I have the same Issue. My application should update the display "as smooth as possible" that means the short flickering for a full refresh is ok (takes less than 1 second) but not the whole startup flickering-clearing-UIFlowLogo-flickering-nothinguntilmydatagetready-flickering thing.
My solution is now a wait instead of sleep which draws the battery too fast.
Any idea how to do that in UIFlow? -
RE: UIFlow Display Pages, Settings page, alternate layouts
In one of my projects on M5Paper I simply create screens on the fly by a function that draws text, rects and images to the position I want after clearing the screen. There is no label or other UI element. The function is called with parameters from the main loop.
- clear screen
- draw a rect for title and insert title text
- move a image to position x,y and show it
- draw a table of content by looping thru a list and set x, y positions for text and lines
- show screen
-
RE: Hall effect Unit SKU:U084 programming
Here you find the information about this module: https://docs.m5stack.com/en/unit/hall
According to the schematic it contains three A3144 Hall-sensors and a 74HC08 AND-Logic.
The datasheet of the A3144 tells me that it has an open-collector output and the schematic that they are pulled up to 3.3V by resistors.
So the function is: as long as all three sensors are not in a magnetic field that is higher than the level for switching (see datasheet), the AND gate output is HIGH. If one or more of the sensors are triggered by magnetic field, the output goes LOW.
There is nothing to configure or program inside the module. The decission if the module fits to your project is up to you. By the way, if you plan to use a Arduino compatible controller it might be an option to use one that is based on ESP32. The controller already contains a Hall-Sensor.Just that you know: M5Stack does not make a mystery about the inside of their modules. You always find a schematic and all the datasheets that tells you everything about the hardware and its function. It is a big benefit if you learn to read and understand this informattion.
-
RE: Core2 - Sending midi to a DAW.
Core2 use a CP2104/CH9102F chip for USB-UART communication over USB. Your PC will see a UART (serial port) device (like the good old RS-232) not a midi device. To solve your problem you need either a piece of software on your PC that emulates a MIDI interface and route the data from UART or a piece of hardware that act as USB MIDI interface and is connected to your Core2 by GPIO. It might also be a solution to send MIDI over the (Wifi-) network.
-
RE: IMU - what is the best vibration sensor
Please specify the vibrations you want to measure. There is a big difference between a mosquito landing on a concrete block and a earthquake that cracks the block. Both has to do with vibrations...
The best will be to open the datasheets (both are linked) and compare. As far as I see the range and sensitivity are more or less similar for both sensors. -
RE: DMX Addressing
I don't see your problem. Just send the data to the according address of your light.
Maybe you do not understand the addressing of DMX lights?
You need to configure an individual start channel (address) for every light with a spacing of at least the number of channels your light support. E.g. your RBGW light is set to 4-channel-mode and its start channel is set to 1, then it listen to the channel 1, 2, 3 and 4. The next light can have the start channel 5 and so on. Some more complex lights like moving heads can have more than 30 channels. It is possible to have up to 512 channels per physical bus (called DMX universe)
You may set several identical lights to the same address but then they all do the same.
Also very important: The last light in the bus should have a terminator plug/resistor. It may work without but often a missing terminator cause strange effects on the DMX bus. -
RE: Random Integer Problem
According to https://xkcd.com/221/ the random number should be 4 :-)
In reality a randomizer will just be an algorithm to create numbers and often they get initialized by a timer. So if you always start the same code after reset and read the number it seems to met always the same initialisation. I miss a function to "randomize" the initialisation. Try to do it by any loop/function before that delays in a random way e.g. connection to wifi or read from a noisy AD channel until a specific value is read.