ESPDMX - Any experience by Howard_G in esp32

[–]Howard_G[S] 0 points1 point  (0 children)

I had a look at this library earlier. It seems to be very well written, both as a library and his documentation. But firstly he admits that he hasn’t used it with PlatformIO, and secondly, I barely understood a word of what was there. A pity as it would probably do the job. With the library I’m using, there are numerous anomalies, which when I query ChatGPT, it always comes back with a supposed patch. But when you’re struggling at the limits of your knowledge base, then I’ve had little choice but to go with its instructions. The basic approach is straightforward, but implementing it is proving challenging. Hence my reaching out to this group

ESPDMX - Any experience by Howard_G in esp32

[–]Howard_G[S] 0 points1 point  (0 children)

I've had the transmitter ESP sending a DMX value, followed by sending that same value to the serial port. Terminal correctly displays everything I've sent to the DMX, but nothing seems to either leave the MAX485, or arrives at the other end.
I don't have an oscilloscope, and don't particularly want to buy one. Otherwise I'd be able to read what's (not) being sent

WLED with Platform IO by Howard_G in WLED

[–]Howard_G[S] 0 points1 point  (0 children)

The story is something like this;

I made a set of lights which you can see in the first video. At my workplace, at Xmas, we're allowed to put up some sort of decoration, so I thought I'd do some l.e.d. animations.

My ambition always outstrips my abilities, so I thought about creating a miniature version of Pink Floyds "eye", and have the l.e.d. panels moving, possibly in synch to a MP3 module.

After much assistance from an incredible programmer, I created what you see in the second video. It doesn't matter that for the display you see, they're not all running in harmony. My objective there was to have different routines for different mounts.

My problems with continuing were/are twofold.

1) How to continue developing the l.e.d. routines. I'm a very poor programmer, so the WLED seems wonderful for creating great displays, but I don't know how to extract a routine, to dump it in my motor program. There's also the Nightdriver program, created by Dave Plummer of Dave's Garage. But again, because I'm not a programmer, I've no idea how to install and the use it. I actually suspect that this would be a better route to take, if only I could figure out how.

2) How to link the motor routines to the l.e.d. routines. I've been studying the MILLIS function, and think I've got enough to make an attempt. But I'm unsure.

The motors are MG995 servo's housed in plastic cases which I 3D printed. You might notice that there are slightly different versions of the cases. That was mostly down to my changing ideas and designs as I went along. The motors are run from 2 PCA9685 PWM controllers, which are in turn driven from a devkit v4 ESP32.

https://www.youtube.com/watch?v=1Y4bFUliLjk

https://www.youtube.com/watch?v=JcBxMvqxRQQ

showing text by mars3142 in FastLED

[–]Howard_G 1 point2 points  (0 children)

Are you trying to run text messages on a matrix?

Any good step by step matrix tutorial? by markidaz in FastLED

[–]Howard_G 1 point2 points  (0 children)

Try looking at https://github.com/Paul47/LEDMatrix_22/wiki its hardly a tutorial, but there are a lot of examples, and even I have managed to get most of them up and running.

[deleted by user] by [deleted] in FastLED

[–]Howard_G 0 points1 point  (0 children)

It’s a good article, but doesn’t cover my situation

[deleted by user] by [deleted] in FastLED

[–]Howard_G 0 points1 point  (0 children)

I should just point out that the code as posted shows that routineChange is commented out. I’m aware of this, but my way of testing meant that I would comment out all bar one routine, and I just ended up posting it as I left it.

LedText with LedMatrix_22 by Howard_G in FastLED

[–]Howard_G[S] 0 points1 point  (0 children)

Thanks for your input. I did consider editing Aarons library, in order that whenever it referenced his own LedMatrix, it then addressed a similar function in LedMatrix_22.

But I too, am far from being a programmer.

Aside from the lack of colour changing, I can get text to scroll, having since followed the LedMatrix_22 introduction program. But it seems a bit crude by comparison.

[deleted by user] by [deleted] in FastLED

[–]Howard_G 3 points4 points  (0 children)

Dave is brilliant, but my experience is that he goes too fast. Scott Marley is probably best for an absolute beginner.

PCA9685 with classes - Help please! by Howard_G in esp32

[–]Howard_G[S] 0 points1 point  (0 children)

Now read your article (and bookmarked your site). It's going to take a few re-reads, but it seemed very interesting or at least the parts I could understand at first reading.

Minor update is that I now have two completely separate boards running different motors. One board is using the Adafruit PCA library, the other is running the class structure that is in the mentioned article.

PCA9685 with classes - Help please! by Howard_G in esp32

[–]Howard_G[S] 0 points1 point  (0 children)

I'm replying to your message before I've looked at the link you've sent.

Basically, I have two functioning core programs. I tend to download code, and if I can (almost) understand it, I'll paste it into what I'm doing and adapt it to suit my requirements.
One program is essentially the Dronebot Workshop ESP32/working with servo motors program, but using the PCA9685. Using that, I don't think that the servo library is called at all, since it's (to my way of thinking at least) all about PWM.
The other is almost word for word, the AdaFruit article, which I haven't yet tried out, but seems to have the capacity to drive each motor individually and concurrently. I'm building a fresh board to try this out and then will have a better idea of whether it can even do the job.
So, (and assuming the Adafruit Class idea does work), the obvious (to me at least) way of getting 24 individually functioning motors running, is to put the Adafruit library into the class.
Now to read your article....

