Thanks for sharing this - also to Aaron, I have built it and this absolutely rocks. Such a great project, combining soldering, woodworking, lasercutting and programming. SW is running like a charm and the result looks awesome. 16x16 thumbs up!
Nice job! I did something similar to this. I made a drawing board that you could draw images and you could also play connect 4 on it. Other games I was thinking about adding is chess as well as tetris like this.
Can you please create a tutorial on how to use Aaron Liddiment libraries such as the LEDText library? There is no tutorial or straightforward explanation on how to use them on the Internet. Please do it!!
I don't have time to make videos at the moment, sorry! And you're correct, it was very difficult to work out how to use that library, even though its incredibly useful! I figured stuff out by reading the examples and lots of experimenting. Sorry I can't help you right now.
Change line 14 to one of the following HORIZONTAL_MATRIX, VERTICAL_MATRIX, HORIZONTAL_ZIGZAG_MATRIX, VERTICAL_ZIGZAG_MATRIX depending on how your matrix is wired.
Amazing Work Scott! Wondering if you have stumble upon this issue when creating the project? "Tetris/Tetris.ino: In function 'void loop()': Tetris:494:30: error: call of overloaded 'abs(long unsigned int)' is ambiguous if (abs(millis() - LastLoop) >= LoopDelayMS)": I tried already casting the abs result, but don't know what could be causing. Funny enough other ledSprites, LedFonts, examples work!
@@ScottMarley thanks, already solved the problem... I put every game (snake.h, pixel.h, Tetris.h, breakout.h) on is own folder! Thanks for the totorial, for great!
Hello. It´s a nice work. But i have a problem with compile the code in Arduino. It´s end in the error "LEDSprites.cpp:311:45: error: no matching function for call to 'max(int, uint8_t&)'". I have install the last LEDsprites, LEDMatrix and LEDtext library from the github. Arduino 2.0.4. Can you help me?
@@bm1296 try adding or removing a - (minus) before MATRIX_WIDTH or MATRIX_HEIGHT in the line: cLEDMatrix leds; That should flip the matrix in various ways
I wouldn't know how to code a chess AI, but perhaps there are simple open source examples you could borrow from. Then you would need to write an interface to play it on the phone which might be tricky. Finally the code to show the game on the matrix would be fairly easy compared to the other two parts.
@@ScottMarley Voucher. I've been studying your thesis code and understanding its semantics. Thank you also for sharing the source of the application, it will help me to modify and create the interface. By the way, when I try to compile your project, it gives me an error on line 415, right at the beginning of the voit loop. if (abs(millis() - LastLoop) >= LoopDelayMS) exit status 1 call of overloaded 'abs(long unsigned int)' is ambiguous
Not that I'm aware of. If you are using an iPhone, you would do it through a web interface running on the ESP (unless you really want to write an iPhone app!). You'd have to do all of the processing in JavaScript on the webpage then send the resulting pixel data to the ESP as the full size image would be way too big for the ESPs RAM. Unless I'm missing something obvious! Not trivial.
Thank you a lot for sharing this. I have also build GameFrame with an ESP32 but i connected the data pin right to the top like zigzag. I dont know how to adapt the code for this. Can you help me?
@@j.palmstedt9640 No problem. I've got a new version of the code I will post a video about at some point where you can also play snake and breakout. Keep an eye out for that!
Thanks for sharing this - also to Aaron, I have built it and this absolutely rocks. Such a great project, combining soldering, woodworking, lasercutting and programming. SW is running like a charm and the result looks awesome. 16x16 thumbs up!
Amazing channel Scott! Been bingeing all night. Thanks for the help and brilliant tutorials
Thank you, that's very kind. Now I just have to get the time to make some more videos at some point!
THANKS YOU!!!!!
That's exactly what I looked for!!! Perfect timing !!
I'm so happy that you made this tutorial :) :)
Glad to hear it! Let me know if it all works out for you :)
@@ScottMarley I sent you email titled: OBEYZYJ! - ESP32 LED tetris :)
Nice job! I did something similar to this. I made a drawing board that you could draw images and you could also play connect 4 on it. Other games I was thinking about adding is chess as well as tetris like this.
More games! czcams.com/video/apmOSQmeKJA/video.html
Can you please create a tutorial on how to use Aaron Liddiment libraries such as the
LEDText library? There is no tutorial or straightforward explanation on how to use them on the Internet. Please do it!!
I don't have time to make videos at the moment, sorry! And you're correct, it was very difficult to work out how to use that library, even though its incredibly useful! I figured stuff out by reading the examples and lots of experimenting. Sorry I can't help you right now.
I keep getting an error code please help me
exit status 1
call of overloaded 'abs(long unsigned int)' is ambiguous
Change if (abs(millis... = if (abs((int)(millis() - LastLoop)) >= LoopDelayMS
@@timgiaychuyenadidasreal4800 Holy Shit tysmmmm
Bro same
@@timgiaychuyenadidasreal4800 this worked appreciate you!!
how did you build the led-screen? did you 3dprint anything or how did you divide the leds? and what material on top of the leds? very nice project!!!
Build process is here czcams.com/video/_0a9JZLGu4M/video.html
I have a matrix in serpentine lines and not in Rows with what can I define that? Because now everything is mixed up. Help!!!
Change line 14 to one of the following HORIZONTAL_MATRIX, VERTICAL_MATRIX, HORIZONTAL_ZIGZAG_MATRIX, VERTICAL_ZIGZAG_MATRIX depending on how your matrix is wired.
I found it👍😊
For others:That works with HORIZONTAL_ZIGZAG_MATRIX and VERTICAL_ZIGZAG_MATRIX
nice ..very nice ..nice tutorial.
subcribed
How could I adapt it for a 10 x 10 matrix?
Amazing Work Scott! Wondering if you have stumble upon this issue when creating the project?
"Tetris/Tetris.ino: In function 'void loop()':
Tetris:494:30: error: call of overloaded 'abs(long unsigned int)' is ambiguous
if (abs(millis() - LastLoop) >= LoopDelayMS)":
I tried already casting the abs result, but don't know what could be causing. Funny enough other ledSprites, LedFonts, examples work!
Marcelo, do this: if(abs(long(millis()) - LastLoop >= LoopDelayMS)
Just need to specify the millis() a little more with the long part
Interesting !
coool....
hallo ser guta videa!
i have problome, how did you do that tetris.h or smake.h are libraries? i put hem in the libraries folder and steal not working
help me please
They should be in same folder as the ino file.
@@ScottMarley thanks, already solved the problem... I put every game (snake.h, pixel.h, Tetris.h, breakout.h) on is own folder!
Thanks for the totorial, for great!
Hello. It´s a nice work. But i have a problem with compile the code in Arduino. It´s end in the error "LEDSprites.cpp:311:45: error: no matching function for call to 'max(int, uint8_t&)'". I have install the last LEDsprites, LEDMatrix and LEDtext library from the github. Arduino 2.0.4. Can you help me?
The Arduino api changed after the code was written. There is an explanation on how to fix it here czcams.com/video/apmOSQmeKJA/video.html
@@ScottMarley thanks for the help. Its compiled. I have only one problem. the screen has mirrored the picture.
@@bm1296 try adding or removing a - (minus) before MATRIX_WIDTH or MATRIX_HEIGHT in the line: cLEDMatrix leds; That should flip the matrix in various ways
How difficult is it to program a chess game and visualize it on a ws2812b panel?
I wouldn't know how to code a chess AI, but perhaps there are simple open source examples you could borrow from. Then you would need to write an interface to play it on the phone which might be tricky. Finally the code to show the game on the matrix would be fairly easy compared to the other two parts.
@@ScottMarley
Voucher. I've been studying your thesis code and understanding its semantics. Thank you also for sharing the source of the application, it will help me to modify and create the interface.
By the way, when I try to compile your project, it gives me an error on line 415, right at the beginning of the voit loop.
if (abs(millis() - LastLoop) >= LoopDelayMS)
exit status 1
call of overloaded 'abs(long unsigned int)' is ambiguous
Is there a tutorial on how to send jpgs, gifs, and text in real time using an iPhone app instead of android?
Not that I'm aware of. If you are using an iPhone, you would do it through a web interface running on the ESP (unless you really want to write an iPhone app!). You'd have to do all of the processing in JavaScript on the webpage then send the resulting pixel data to the ESP as the full size image would be way too big for the ESPs RAM. Unless I'm missing something obvious! Not trivial.
Thank you a lot for sharing this. I have also build GameFrame with an ESP32 but i connected the data pin right to the top like zigzag. I dont know how to adapt the code for this. Can you help me?
If you have the data in going to the top left of the matrix and a zig-zag pattern, change line 13 to "#define MATRIX_TYPE HORIZONTAL_ZIGZAG_MATRIX".
@@ScottMarley Thanks. Works perfectly :D
@@j.palmstedt9640 No problem. I've got a new version of the code I will post a video about at some point where you can also play snake and breakout. Keep an eye out for that!
What source do you use to power the esp32 to use the w2812 led?
I use a USB power bank to power both.
@@ScottMarley how much capacity?
@@timgiaychuyenadidasreal4800 10,000mAh lasts about 4-5 hours.
@@ScottMarley What is the output of Powet bank???
@@timgiaychuyenadidasreal4800 5V and I think 2.4A. I limit the current to 2000mA in the code.
How did you build your matrix?
See the making of video here czcams.com/video/_0a9JZLGu4M/video.html
Thisi code support in ws2811
It should do, but I haven't tried it. You will need to change the chipset define on line 11 to WS2811
It's true, terrible at tetris