Et un pavé, un !
Tu demandais la différence entre arduino et raspberry.
L'arduino est une carte comportant un microcontrôleur. Il fait tourner son programme, point barre, mais il le fait bien (il ne fait que ça).
Il est rapide sur les entrées/sorties, c'est à dire qu'il n'y aura pas de latence. Si tu fais un robot roulant, équipé de codeurs optiques (ou à effet hall, on s'en fout un peu), il devra lire chaque impulsion envoyée par les codeurs. S'il en perd la moitié, il sera complètement paumé. Et c'est là ou un microcontrôleur, par son système d'interruptions, réagira instantanément aux impulsions et n'en ratera pas une seule.
Par contre, sa puissance de calcul étant limitée, c'est compliqué pour tout ce qui est réseau, grand écrans, ... . Par contre, ça réduit aussi énormément sa consommation (de mémoire max 200mA).
La raspberry est un mini-ordinateur, elle fait tourner un OS (quasiment toujours linux). Elle à donc accès à internet, à un stockage sur carte micro SD, voire sur disque dur externe, un port HDMI pour brancher un écran... .
Sa puissance de calcul est plus élevée (tu peux par exemple lire de la vidéo en full HD).
Par contre, elle fait tourner un OS, et beaucoup de programmes fournis avec cet OS (services réseau, interface graphique, ...). Elle est donc beaucoup plus lente sur les entrées/sorties, et pour utiliser des interruptions matérielles, il faut bidouiller avec le noyau linux, ce qui rend la chose compliquée. Du coup, pour reprendre l'exemple que j'ai pris avec l'arduino du robot et ses deux codeurs, la raspberry va rater beaucoup d'impulsions si ta vitesse est assez élevée. D'autant plus que si un autre programme que celui qui lit les codeurs a la main (occupe le processeur) pendant que ton robot se déplace, tu perdras toutes les impulsions pendant ce temps.
Sa consommation est également plus élevée (de mémoire max 2A, soit 10 fois plus que l'arduino).
Pour ces histoires d'entrées sorties, il peut être intéressant d'associer un microcontrôleur et un mini ordinateur. Le mini-ordinateur étant connecté au réseau, tu peux le contrôler depuis ton PC, et pendant ce temps, le microcontrôleur gère la partie E/S.
______________________________________________
Pour la programmation orientée objet, je pensais que tu connaissais car on l'utilise souvent pour les jeux, celle-ci facilitant l'organisation du code. Mais je n'ai jamais utilisé unity, et il me semble qu'il simplifie grandement le code.
La programmation orientée objet repose sur le principe de classe. Une classe regroupe des attributs (des variables) et des méthodes (des fonctions). Tu as un principe d'héritage, qui permet à une classe d'avoir les mêmes attributs et méthodes qu'une autre, en y ajoutant des choses.
Prenons un exemple tout droit tiré d'un jeu (les jeux se prêtent bien à ça) :
Tu as une classe objet.
Ses attributs sont : nom, description, type, prix, poids, ...
Ses méthodes sont : jeter, détruire, échanger, ...
Maintenant, tu peux avoir une classe arme, qui hérite de la classe objet.
Ses attributs (en plus de ceux d'objet) sont : dégâts
Ses méthodes (en plus de celles d'objet sont : équiper, attaquer,
Et après, tu peux encore avoir une classe arbalète, qui hérite de arme, qui possède en plus une portée, ....
Je pense que tu peux apprendre le C rapidement. L'important est de comprendre les principes de base, le reste vient généralement par la pratique. C'est pour ça que c'est important de coder en lisant le tuto. Si tu ne fais que lire passivement, tu rateras des éléments importants sans t'en rendre compte.
Une fois que c'est fait, tu peux te lancer sur le C++, mais si tu n'as pas envie, le C suffira.
____________________________________
PS : Merde pour ton bac de Français