How to Rotate Sprites (TFT_ESPI library) PROGRAMING TUTORIAL

แชร์
ฝัง

ความคิดเห็น • 121

  • @BeTheGuitar
    @BeTheGuitar 5 หลายเดือนก่อน +3

    Your channel is a treasure trove of knowledge, Volos. I just signed up as a Patreon patron. Thanks for your clear explanations.

  • @chipko
    @chipko 2 ปีที่แล้ว +8

    I just bought a few more boards because you inspire me to make things!
    Another great video!

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว +4

      haha, never enougth boards.

  • @bitmaker_
    @bitmaker_ ปีที่แล้ว +2

    Another super useful project!
    I used this on my previous YT project.
    Thanks for this content!

  • @phaZed9
    @phaZed9 2 ปีที่แล้ว +5

    Just wanted to drop in and say, you are a great teacher and these tutorials are fantastic! I have a fairly decent history with 16 and 32 bit micros - and have created many projects. I've even used screens - but mostly pushing lines of text. Now I understand and know of the existence of these methods in the tft library.. thank you for that! Absolutely brilliant mate! This whole series has been outstanding. Subscribed.

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว +1

      Thank you Aaron. Your comment is great motivation. Thank you.

  • @krusethorsten
    @krusethorsten 2 ปีที่แล้ว +1

    WOW, I tried this for my analog watch many times, only got stupid solutions, working, but bad coding. This video gave me all what I need to programm a analog watch I need. Thanks a lot!

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว

      Tnx, I am glad you finded your solution.

  • @greglogan4443
    @greglogan4443 2 ปีที่แล้ว +4

    This is brilliant....thank you!! I've been struggling on a similar project with transparencies in sprites and your video showed me how to fix it. Thank you!!

  • @phakalanep7241
    @phakalanep7241 2 ปีที่แล้ว +3

    Thanks for this can not wait to try this out

  • @tonyparakka4038
    @tonyparakka4038 ปีที่แล้ว

    Thank you! Love your step-by-step build up of the full code! Really helps understanding how to go about it!

  • @lobster123
    @lobster123 2 ปีที่แล้ว +1

    I am just starting with esp32 programming on the S3 display, and your videos are super helpful. Hopefully you have more projects coming up, really looking forward.

  • @amimandlReal
    @amimandlReal 2 ปีที่แล้ว +2

    I want to thank you for making these videos and explaining them so well ! Liked, Subscribed and bought you a coffee! Keep up the good work!

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว

      Thank you, comments like this makes me happy. Thank you for coffee also.

  • @paul.newland
    @paul.newland 11 หลายเดือนก่อน

    Your sprite tutorials are absolutely brilliant!

    • @VolosProjects
      @VolosProjects  11 หลายเดือนก่อน +1

      Thank you, and thank you for coffee

  • @danielsnyder6900
    @danielsnyder6900 10 หลายเดือนก่อน

    Great tutorial! Reading the API is one thing but sample code makes it clearer, thanks

  • @adamschofield2960
    @adamschofield2960 8 หลายเดือนก่อน +1

    Excellent...your training ability is superb. THANKS.

  • @jimbooth2010
    @jimbooth2010 2 ปีที่แล้ว

    Great video.. really appreciate how you build code in steps which reveals the problems and how to fix it. Thanks!!

  • @Mister_G
    @Mister_G 4 หลายเดือนก่อน

    Useful and very clearly explained, thank you!

  • @TekGeekDad
    @TekGeekDad 2 ปีที่แล้ว

    Nice and clear. Thanks for the great video and walk through of creating. I need to look more at the functions available in the sprite library.

  • @ytfp
    @ytfp 2 ปีที่แล้ว +1

    Great tutorial and such talent, I hope many will leave you good feedback and comments for such a great video and sharing your work. Love this!

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว

      Thank you, i hope the will :)

  • @AksamDar
    @AksamDar 2 ปีที่แล้ว

    Great video. Very precise and very clear. Hope you keep on doing such tutorials regularly.

  • @Teknosofen1
    @Teknosofen1 ปีที่แล้ว

    Excellent, not too hard to follow but very educational for me - thanks!

  • @2001pulsar
    @2001pulsar 2 ปีที่แล้ว +2

    Thanks for your guidance.
    Love the content.

  • @egealkoyak1530
    @egealkoyak1530 2 ปีที่แล้ว +15

    Here is the video I was looking for! Your videos really help me a lot for my projects. Is it possible that we can adjust the transparency of an image or pixel projected on the st7789? If possible, we would like to see how this is done in your video. Please keep posting videos!

  • @rocoroco15
    @rocoroco15 ปีที่แล้ว

    Thank you again so much for your excellent lesson - I follow every move and are able to replicate your result - this is so satisfying! Can't wait for the next lesson!

  • @lucianostech
    @lucianostech 2 ปีที่แล้ว +1

    Great video, easy to follow and learn in the way

  • @marksummers9543
    @marksummers9543 5 หลายเดือนก่อน

    Thank you for this video, 🙏. I really appreciate it .

  • @eldjmasterfreddy4366
    @eldjmasterfreddy4366 3 หลายเดือนก่อน

    Great tutorial, Thanks for sharing

  • @rickharms1
    @rickharms1 7 หลายเดือนก่อน +1

    The &(ampersand) is a C (C++) pointer to memory, I get that. However the line "back.pushSprite(0,0);" has me confused. I would have thought the coordinates would be more around the pivot. ?? Also, I am trying to find any documentation of all the TFT-SPI functions. The Bodmer github has some (kind'a) in the .h files, but appears not complete and confusing. For example, where did you learn about drawWedgeLine? I know you are smart, but you do not pull things out of ........ I will say thin air. Thank you.

  • @zyghom
    @zyghom 2 ปีที่แล้ว +1

    amazing job! thank you

  • @rene-jeanmercier6517
    @rene-jeanmercier6517 ปีที่แล้ว +1

    This is great ! Thank you for sharing your knowledge. Regards, RJM

    • @VolosProjects
      @VolosProjects  ปีที่แล้ว

      Thank you Rene, i am happye you found something useful for yourself.

  • @jasongreenwood3260
    @jasongreenwood3260 ปีที่แล้ว

    I learned a lot! Thank you!

  • @NielsNL68
    @NielsNL68 2 ปีที่แล้ว +1

    thanks for this tutorial, i was wondering could you move lines 19 to 24 of the last shots to the setup() section?

  • @Jackie-sg8es
    @Jackie-sg8es ปีที่แล้ว +1

    Good content as always. I am going to try and make an artificial horizon (EADI) with a MPU 6050 and rotating sprites as you’ve demonstrated. Many Thanks.

  • @srfrg9707
    @srfrg9707 2 ปีที่แล้ว +1

    Hi Volos. I have bought a TDisplay and I use Arduino V2. I can't manage to get any picture on the TFT screen (blank screen). I saw that there is an issue with some versions of TFT_eSPI by Bodmer. I found a old topic on the arduino forums with the same issue and it seems that one needed the version 2.4.71 to make the board word correctly. The current versions is 2.5.0. My issue is that the older versions available are 2.4.61 ; 2.4.72 and 2.4.79
    Are you aware ot that issue and how do one resolve it?

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว

      I dont know what is version of library, you need to use modified version of library lilygo provided th-cam.com/video/gpyeMjM9cOU/w-d-xo.html

    • @srfrg9707
      @srfrg9707 2 ปีที่แล้ว

      @@VolosProjects Thanks. I found out my issue. It was not sofware related. It's a hardware failure. The screen goes black if I hold it by a specific area. I need to presson the screen to make the picture come back but it's very random. 😒 I have no luck with chinese products.

  • @josipX
    @josipX 2 ปีที่แล้ว +1

    svaka čast legendo

  • @RatthaninWartcheeranon
    @RatthaninWartcheeranon ปีที่แล้ว

    good tutorial, simple understanding, I've got a question Can we put needle sprite fill and draw, also background circle in SETUP loop, and leave only angle increment and needle.pushRotate() in the main loop?
    (I haven't tried the code yet.)

  • @jeffreymorris1752
    @jeffreymorris1752 ปีที่แล้ว

    Very useful. Thank you.

  • @sltechgalaxy1677
    @sltechgalaxy1677 2 ปีที่แล้ว +2

    thanks for this video

  • @gazzacroy
    @gazzacroy ปีที่แล้ว

    brilliant video. very interesting :)

  • @scome98
    @scome98 ปีที่แล้ว

    Excellent!! Thank you for doing these. very informative and I'm just starting to dabble with it. One question. How would you make a gradient gauge? Say for temperature going from Cold (blue) to normal (green) to hot (yellow and red) in a circle? Would you need to calculate the colors on the fly or maybe just doing a JPEG and using it as the background?

  • @LuismiRey82
    @LuismiRey82 ปีที่แล้ว

    Excelente! 😃👍

  • @MarkStevenson-f6k
    @MarkStevenson-f6k 9 หลายเดือนก่อน +1

    Hello sir. Great job. I enjoy your projects. Have you considered creating an artificial horizon project using spites? I'd like to create a working display on a 2 or 3 inch screen for my grandson who recently became a commercial pilot. I've struggled with the coding to create the display and pivot the background with roll and pitch.
    Thanks for your great tutorials.

  • @jfseaman1
    @jfseaman1 2 ปีที่แล้ว +1

    Thank you.

  • @terjeoseberg990
    @terjeoseberg990 ปีที่แล้ว +1

    This tutorial was very easy to follow, but you failed to explain why it would blink if you erased the sprite with tft.fillscreen(TFT_BLACK) rather than drawing another sprite as the background. Also, maybe you should have showed it blink.
    I assume there’s some sort of double buffering that’s going on, and all drawing happens on the hidden screen buffer. Then some command triggers a swap buffers after everything has been drawn. It would be nice if you explained this and told us which command is swapping the buffers. And if there is no double buffer, how is it avoiding blinking?

  • @leehewitt9559
    @leehewitt9559 ปีที่แล้ว

    Fantastic again my friend.

  • @Edmorbus
    @Edmorbus 2 ปีที่แล้ว +1

    Thanks for sharing

  • @yanhuang4911
    @yanhuang4911 ปีที่แล้ว

    great tutorial, thank you! a question: how do I push rotated sprite to a specified location? something like pushRotated(x, y, angle, &background)

  • @dans-designs
    @dans-designs ปีที่แล้ว

    love your tutorials! thank you so much!!
    do you know if it is possible to rotate a .bmp stored in SPIFFS - or is there a way to use a .bmp as a sprite??

  • @guythegeek
    @guythegeek ปีที่แล้ว

    Hi I have been using an SCD4X CO2/temp/humidity sensor from sensirion with a T-display-S3 displaying data in the form of three ring meters (TFT eSPI) everything works fine with my computer (USB connected) but when I use the t-display plugged to an usb adapteur the screen remains black. After investigation it looks like there is a ledc initialisation error. As the CO2 sensor is working only on I2C pins 43 and 44 I believe that we may have a conflict between I2C and the display. I am not very good in programming. The fact that it works with my computer and not pluged in a wall socket seems to be very strange. Any idea would be appreciated. Regards.

  • @BlaineL
    @BlaineL ปีที่แล้ว

    Thank you so much for your videos. I'm excited to learn more about this T-S3 device!
    It's been so hard to find updated reliable information on it. I'd love to see how you can add an 8 or 16 bit IO Expander - if you're taking requests ;) I still haven't found out where the SCL/SDA pins are or even if there are any default interrupt pins I can use to pass back from the expander! Anyway - I'm off to buy you a coffee! Love your videos!

    • @VolosProjects
      @VolosProjects  ปีที่แล้ว +1

      Thank you Blaine, on esp32 any pins can be scl or sda, all pins can be used as interupts. Tnx for coffee 😀

    • @BlaineL
      @BlaineL ปีที่แล้ว

      @@VolosProjects Oh ! Wow. Fantastic. No wonder I couldn't find anything... LOL Thanks again!

  • @masoudsh5133
    @masoudsh5133 ปีที่แล้ว +1

    very excellent I wish you could explain the rest of the steps

  • @teocerda5367
    @teocerda5367 ปีที่แล้ว

    Hi thank you for your videos, do you have any ring gauge example? it's hard to find a good video or tutorial to build a ring gauge to measure speed or temperature.

  • @purgiaali
    @purgiaali 2 ปีที่แล้ว

    The tft library has some dark colour defined as TFT_TRANSPARENT. You could use that if you need black in your sprite.

  • @heyheyjc
    @heyheyjc 3 หลายเดือนก่อน +1

    Surely you shouldn't build your sprites in the loop? Build them one time then use them in the loop.

  • @JuStiCe1er
    @JuStiCe1er 3 หลายเดือนก่อน

    Hi, can I use this code to make an dashboard rotating 360° with an gyroscope ? thanks for your videos.

  • @Windorey
    @Windorey 2 ปีที่แล้ว

    Hello, do you have any plans on using the LVGL library? It offers great UI and even has an editor called SquareLine studio, it created the UI code automatically

  • @martyngriffin5943
    @martyngriffin5943 ปีที่แล้ว

    Before a sprite is pushed to the sreen, I would like to rotate it about 30 degrees before I draw the features onto it. How?

  • @Attic-Toy-Design
    @Attic-Toy-Design 2 ปีที่แล้ว +1

    Hi! Is it possible to make a clock using .jpg image frames in a Lilygo T-Display S3? I have some nice .jpg numbers image frames and I'd like to use them to build a clock. Is one of your tutorials able to explain the process? If not, could you make a sample one to be downloaded from Github? I pay you a nice coffee! Thanks!

  • @maikelmolto8986
    @maikelmolto8986 ปีที่แล้ว

    I really appreciate this video - nicely done, very informative. Your approach is intuitive. However, now I am struggling to change the coordinates of the commands to adapt to a bigger TFT - and really got lost. A few extra words about the parameters along the line when you entered them would have made this vid a real burner.

  • @TheSolderingGuy007
    @TheSolderingGuy007 ปีที่แล้ว

    Awesome. Subscribing 🙂

  • @TYGAMatt
    @TYGAMatt ปีที่แล้ว

    Super helpful

  • @No1sonuk
    @No1sonuk ปีที่แล้ว

    Kind of disappointed you didn't show the compass part.
    Also, is there a way to define 3 pivot points? I want to draw a 3-axis aircraft trim indicator.

  • @ATS3788
    @ATS3788 ปีที่แล้ว

    wonderful project. grüße aus Deutschland

  • @rodrigca22
    @rodrigca22 ปีที่แล้ว

    I noticed you pushed the sprite to a position, then removed the positioning command. How do you redefine the position of the sprite?

  • @bengtkarlsson9747
    @bengtkarlsson9747 ปีที่แล้ว

    New with the M5Dial..
    How would i modify this code to get it woking on M5Dial? I'm still confused - but on a higher level🙄Probably something obvious i guess.

  • @WagonLoads
    @WagonLoads 2 ปีที่แล้ว

    I am trying to find the right pins used for i2c, but the ones I tried so far cause the serial port to give an error dump...
    Is there a special setting in the IDE drop-down menu to turn on i2c functionality?

  • @santiagobermudez7290
    @santiagobermudez7290 4 หลายเดือนก่อน

    when I look for the function drawWegdeLine, it does not exist in the library, is there any other option, I am trying to make the needles of the compass.

    • @VolosProjects
      @VolosProjects  4 หลายเดือนก่อน

      @@santiagobermudez7290 you probqbly have wrong library, do you use library from lilygo rep

  • @fatihcemalcan3280
    @fatihcemalcan3280 ปีที่แล้ว

    Is it possible to use both translate and rotate for sprites? I tried to use translate and rotate on a single sprite. However, i could not make. Thank you for your videos.

  • @lukaspetrikas6320
    @lukaspetrikas6320 ปีที่แล้ว

    I find your videos very helpful. It would be very nice to see a video of you working with TFT displays on esp-idf platform. Do you code on esp-idf or only on Arduino?

  • @arturpoldan8816
    @arturpoldan8816 ปีที่แล้ว

    Nice tutorial. Could you put all the sprite drawing in setup and leave only push in the loop?

  • @minglv
    @minglv ปีที่แล้ว

    Write the code according to the video, but the screen does not display. Not sure what the problem is?😅

  • @JonMcPhalen
    @JonMcPhalen 9 หลายเดือนก่อน

    I tried following along using my M5StickC Plus-2 and the simple code bricked my device. It took a while to figure out how to unbrick it, but I bricked it again double-checking the code. I've got a T-Display-S3 on order. That said, I have a project that I want to use the M5StickC for (special IR control), so I'm hoping I can sort out what's happening.

    • @VolosProjects
      @VolosProjects  9 หลายเดือนก่อน

      Hm, thease are two diferent boards, this tutorial will not work for m5stick.

    • @VolosProjects
      @VolosProjects  9 หลายเดือนก่อน

      What versiom of m5stuck cpkus you have, old or new? M5stick have diferent sprite aproach

    • @JonMcPhalen
      @JonMcPhalen 9 หลายเดือนก่อน

      @@VolosProjects The version giving me fits is the Plus2. I have the regular Plus (1.1) as well.

  • @edivollgas719
    @edivollgas719 2 ปีที่แล้ว

    great job
    example on t-rgb round display would be perfectly helpfull.......

  • @svencz1089
    @svencz1089 ปีที่แล้ว

    hi, I tried to rotate a second picture on a picture. That works, but I can't move the rotation point from the middle with "setPivot". it always revolves around the center of the display. only the point of the image around which it rotates changes.

    • @VolosProjects
      @VolosProjects  ปีที่แล้ว

      You used sprite.setPivot or tft.setPivot

    • @svencz1089
      @svencz1089 ปีที่แล้ว

      @@VolosProjects tft.setPivot(45, 110); in Setup and in loop zeigerSprite.setPivot(22,110);. I have both in the program, pointerSprite.setPivot(22,110); changes the rotation point in the image but not the rotation point on the display. at tft.setPivot(45, 110); unfortunately nothing changes when the values are changed

    • @VolosProjects
      @VolosProjects  ปีที่แล้ว

      @@svencz1089 first, thank you for coffe, please, send me your whole code on arduino.b2016 gmail.com , tomoraow iw will check it and try to fix it

    • @svencz1089
      @svencz1089 ปีที่แล้ว

      @@VolosProjects ok thx.

  • @ipadize
    @ipadize 2 ปีที่แล้ว

    can you show how to use drawString? I have a problem where i can manipulate a number with a encoder and increase it but when i decrease it then the last number is still visible on the screen, when it changes from for example 10 to 9. I would like to do something like drawString(number, 0, 0, 2) + (" ") but that obviously doesnt work.

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว +1

      tft.drawString(String(number)+" ",0,0,2);

    • @ipadize
      @ipadize 2 ปีที่แล้ว

      @@VolosProjects thank you, i will try this 😊

    • @ipadize
      @ipadize 2 ปีที่แล้ว +1

      @@VolosProjects yep worked :)

  • @almazcarpets
    @almazcarpets ปีที่แล้ว

    Any project on vedio transmission and reception via Lora modules

  • @gringocallo1002
    @gringocallo1002 2 ปีที่แล้ว

    sir good day, sir can you make a stopwatch with wireless stop/start button with this lilygo t-display s3

  • @oldNavyJZ
    @oldNavyJZ ปีที่แล้ว

    I ordered one from them but it came dead. Solid green LED and a solid red LED. Sometimes won't even power on.

    • @oldNavyJZ
      @oldNavyJZ ปีที่แล้ว +1

      @@BlondieHappyGuy I actually tried this before reading your post and it finally worked with pretty much the same effort. I can now get compiled code on it.
      I think it just didn't have anything loaded - like they missed that step at the factory, or it was corrupt. In any case, it is working now.
      They need better tech writers.

  • @Intesanoga
    @Intesanoga 2 ปีที่แล้ว

    This is perfect, Im making a speed gauges with a moving needle on a round display and a GPS module for my and my friends mopeds.
    This will combined many of your tutorials that you have released lately.
    Does anybody know of a good esp32 and SPI screen emulator so I can test my code while Im waiting for the parts to arrive?
    Future plans for the display is also to show measured speed from hall-sensor and RPM from a capacitive sensor (wire) turned around the spark plug wire.

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว

      Thank you, i wish that there is simulator but for now i think there is no such a software. Tnx again.

  • @RonAdamsky
    @RonAdamsky 2 ปีที่แล้ว

    Please project ESP S3 Internet radio with new display.
    Thanks for your all interesting things.

  • @jeffreymartinez1848
    @jeffreymartinez1848 2 ปีที่แล้ว

    Hey Volos, I just found your chanel and need some guidance with a project game I'm working on

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว

      Hello, how can i help you?

    • @jeffreymartinez1848
      @jeffreymartinez1848 2 ปีที่แล้ว

      @@VolosProjects we are building a ttgo portable console and making a specific game that is will load. We believe you can be the lead programmer. I've sent you a coffee with my contact info on Kofi

  • @rickharms1
    @rickharms1 6 หลายเดือนก่อน

    Is there a Discord server that supports TFT_eSPI?

  • @Elad6k
    @Elad6k 2 ปีที่แล้ว +1

    Cool video, as always, look at your email, I sent you a cool future project with the T-display

    • @VolosProjects
      @VolosProjects  2 ปีที่แล้ว

      sorry, i will check it right now

  • @2flying4fun
    @2flying4fun 6 หลายเดือนก่อน

    I always like your tutorials. I tried the compas code. I get a warning while compiling for the TTGO LoRa32 OLED:
    "TOUCH_CS pin not defined", it uploads and works OK (a part is missing on the right because of the lower resolution of course). I also get that warning in this tutorial: th-cam.com/video/osAOdmZuvDc/w-d-xo.html (I'm trying the battery power indicator, but the screen remains dark), and haven't been able to figure out what to do to fix it. Maybe you can?

    • @VolosProjects
      @VolosProjects  6 หลายเดือนก่อน

      @@2flying4fun hm, this is not easy to uploar to older board, ttgo can handle sprite this bug becouse lack of PSRAM

    • @VolosProjects
      @VolosProjects  6 หลายเดือนก่อน

      You just need to install all libreries properly, it will fix all errors

    • @VolosProjects
      @VolosProjects  6 หลายเดือนก่อน

      Did you try reinstall your board, are library examples working?

    • @2flying4fun
      @2flying4fun 6 หลายเดือนก่อน

      @@VolosProjects Hi,
      I reinstalled the board and all examples seem to be working fine.
      The "TOUCH_CS pin not defined" warning keeps coming up and I can't determine where it comes from.

    • @VolosProjects
      @VolosProjects  6 หลายเดือนก่อน

      @@2flying4fun if is only warning dont worry

  • @viktorhugo8252
    @viktorhugo8252 หลายเดือนก่อน

    You can make a Roulette game with this….

  • @mikemorrow4949
    @mikemorrow4949 ปีที่แล้ว

    You really need to edit for time. This is really boring watching code upload over and over.