Trevligt med fler Arduinointresserade!
Gällande programmering, ja det heter program
meringsspråk. Man skriver kod med det. Som om progammeringsspråket är en viss mall/praxis för hur man skriver ett recept och koden är hur man bakar/lagar maten.
Jag skulle inte rekommenderade arduino för en som bara vill lära sig programmera för persondatorer/mobiler etc. Det finns enklare språk (man får mer gjort) för det. Vill istället påverka verkliga världen, speciellt via elektroniska saker och att det inte kräver så mycket beräkningskraft, ja då är det en väldigt bra början.
Möjligen är en Raspberry Pi med rätt saker enklare, finns nog någon bindning så man kan använda python för att styra I/O-stiften. Annars verkar Wiring Pi finnas. Arduinomiljön bygger på Wiring så jag antar man rör sig åt samma håll med C++ där. Men jag har inte testat något sådant här.
En klar skillnad med arduinon är att den (de flesta varianterna) har
analog ingång. Du kan läsa av en spänningsnivå och t.ex. använda en vridpotentiometer. Raspberry Pi har inte det, då måste det till något BoB (Break out Board - litet kretskort som ansluts med en
kabel) tror jag.
Sen tycker jag Raspberry Pi är lite overkill. Du har en rätt så komplett linuxmiljö (om man kör Raspbian) som man kanske vill köra uppdateringar på osv, se till att program autostartar osv. Arduino är rakt på - bara skriva kod och det körs. Inget filsystem osv.
Det man programmerar Arduino med är väl i princip C++ och att det har en god uppsättning bibliotek (färdiga funktioner för typiska användningar, och i Arduinos fall - elektronik). Det kanske är utdaterat men det har åtminstone varit så att Arduinos bibliotek har lite si och så med prestanda. digitalWrite för att slå på eller av en
utgång. I ett test var det 28 gånger långsammare än att flippa en bit för det. Så ska man kräma ut maximalt ur de enklara kretsarna får man till och kanske överge standardbiblioteken och läsa på hur man gör det på lägre nivå.