How to interface software with external hardware?

I am interested in learning how to program on the Arduino, I decided it would be a good time for me to get into programming micro controllers. I understand where to start with the micro controller part, there are many books out there with many tutorials and even thousands of documentation online for the Arduino. Eventually I would expand my learning to other platforms and do more experimenting. But I want to learn some computer programming in parallel with the micro controller. What would be a good place to start for a language to use for interfacing computer software with external micro controllers like what is done with the Ardupilot GS software? I was looking to learn C++ as a general computer language, but would this be best? I honestly do not know many of the differences in terms of usefulness of all the languages out there. How exactly does the Ardupilot GS do this? Is it programmed in something like C++, then uses something else to interface with the serial bus? What is the difference between a scripting language like python vs C++? Anything that I could find helpful in the scope of this question would be appreciated.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • There are some resources that may help you getting started from scratch here: http://www.practicalarduino.com/

  • Scott,

    I was once where you are and have learned a good amount of C++ by decifering and then writing code for the Aurduino.

    Having a goal and being stuborn and not giving up you can do it to.

    Download the latest Arduino IDE/ compiler, buy Arduino boards, I would suggest the Ardupilot , get an ftdi and get to work. It takes a lot of time, especialy for a beginer, but you seem to have the drive.

    I have spent many hundreds of dallars on dev boards and IDE/compilers and never did mutch more than make some leds flash (at my will_yea). Having a usefull goal and a good head start does wonders for your enthusiasm, but beware.

    When you start having success it can become addictive. Look on Amazon for a book called "C++ Without Fear" by Brain Overland. It is a good referance and can get you started.

    Start looking at the Ardupilot code even though you may not get it at first. Keep a tab open to the Arduino reference page and read it often.

    Hey, if I did it you can too. It take effort and time, but it's worth it.

    Good luck.

     

  • Developer

    Scott,

         those are some big questions but you've got to start somewhere I guess!  Some answers:

            - if you program in Arduino then you're actually programming in C++ so it would make sense to try and learn C++ although it's probably one of the harder languages.  Still on a micro controller, the programs are small and it's not too scarry.

           - the GS can be written in any language - normally they use a higher level language than C++..like Visual Basic or Java.

     

         If I were you, I'd start by buying a getting started book on Arduino (like this one from Sparkfun: http://www.sparkfun.com/products/9301) and make it control a servo or an led or something simple like that.  See how that goes and figure out what you want to do next.

     

    -Randy

This reply was deleted.

Activity

DIY Robocars via Twitter
RT @chr1sa: Just a week to go before our next @DIYRobocars race at @circuitlaunch, complete with famous Brazilian BBQ. It's free, fun for k…
23 hours ago
DIY Robocars via Twitter
How to use the new @donkey_car graphical UI to edit driving data for better training https://www.youtube.com/watch?v=J5-zHNeNebQ
Nov 28
DIY Robocars via Twitter
RT @SmallpixelCar: Wrote a program to find the light positions at @circuitlaunch. Here is the hypothesis of the light locations updating ba…
Nov 26
DIY Robocars via Twitter
RT @SmallpixelCar: Broke my @HokuyoUsa Lidar today. Luckily the non-cone localization, based on @a1k0n LightSLAM idea, works. It will help…
Nov 25
DIY Robocars via Twitter
@gclue_akira CC @NVIDIAEmbedded
Nov 23
DIY Robocars via Twitter
RT @luxonis: OAK-D PoE Autonomous Vehicle (Courtesy of zonyl in our Discord: https://discord.gg/EPsZHkg9Nx) https://t.co/PNDewvJdrb
Nov 23
DIY Robocars via Twitter
RT @f1tenth: It is getting dark and rainy on the F1TENTH racetrack in the @LGSVLSimulator. Testing out the new flood lights for the racetra…
Nov 23
DIY Robocars via Twitter
RT @JoeSpeeds: Live Now! Alex of @IndyAChallenge winning @TU_Muenchen team talking about their racing strategy and open source @OpenRobotic…
Nov 20
DIY Robocars via Twitter
RT @DAVGtech: Live NOW! Alexander Wischnewski of Indy Autonomous Challenge winning TUM team talking racing @diyrobocars @Heavy02011 @Ottawa…
Nov 20
DIY Robocars via Twitter
Incredible training performance with Donkeycar https://www.youtube.com/watch?v=9yy7ASttw04
Nov 9
DIY Robocars via Twitter
RT @JoeSpeeds: Sat Nov 6 Virtual DonkeyCar (and other cars, too) Race. So bring any car? @diyrobocars @IndyAChallenge https://t.co/nZQTff5…
Oct 31
DIY Robocars via Twitter
RT @JoeSpeeds: @chr1sa awesomely scary to see in person as our $1M robot almost clipped the walls as it spun at 140mph. But it was also awe…
Oct 29
DIY Robocars via Twitter
RT @chr1sa: Hey, @a1k0n's amazing "localize by the ceiling lights" @diyrobocars made @hackaday! It's consistently been the fastest in our…
Oct 25
DIY Robocars via Twitter
RT @IMS: It’s only fitting that @BostonDynamics Spot is waving the green flag for today’s @IndyAChallenge! Watch LIVE 👉 https://t.co/NtKnO…
Oct 23
DIY Robocars via Twitter
RT @IndyAChallenge: Congratulations to @TU_Muenchen the winners of the historic @IndyAChallenge and $1M. The first autonomous racecar comp…
Oct 23
DIY Robocars via Twitter
RT @JoeSpeeds: 🏎@TU_Muenchen #ROS 2 @EclipseCyclone #DDS #Zenoh 137mph. Saturday 10am EDT @IndyAChallenge @Twitch http://indyautonomouschallenge.com/stream
Oct 23
More…