I got into Arduinos a couple of years ago. Really nice. I got a "Uno", in a "Getting Started with Arduino" kit by Maker Shed. Got it at Radio Shack, IIRC around $60-70. But on the Radio Shack site now, they do not list it, only sell the Uno alone or the Mega alone.
Here's the getting started kit on Makershed's site:
https://www.makershed.com/products/...duino-uno-r3?gclid=CP_SkuSg88kCFQyPaQod8L4Ivw
[video=youtube;xl8HklqtWLA]https://www.youtube.com/watch?v=xl8HklqtWLA[/video]
Of course if you have breadboards, buttons, resistors, LED, jumper wires, the 9V to 5 Volt voltage regulator, and other things the kit has, then you could just get the Arduino alone, and can be had a lot cheaper elsewhere if you are willing to wait. But if you do not have all the other stuff (I didn't have a lot of it, had never gotten into breadboarding), the starter kit is a great way to go. And the Uno (and decent quality Uno clones) is the best beginner Arduino. If you and/or your daughter really get into Arduinos, you'l lend up buying more later, anyway. So the later ones can be more advanced, or smaller, depending on the kind of projects and what they need.
The Uno was good for my needs, have not gotten into more advanced stuff that would need a Mega or Raspberry Pi. I even later got hold of some smaller Arduinos, like the Nano. But I still use the Uno for general programming of new designs. And if I had gotten into "Shields" or expansion boards that plug in, then the Uno is great for shields & expansion boards that are compatible with the Uno socket pinouts.
As for the use of existing programming.... well, OF COURSE! Geez, I didn't learn how to program Arduino from scratch, I used existing programming to first make it work and then tweak the number to modify say a blink rate. Then began to modify the existing program to do other things. That's how most people learn to program anyway.
Below, a video showing an Arduino Nano-based timer, intended to fire ejection at a set time after liftoff. I added programming to make it run an LCD display, in part so I could learn how to program the LCD Display, and in part as a de-bug test for the timer (the display would not be used for rockets). An odd thing I came to realize later was that when the serial option for the LCD was hooked up, the program ran longer per cycle, so the real-world time delay ran a lot longer. So for rocket flights, it would need to be used without the serial set up, or i'd have to set a shorter time in the programming to get the actual desired real-world time delay to ejection.
[video=youtube;6KEw_ym2RfE]https://www.youtube.com/watch?v=6KEw_ym2RfE[/video]
In the video, the red LED that lights up would be the ejection firing. Mode 1 is armed and waiting to detect liftoff (Wire = 1 means wire across nozzle is not burned or in this case is connected). Mode 2 is liftoff detected (wire = 0, disconnected or burned thru) and counting tenths of a second towards the pre-set time delay total. It was programmed so if "wire" goes back to 1 (re-connected), it would stop and reset itself. Mode 3 is fire ejection for 1 second. Also note a different beep pattern for each mode, so if I was hooking things up and suddenly the beep went from slow (mode 1) to fast (mode 2), I'd know it was counting to fire ejection, so either try to reconnect a wire if possible in a few seconds, or get away from it before it fired.
And yet, as complicated as all that sounds, the vast majority of the programming was from existing programming, edited together, with custom programming added that was often learned from other simpler individual programs.
But also, I did have problems at times. The Arduino Forum is fantastic for getting help. They won't create a program for you, but if you can document well enough what you are doing, they can often figure out what the problem is.
- George Gassaway