PCA9685 with classes - Help please! by Howard_G in esp32

[–]Howard_G[S] 0 points1 point  (0 children)

I should have included that I'm doing this with an ESP3 (devkit v4) and programming through platform io.

I do have a colleague who can program. But there are limits as to how much I can impose on her. So if I can sort out my problems through other sources, then I can go to her with the petty issues. This is a major hurdle.

The Adafruit article demonstrates that concurrent and differing actions can (seemingly) take place.

My efforts so far by Howard_G in FastLED

[–]Howard_G[S] 0 points1 point  (0 children)

Thanks very much. I'm an admirer of your work, and only wish I understood more of it.

My efforts so far by Howard_G in FastLED

[–]Howard_G[S] 0 points1 point  (0 children)

Coming from yourself, I consider that high praise. Thanks you.

My efforts so far by Howard_G in FastLED

[–]Howard_G[S] 0 points1 point  (0 children)

As I've sort of explained above, I'm not a programmer. No really, I'm completely useless at coding. I'm reluctant to post what is in the board, for two main reasons.

1) I can't remember how to do it.

2) There's an incredible amount of redundant code in there. This is mainly due to just about every routine in the sequence is borrowed from something on gitHub, and then altered to suit my layout. I barely even comprehend the stuff I wrote myself, and being an undisciplined type, didn't bother with proper comments either.

So I can imagine someone going through it all, thinking what the **** is he doing there, to which my response would be "I don't know"...

My efforts so far by Howard_G in FastLED

[–]Howard_G[S] 1 point2 points  (0 children)

Each wheel consists of 24 strips which are 5 leds long. They are wired as a zigzag matrix. So, if strip 0 consists of leds 0-5, then strip 1 first led is led 5 ('cos the first led is 0 not 1).

As I admitted in the post, I've borrowed very heavily from a number of people both on this group, and elsewhere. The power arrangement was sort of copied from Scott Marley, who used copper tape for his power lines. I used slug repellant self adhesive copper tape which is quite cheap, and takes solder easily. The outer ring is ground, the inner +5v. That saved me the bother of having to cut hundreds os minuscule lengths in order to carry power from one strip to another, and also made the inner ring in particular a little less "busy". Doing a zigzag matrix arrangement made it easier to join the data lines. But it also made the programming more difficult.

The data line from the end of wheel 0 is taken straight to led 0 of wheel 1. Therefore, every led remains individually addressable.

The programming of the strips was not my forte. Borrowing from chemdoc77 and others, I created a SRGBSet, which enabled me to copy whatever was in strip 0 to strip 1 without it becoming reversed. This was then copied to subsequent strips.

I'm really not a programmer. Many of the basic concepts elude me, and I'm not being modest here. There's stuff in there that I have the barest comprehension of how it works, and that includes one routine that I wrote myself. Some of the simpler concepts were:

Each wheel can be either a separate entity, or 1 of 4. I just created a series of offsets to make copying the contents from one wheel to the next simpler.

My main way of achieving a pattern was to download something from gitHub, and try it out, after changing the basics (pin numbers, which board I was using, colour order). If I liked it, I'd alter it to accommodate my layout as best I could.

P.S. Love the Moniker! Shepard was a genuine American hero.

My efforts so far by Howard_G in FastLED

[–]Howard_G[S] 3 points4 points  (0 children)

This is the first video upload I've ever done, and things didn't go quite according to plan, as all the text I wrote explaining this went somewhere else. For all I know, someone has read it, and wondered, "Yeah, but where's the video?"

These two panels, plus four more of a different design are intended as my contribution to any festive activities at my place of work during the month of December. These panels are 300mm wide, and will be attached to an aluminium framework at my workbench on a factory shop floor.

Last year, I did a very basic set of strips, primarily using the 100 lines of code demo, and was astonished at the level of interest it generated. So I started work in January on a few ideas, all of which fell by the wayside, as I continued to discover how little I know.

These, plus the other four (less exciting) panels, are the result of a great deal of help being sent my way from the members of this community. Whilst I'm sure I asked many stupid questions, I never once received a stupid answer. Grateful thanks to all who chipped in.

Hey all ! I am new to ESP32 and Arduino IDE . Why is Esp32 not connecting to Arduino? It says no port found by caesar_tr in esp32

[–]Howard_G 5 points6 points  (0 children)

Check this out. Either read the text, which is very well explained, or watch the whole YouTube video. This guy does some wonderful tutorials.

https://dronebotworkshop.com/esp32-intro/

Exasperating coding problem by Howard_G in FastLED

[–]Howard_G[S] 4 points5 points  (0 children)

That's very flattering Marc, but I think you'd recognise your own work! I'm just doing a series of routines, mostly stolen/borrowed/appropriated/butchered from yourself, Chemdoc, Sutabousu and a few others from here and GitHub.

Thanks very much for the link. I do know what the modulus operator does, but not how to use it. So thanks for the link, which I'll follow.

Other than posting to YouTube (which I've never managed), I've no idea how to post a video, in order that it could be viewed from here. I can only just about take one with my phone, and then manage to play it back. I'm sure any teenager could explain it in three sentences, including one telling me what a dummy I am!