Arduino GUI Part 1 Communications

Поделиться
HTML-код
  • Опубликовано: 20 июл 2024
  • This is a series of six videos that covers the creation of a Windows application to control devices connected to an Arduino microprocessor. C# is used to develop serial communications between the PC and an Arduino. The C# windows form app is further developed to transmit both analog and digital data and commands in both directions between the Arduino and PC.
    Video Summary:
    Part 1: Set up serial communications and send digital commands to the Arduino from the PC GUI
    Part 2: Expand the program to send analog data to the Arduino to set the angle of a servo motor
    Part 3: Add intensity control of LEDs on the Arduino using trackbar controls on the GUI
    Part 4: Send digital data from the Arduino to the PC in the form of button presses
    Part 5: Send analog data from the Arduino to the PC in the form of potentiometer voltage readings
    Part 6: Make the fully functional GUI more attractive and easier to use
    To fully follow this series of videos you should have installed both the Arduino IDE and Microsoft Visual Studio Community Edition. Here is the link to download Visual Studio Community Edition for free:
    visualstudio.microsoft.com/do...
    Note that this is not an exhaustive treatment of GUI control systems nor is it a robust control system. Much has been left out for the sake of brevity and clarity. Additional programming must be added to trap errors, insure data integrity, and improve overall functionality.
  • НаукаНаука

