Author: macerobotics

Gestion du buzzer et de la led RGB

Un tutoriel pour gérer le buzzer et le led RGB du robot mobile MRPiZ (version 0.8) en langage C.

Exemple n°1 : faire du bruit

Un exemple pour utiliser le buzzer :

#include "MRPiZ.h"


int main(int argc, char* argv[])
{

init();

buzzer(100); // fréquence de 100 Hz

sleep(3);

buzzer(200); // fréquence de 200 Hz

sleep(3);

buzzer(0);
}
  • frequency : fréquence du signal
buzzer(frequency)

Exemple n°2 : faire de la lumière

Un exemple pour utiliser la led RGB :

 

#include "MRPiZ.h"


int main(int argc, char* argv[])
{

init();

while(1)
{

ledRGB(1,0,0);

sleep(3);

ledRGB(0,1,0);

sleep(3);

ledRGB(0,0,1);

sleep(3);
}
}
  • red, green, blue :
    • 0 : off
    • 1 : on
ledRGB(red, green, blue)

 

Le robot MRPiZ en langage C

Un tutoriel pour programmer le robot mobile MRPiZ en langage C.

Lien pour l’API C : https://github.com/macerobotics/MRPiZ/tree/master/Software/C

Les fichiers doivent être placer dans des répertoires:

  • les fichiers .c dans le répertoire sources
  • les fichiers .h dans le répertoire header

 

Exemple n°1 : simple déplacement

Un exemple pour déplacer le robot MRPiZ:

#include "MRPiZ.h"


int main(int argc, char* argv[])
{

init();

forward(25);

sleep(3);

back(25);

sleep(3);

stop();
}

Compilation du fichier :

gcc sources/*.c -I header -o Exemple1

Exécution du programme :

./Exemple1

 

Exemple n°2 : lecture des capteurs laser

Un exemple pour la lecture des 3 capteurs ToF du robot :

#include "MRPiZ.h"


int main(int argc, char* argv[])
{
int p2, p3, p4;
int c=0;

init();

for(c=0; c < 10; c++)
{
p2 = proxSensor(2);
p3 = proxSensor(3);
p4 = proxSensor(4);

printf("Capteur p1=%d\n", p2);
printf("Capteur p2=%d\n", p3);
printf("Capteur p3=%d\n", p4);

sleep(1);
}

}

Exemple n°3 : lecture des encodeurs

Un exemple pour la lecture des 2 encodeurs du robot.

#include "MRPiZ.h"


int main(int argc, char* argv[])
{
int eL, eR;
int c;

init();

for(c=0; c < 10; c++)
{

forward(30);

eL = encoderLeft();
eR = encoderRight();

printf("encoder left=%d\n", eL);
printf("encoder right=%d\n", eR);

sleep(1);
}

stop();

}

 

Fin du tuto !

Control a mobile robot by using keyboard – Python

An example python program for control a mobile robot with keyboard:

  • keyboard control
  • serial communication

#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
# Author : Mace Robotics (www.macerobotics.com)
# Date : 05/04/2020
# Version : 0.1
#
import serial
import keyboard
import time

print("Control borvo with keyboard")

port = serial.Serial('COM6')
print(port.name)

print("wait..")
try:
# read keyboard
while 1:
if keyboard.is_pressed('8'): # if key '8' is pressed
print('forward')
port.write(b'FOR!')
time.sleep(0.5)
if keyboard.is_pressed('2'): # if key '2' is pressed
print('move back')
port.write(b'BAC!')
time.sleep(0.5)
if keyboard.is_pressed('4'):
print('turn left')
port.write(b'TUL!')
time.sleep(0.5)
if keyboard.is_pressed('6'):
print('turn right')
port.write(b'TUR!')
time.sleep(0.5)
if keyboard.is_pressed('5'):
print('stop')
port.write(b'STP!')
time.sleep(0.5)

except KeyboardInterrupt as exception:
print("\nEnd\n")