Étiquettes : , ,

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

  • Raspberry Pi3 (ou Zero) + moniteur + clavier
  • Câble Dupont F/F x2
  • LED x1

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++ :

  • Ouvrez Geany
geany-logo Programmez votre Raspberry Pi en C/C++
  • Créez un nouveau fichier
open-geany-640x370 Programmez votre Raspberry Pi en C/C++
  • Dans Document > Définir le type de fichier > Langages de Programmation > Sélectionnez Fichier source C ou C++
create-python-file-640x396 Programmez votre Raspberry Pi en C/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:

raspberrypi-gpio-wiringpi-pinout Programmez votre Raspberry Pi en C/C++

Vous pouvez retrouver cette configuration en tapant la commande

gpio readall

Code de base pour allumer une LED avec RaspberryPi

raspberry-pi3-led_bb Programmez votre Raspberry Pi en C/C++

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