Комментарии • 99

  • @omidsaadikhany1694
    @omidsaadikhany1694 2 года назад +2

    I've so much problems with Arduino serial communication and your explanation was really help full for me , thanks man .

  • @thehoneybadger9262
    @thehoneybadger9262 23 дня назад

    Very well done tutorial. If I could make one suggestion, it is to teach new programmers to always put the constant first in an expression that compares a variable to a constant, e.g. ' if ('A' == d1)'. This is a good practice to get into, because if you were to mistakenly type 'if (d1 = 'A')' instead of 'if(d1 == 'A')', the code would compile, you would assign the value 'A' to d1, and it would always evaluate to TRUE. By putting the constant first, if you mistakenly type '=' instead of '==', you will get a compile error. Sometimes bugs like this are easily introduced and easily overlooked.

  • @Overclocked2300
    @Overclocked2300 Год назад +2

    Just want to say thanks for this! Im not using an arduino but Im using a PIC micro. It works the same way once you get serial coms all set up :) but it works! Im going to watch your next video and then figure out how to read serial data.

  • @shortexposureastrophotogra4988
    @shortexposureastrophotogra4988 2 года назад

    Great video series! I just programmed my first gui button.

  • @emmanuelpil
    @emmanuelpil 4 года назад +3

    Very clear explanations. Thank you.

  • @jdarnell123
    @jdarnell123 Год назад

    I don't want to "byte you" (😂) but what a damn great video!! You made communicating between the Arduino and a C# GUI as simple as can be! AWESOME content and I liked and subscribed. Keep rocking the house!! 🙂

  • @mugur4104
    @mugur4104 3 месяца назад

    Best teacher i have seen in a very long time.

  • @darshansalian2967
    @darshansalian2967 3 года назад +3

    Explanation was awesome but can you also teach how to integrate scan port and baud rate buttons

  • @ghostaka7405
    @ghostaka7405 2 года назад

    My first GUI ,ty for video

  • @fireomen87
    @fireomen87 10 месяцев назад

    Great video! Really helpful, thank you!

  • @AkorJohnOmaaka
    @AkorJohnOmaaka 3 месяца назад

    you explanation is sweet and straight, keep it up

  • @attilalenart865
    @attilalenart865 2 месяца назад

    Thank you sharing this tutorial. This is exactly what I was looking for and helped me a lot. :)

  • @Neopan210
    @Neopan210 Год назад

    Thanks so much, I can see how to adapt this to an Excel user form to start, stop and collect data.

  • @jaderfbsousa
    @jaderfbsousa 3 года назад +2

    Thank you very much for this tutorial. The way you explain it is very clear and easy to understand.

    • @nasirbennett3635
      @nasirbennett3635 2 года назад

      You all prolly dont care at all but does someone know of a tool to log back into an instagram account??
      I was stupid lost my login password. I appreciate any tips you can give me.

    • @caidenkenneth6857
      @caidenkenneth6857 2 года назад

      @Nasir Bennett Instablaster :)

    • @nasirbennett3635
      @nasirbennett3635 2 года назад

      @Caiden Kenneth Thanks for your reply. I found the site through google and Im in the hacking process now.
      Looks like it's gonna take a while so I will reply here later with my results.

    • @nasirbennett3635
      @nasirbennett3635 2 года назад

      @Caiden Kenneth It did the trick and I now got access to my account again. I am so happy:D
      Thank you so much you saved my ass :D

    • @caidenkenneth6857
      @caidenkenneth6857 2 года назад

      @Nasir Bennett Happy to help =)

  • @hugocorrea6984
    @hugocorrea6984 Год назад +1

    Muito obrigado. Vídeo maravilhoso

  • @fardiansajo9000
    @fardiansajo9000 2 года назад

    Good work, this is what i am looking for

  • @martindostalek7596
    @martindostalek7596 3 года назад

    Very nice sample. Thank you...

  • @rul1175
    @rul1175 Год назад

    Amazing info. Thank you!

  • @averagehooligan620
    @averagehooligan620 Год назад

    My new favorite video. Thanks

  • @deryorsh
    @deryorsh 2 года назад +2

    U saved my life xD Thank you!

  • @subhashsingh8553
    @subhashsingh8553 11 месяцев назад

    You have explained very honestly

  • @manofmesopotamia7602
    @manofmesopotamia7602 Год назад

    That was so informative 😊

  • @jamesssydney
    @jamesssydney 2 месяца назад

    Amazing video, just what I was after

  • @perinoveriza1658
    @perinoveriza1658 3 года назад +1

    Teaching from heart , thanks madem

  • @robertmf
    @robertmf Год назад

    I thought I was listening to physicist Dr. Michio Kaku... 😊 Thanks for the tutorial...

  • @geoffwade8144
    @geoffwade8144 3 года назад

    Good job, thank you.

  • @matijamandarelo4829
    @matijamandarelo4829 3 года назад

    Very helpful.

  • @Myssa002
    @Myssa002 2 года назад

    have you ever made a GUI for a PIR motion sensor ?

  • @brandisbrown8011
    @brandisbrown8011 Год назад

    Thank you, sir.

  • @BodyByGaming
    @BodyByGaming Год назад

    how would you implement a drop down that lets you select the serial port, instead of hard coding it into the properties?

  • @mattnsac
    @mattnsac Год назад

    Is there a way to actually program with a GUI like this? Sending serial is one thing, Im wondering if this can be made to permanently change values in the base program?

  • @sam35696
    @sam35696 Год назад

    Many thanks to you .

  • @playingitvr4550
    @playingitvr4550 2 года назад

    would you be able to let us know how to install the ardunio tools in visual studio? and i also got this error when i have installed it "ASCIIEncodingSealed Doesnt exist in type ASCIIEncoding"

  • @alvaromirab
    @alvaromirab Год назад

    What should be add to send data to the PC application. Let's say to get the reading of a temperature sensor

  • @davidlanda4093
    @davidlanda4093 2 месяца назад

    YOU ARE AWESOME !!!!!!!!!!!!!!!!!

  • @kifahzaidan4505
    @kifahzaidan4505 Год назад

    Hi,
    Thanks a lot, its really greate effort and great knowledge.
    i need to do a project for a preset position linear actuator with a DC motor abd a stepper motor, with Arduino Mega or UNO but i am not able to write the code and the scheme, can you please help.
    Regards

  • @maziarbesanj1613
    @maziarbesanj1613 2 года назад

    thank you.

  • @maulanawahyudi7127
    @maulanawahyudi7127 3 года назад

    thankyou madem :)) love youu !

  • @jasonmare33
    @jasonmare33 2 года назад

    best out there!

  • @gerardoherreragonzalez8192
    @gerardoherreragonzalez8192 Год назад

    finally found thanks to the author

  • @newtechnical715
    @newtechnical715 2 года назад

    Sir how to save potential meter reading in PC ?

  • @ismaelachekar3941
    @ismaelachekar3941 2 года назад

    thank you for this very helpful video. when I want to add a second yes no button and connect it to another pin on the arduino. Should I call the data char d2? how can the arduino know the difference between d1 and d2?

    • @smarttv1868
      @smarttv1868 2 года назад

      U can do like when we press second "ON" button, instead of sending "A", visual studio will send any other character like "B" and in Arduino code, if we get "B", turn the second led on. Simple u don't need to add d2

  • @paulwyleciol3459
    @paulwyleciol3459 Год назад

    thank you!!!

  • @SamP_64
    @SamP_64 2 года назад

    How long should it take for the led to turn on after the button click? Im trying to make it instant but it takes about 1.5 seconds

    • @boxingfan5742
      @boxingfan5742 5 месяцев назад

      Yeah, I've got the same issue. I'm very appreciative of learning this, but that lag is a problematic issue. If you learn any ways to improve or resolve it, I'd really appreciate it if you could come back to this comment reply and point me in the right direction. Best wishes for your success.

  • @kez5729
    @kez5729 Год назад

    goated video

  • @boxingfan5742
    @boxingfan5742 5 месяцев назад

    This was an outstanding tutorial and I appreciate it very much. May I ask if you have any suggestions for how to reduce the lag between the moment I click the GUI buttons and the response time for each of those steps on the board. Could it be helped by a particular compiling method, or will it never go faster due to the serial com's 9600 baud rate? ... or any other ideas would be really helpful as I need to set some equipment up in a lab for work. Thank you very very much for this tutorial, even if you don't have any ideas on that.

    • @byteme8708
      @byteme8708  5 месяцев назад

      You could try to compile the program as a stand alone .exe program that does not run within Visual Studio. I'm not sure that you can do it with the Community Edition, but there may be other ways it can be done. Good luck.

  • @lotharmayring6063
    @lotharmayring6063 2 месяца назад

    why dont you use the ardurino IDE extension in visual studio and python to make GUI-Application

  • @user-wb9zr1fl4c
    @user-wb9zr1fl4c 2 месяца назад

    you can show example by sofewareserial?

  • @Zerhaki
    @Zerhaki 3 месяца назад

    That is the video I have been looking for. I need to make a GUI. Temperature, speed, weight etc are been reading from a robots sensor. Robot is sending the data via esp32. How can I read the data and use on GUI like you? It is almost same that you did on serie but there should be wireless communication.

  • @trumpmccalister456
    @trumpmccalister456 22 дня назад

    My problem lied when i clicked the turn off button and nothing happened its just got the message in the coding stater 'the port 'COM5' does not exist.'

  • @user-wb9zr1fl4c
    @user-wb9zr1fl4c 2 месяца назад

    if i use in this case. i can't serial.print "xxxx" ?

  • @wanglikin8719
    @wanglikin8719 Год назад

    how to make a g code controller with visual basic 6

  • @nikhilgupta7569
    @nikhilgupta7569 Год назад +1

    Hi! I have tried it and my code is also exactly same as in video and can't find any error but still I am not able to switch in the led....I just have different board (which Shouldn't matter).

    • @thestansatan4337
      @thestansatan4337 2 месяца назад

      the problem is writing the code yourself because if you want to add buttons in this you should not write the code yourself you should double tap on the element like button on the form design and then write the code inside that button block in the code. i dont know why but there is a reference in the code you can notice the difference when you write the function yourself and whe you double tap on the element to make the function

  • @Tony770jr
    @Tony770jr Год назад

    Is the visual studio a free download?

  • @J_Creative
    @J_Creative 6 месяцев назад

    great

  • @tahabutt474
    @tahabutt474 Год назад

    i have downloaded the visual studio but it is showing multiple options to download all around 20GB can you explain which one to download

    • @byteme8708
      @byteme8708  Год назад +1

      Download the C# programming option. You don't need the other languages for this exercise.

  • @cookiekhai465
    @cookiekhai465 2 года назад

    hello and good day, I have been following this tutorial and it seem I cannot turn on the led on and off, but when I click on the GUI the the RX led blinked once but the led on pin13 did not light up. am I missed some of the steps?

    • @byteme8708
      @byteme8708  2 года назад

      You probably did not type the code in exactly as shown in the video. Carefully compare your code with the video's to see what is different.

    • @cookiekhai465
      @cookiekhai465 2 года назад

      @@byteme8708 thank you for the reply, its my mistake for messing up the serial part. I had fixed it and it totally worked. Many thanks

  • @jherico2534
    @jherico2534 10 месяцев назад

    My "String" Function is not Hihlihted or change to color blue, On my ARDUINO IDE... Why is that?

  • @rul1175
    @rul1175 Год назад

    Why did you declare the "char dl;" ??

  • @yazztark
    @yazztark 2 года назад

    I'm new, why'd you use 9600 as the serial#?

    • @byteme8708
      @byteme8708  2 года назад

      9600 Baud is the serial communications rate of transfer of data between the Arduino and the PC.

  • @claudenonya7278
    @claudenonya7278 6 месяцев назад

    Hello, i have a request for a video series , How to control A stepper motor (nema 17 with easy controller) with an Arduino C# GUI with joystick.

  • @jonasdefrancisco6217
    @jonasdefrancisco6217 2 года назад

    Button click to actual LED turning on has SUPER LAG. It takes about 1sec to actually change state after pressing the button. Picked much faster baud rate, but no change. Without question the slow feedback is an issue with Visual Studio, not the mcu. How to solve this?

    • @byteme8708
      @byteme8708  2 года назад

      When I created the program, I did not experience any lag. You may want to verify that you did all of the communications setup correctly by comparing it with the program in the video.

    • @SamP_64
      @SamP_64 2 года назад

      I’m having this problem also. Did you manage to fix it?

  • @amedbouchareb4218
    @amedbouchareb4218 6 месяцев назад

    BONJOUR ET THANKS

  • @estelagomez137
    @estelagomez137 3 года назад

    I can't find the SerialPort tool in the current version. How could I proceed?

    • @byteme8708
      @byteme8708  3 года назад

      Estela, follow this link:
      developercommunity.visualstudio.com/t/serialport-missing-from-toolbox/1278827

    • @estelagomez137
      @estelagomez137 3 года назад

      @@byteme8708 Thank you for your fast and helpful reply.

  • @ahmadhussainwebshare1001
    @ahmadhussainwebshare1001 2 года назад

    This is the wonderful vedio, Thx lot . Pls tell me what model of Arduino board we need to test this tutorial.

  • @mikoajyzwa92
    @mikoajyzwa92 9 месяцев назад

    What if I have no "Serial port" option?

    • @byteme8708
      @byteme8708  9 месяцев назад

      Try this link: stackoverflow.com/questions/67202747/why-is-the-serial-port-component-missing-from-my-visual-studio-toolbox

  • @kelizhongmauricristaldo3453
    @kelizhongmauricristaldo3453 10 месяцев назад

    SerialPort doesn't exist on my toolbox. Can someone help me?

    • @alistairmurray626
      @alistairmurray626 9 месяцев назад

      i have the same problem, let me know if you figure it out, i'll let you know likewise!

    • @alistairmurray626
      @alistairmurray626 9 месяцев назад

      i found the solution, when you create a new project, make sure you select "Windows Form App (.framework)", NOT "Windows Form App"

  • @mohamedadam3085
    @mohamedadam3085 Год назад +1

    Hi, I keep getting this error ......................."System.UnauthorizedAccessException: 'Access to the port 'COM4' is denied."

    • @bob-ny6kn
      @bob-ny6kn Год назад +1

      You need to add accesses to your project.

    • @mohamedadam3085
      @mohamedadam3085 Год назад +1

      Actually I found the issue, I had Arduino serial port open so the serial port was busy fixed by turning off the serial port of Arduino and sometimes I had to close Arduino all together

    • @martin98
      @martin98 Год назад

      @@mohamedadam3085 Hey, can you tell me how you turned off the serial port of the Arduino? I have the same issue you had and putting in an 'Serial.end();' command in the Arduino code didn't fix the problem.

    • @mohamedadam3085
      @mohamedadam3085 Год назад +2

      @@martin98 Hi, you can close arduino ide or turn of serial monitor in the arduino ide, when you use the GUI.

    • @martin98
      @martin98 Год назад

      @@mohamedadam3085 Thank you, that fixed the problem :)

  • @simplyishan06
    @simplyishan06 2 года назад

    U made the pin 13 output... What if I wish to change it to a input dynamically

  • @lotharmayring6063
    @lotharmayring6063 2 месяца назад

    it works not...... if system gives a COM Port to the ardurino no other program or GUI can use the same port because the port cannot be shared between different programs. COM does not dont like when 2 persons are talking to him at the same time, like me