Site icon AranaCorp

Programmez votre Raspberry Pi en C/C++

Le langage le plus largement utilisé sur Raspberry PI est Python mais, étant un micro-ordinateur, il est possible de l’utiliser avec d’autres langages. Si vous connaissez le langage C/C++ ( si vous venez du monde d’Arduino, par exemple) et que vous ne voulez pas apprendre un autre langage de programmation. Il est possible de piloter le Raspberry Pi en C/C++. Nous allons voir dans ce tutoriel comment piloter les entrée/sorties du microcontrôleur en C et comment programmer le Raspberry PI comme un Arduino.

Matériel

Utilisation de Geany

La Raspberry PI est fourni avec le logiciel Geany qui vous permet d’exécuter le programme directement sur la carte. Pour écrire le programme en C ou en C++ :

Copier le code suivant:

#include <iostream>
using namespace std;

int main(int argc, char **argv)
{
  cout<<"Hello World" << endl;
	
	return 0;
}

Les programmes en C++ doivent être compilés avant de pouvoir être exécutés. Dans le menu « Build » sélectionnez « Build », ou F9 directement, pour compiler le programme. Puis, dans « Build » sélectionnez « Execute », ou F5, pur lancer le programme.

La phrase « Hello World » devrait s’afficher dans le terminal qui s’ouvre sur l’écran.

Programmez votre Raspberry Pi comme un Arduino

Installation de la librairie WiringPi

Un librairie existe pour gérer les entrées/sorties du Raspberry Pi comme le microcontrôleur Arduino: wiringPi.h.

Vérifiez que la libraire est installée en tapant les commandes suivantes dans un terminal:

gpio -v
gpio readall

Si une erreur s’affiche, mettez à jour votre installation Raspbian:

sudo apt-get update
sudo apt-get upgrade

Copier le répertoire GIT:

cd
git clone git://git.drogon.net/wiringPi

Pour compiler la librairie, tapez:

cd ~/wiringPi
./build

Schéma de câblage

La librairie WiringPi utilise sa propre numérotation des pins GPIO:

Vous pouvez retrouver cette configuration en tapant la commande

gpio readall

Code de base pour allumer une LED avec RaspberryPi

Une fois que la librairie est installée, vous pouvez écrire votre programme comme pour Arduino avec la fonction main() et les inclusions de librairies de base en plus.

#include <iostream>
#include <wiringPi.h>
using namespace std;

int ledPin = 29;  //Correspond à la pin 40

void setup(){

	pinMode(ledPin,OUTPUT);
	cout<<"Hello World" << endl;
}

void loop(){
	digitalWrite(ledPin,HIGH);
	delay(100);
	digitalWrite(ledPin,LOW);
	delay(100);

	cout<<"Blink the LED" << endl;
}

int main(void)//(int argc, char **argv)
{
	if(wiringPiSetup()<0){
		cout<<"setup wiring pi failed"<<endl;
		return 1;
	}
	setup();
	while(1){
		loop();
	}
	
	return 0;
}

Pour que la compilation fonctionne dans Geany, dans le menu Build>Set Build Commands, dans la case Command correspondant à Build tapez : g++ -Wall -o « %e » « %f » -|wiringPi. Le programme pourra alors compiler et s’exécuter correctement.

Attention: Certaines librairies de l’IDE Arduino ne sont pas compatibles avec le Raspberry Pi.

Sources

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie

Quitter la version mobile