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. Наука
I've so much problems with Arduino serial communication and your explanation was really help full for me , thanks man .
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.
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.
Great video series! I just programmed my first gui button.
Very clear explanations. Thank you.
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!! 🙂
Best teacher i have seen in a very long time.
Explanation was awesome but can you also teach how to integrate scan port and baud rate buttons
My first GUI ,ty for video
Great video! Really helpful, thank you!
you explanation is sweet and straight, keep it up
Thank you sharing this tutorial. This is exactly what I was looking for and helped me a lot. :)
Thanks so much, I can see how to adapt this to an Excel user form to start, stop and collect data.
Thank you very much for this tutorial. The way you explain it is very clear and easy to understand.
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.
@Nasir Bennett Instablaster :)
@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.
@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
@Nasir Bennett Happy to help =)
Muito obrigado. Vídeo maravilhoso
Good work, this is what i am looking for
Very nice sample. Thank you...
Amazing info. Thank you!
My new favorite video. Thanks
U saved my life xD Thank you!
You have explained very honestly
That was so informative 😊
Amazing video, just what I was after
Teaching from heart , thanks madem
I thought I was listening to physicist Dr. Michio Kaku... 😊 Thanks for the tutorial...
Good job, thank you.
Very helpful.
have you ever made a GUI for a PIR motion sensor ?
Thank you, sir.
how would you implement a drop down that lets you select the serial port, instead of hard coding it into the properties?
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?
Many thanks to you .
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"
What should be add to send data to the PC application. Let's say to get the reading of a temperature sensor
YOU ARE AWESOME !!!!!!!!!!!!!!!!!
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
thank you.
thankyou madem :)) love youu !
best out there!
finally found thanks to the author
Sir how to save potential meter reading in PC ?
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?
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
thank you!!!
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
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.
goated video
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.
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.
why dont you use the ardurino IDE extension in visual studio and python to make GUI-Application
you can show example by sofewareserial?
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.
this is for wired communication
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.'
if i use in this case. i can't serial.print "xxxx" ?
how to make a g code controller with visual basic 6
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).
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
Is the visual studio a free download?
great
i have downloaded the visual studio but it is showing multiple options to download all around 20GB can you explain which one to download
Download the C# programming option. You don't need the other languages for this exercise.
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?
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.
@@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
My "String" Function is not Hihlihted or change to color blue, On my ARDUINO IDE... Why is that?
Why did you declare the "char dl;" ??
I'm new, why'd you use 9600 as the serial#?
9600 Baud is the serial communications rate of transfer of data between the Arduino and the PC.
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.
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?
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.
I’m having this problem also. Did you manage to fix it?
BONJOUR ET THANKS
I can't find the SerialPort tool in the current version. How could I proceed?
Estela, follow this link:
developercommunity.visualstudio.com/t/serialport-missing-from-toolbox/1278827
@@byteme8708 Thank you for your fast and helpful reply.
This is the wonderful vedio, Thx lot . Pls tell me what model of Arduino board we need to test this tutorial.
What if I have no "Serial port" option?
Try this link: stackoverflow.com/questions/67202747/why-is-the-serial-port-component-missing-from-my-visual-studio-toolbox
SerialPort doesn't exist on my toolbox. Can someone help me?
i have the same problem, let me know if you figure it out, i'll let you know likewise!
i found the solution, when you create a new project, make sure you select "Windows Form App (.framework)", NOT "Windows Form App"
Hi, I keep getting this error ......................."System.UnauthorizedAccessException: 'Access to the port 'COM4' is denied."
You need to add accesses to your project.
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
@@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.
@@martin98 Hi, you can close arduino ide or turn of serial monitor in the arduino ide, when you use the GUI.
@@mohamedadam3085 Thank you, that fixed the problem :)
U made the pin 13 output... What if I wish to change it to a input dynamically
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