Working on Arduino?

Discussion in 'Mac Programming' started by Mugambo, Aug 31, 2012.

  1. Mugambo macrumors 6502

    Mugambo

    Joined:
    Jul 4, 2009
    #1
    I am practicing C and C++ through books and the web. It is really interesting and want to learn about embedded systems. Based on the web searches so far, learning Arduino seems to be the starting point and the way to go. Are there any prerequisites? I have a limited electronics knowledge. I need guidance please.
     
  2. lloyddean macrumors 6502a

    Joined:
    May 10, 2009
    Location:
    Des Moines, WA
    #2
    It's not clear to me as to what you're asking for input on. Learning C/C++ or learning Arduino programming?

    You can learn the programming on either the Mac, which I assume you have since you're posting her, or on the Mac using an Arduino.

    Perhaps you could tell us more concerning your actual goals!
     
  3. Mugambo thread starter macrumors 6502

    Mugambo

    Joined:
    Jul 4, 2009
    #3
    C and C++ were the background info.

    Arduino is what I want more info about. Best way to get started.
     
  4. larswik macrumors 68000

    Joined:
    Sep 8, 2006
    #4
    Do you have and any Arduino hardware? I have written some code to spin servos and they have there own software that you write code with, compile and upload to the board.

    C is a good language to learn for this.
     
  5. Mugambo thread starter macrumors 6502

    Mugambo

    Joined:
    Jul 4, 2009
    #5
    I do not have he hardware. Is Arduino a good beginner computer to learn embedded programming?
     
  6. lloyddean macrumors 6502a

    Joined:
    May 10, 2009
    Location:
    Des Moines, WA
    #6
    The Arduino software API simplifies programming projects on Arduino compatible hardware making for fairly quick an easy embedded development.

    More information at -

    <http://arduino.cc/playground/Main/ManualsAndCurriculum>

    Further I'd recommend the faster 32 bit processor boards with more RAM and an easier memory access model of Digilent chipKIT boards over the Arduino one. But there are compatibility issues for projects that ignore the Arduino API and go direct to the hardware.
     
  7. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #7
    Define embedded programming. These days the lines are quite blurred.

    For some applications a RasperryPi based solution could be considered "embedded", but it shares a lot more with desktop Linux than your typical small MCU (PIC/Atmel/...) type application.

    @lloyddean. I've used Digilent stuff and 32bit PICs before, but not in the Arduino space. Looks like an interesting approach.

    B
     
  8. larswik macrumors 68000

    Joined:
    Sep 8, 2006
  9. lucidmedia macrumors 6502a

    Joined:
    Oct 13, 2008
    Location:
    Wellington, New Zealand
    #9
    Many beginning Arduino tutorials are written for non-programmers, so you will have no problem jumping right in. It is a great way to start working with embedded programming. Sparkfun has a nice starter kit and a larger "inventor's kit" with an arduino, breadboard, some sensors and leds.
     
  10. fwhh macrumors regular

    Joined:
    Aug 11, 2004
    Location:
    Berlin, Germany
    #10
    I sometimes use arduino for small projects, where designing a new hardware is not in the budget, or if you need a fast solution.
    The software for the arduino makes it quite easy to access the features of the Atmel MEGA series microcontroller and the microcontroller itself is quite robust for minor misuse/errors in connections. And its 5V logic, so most of the cheap eletronic parts work with it.
    The arduino software is mostly a wrapper for C, writing in arduino is like coding in C with some additions to make it easier to access the pins of the CPU.
    (E.g. in C you would set an output pin with "PORTB=(1<<PINNUMBER);", in arduino it's "digitalWrite(PINNUMBER,1);").
    To make it even easier, they changed the pin names, so you don't have to mind the different ports of the MEGA CPU.
    For a lot of applications there are so called "shields", which you can plug onto the board to expand the capabilities, like driving DC Motors.

    And its powered via USB, so for just fooling around with some leds and stuff you don't need an additional powersupply.
    Get your self an arduino board (like the UNO-Board, take the normal one, not the SMD Version, incases you fry the CPU you can take it out and replace it for a few bucks) and a breadboard and some wires for it and you are ready to go. The breadboard wires fit directly to the arduino. Have fun. Bestway to explore microcontroller systems, I think.

    Last note: If you goal has nothing with interfacing the real world (and i don't mean a screen, I mean motors, servos, LEDs, buttons, sensors and so on) then you better look for a different platform, as the arduino is not nearly powerful enough for "multimedia" applications.... If you need just a little more power and you are a windows user, take a look at www.ghielectronics.com. It's like a more advanced (interfacing USB devices an so on) version of the arduino, but it is programmed in .NET.
     

Share This Page