Promotion sur le robot MRPiZ version starter de -10% du 30/04/2018 au 14/05/2018.
Boutique : https://shop.macerobotics.com/
Promotion sur le robot MRPiZ version starter de -10% du 30/04/2018 au 14/05/2018.
Boutique : https://shop.macerobotics.com/
import sys from mrpiZ_lib import * import time time.sleep(5) controlEnable() forward_mm(10,220) turnLeft_degree(10,90) forward_mm(10,170) turnLeft_degree(10,90) forward_mm(10,170) turnRight_degree(10,90) forward_mm(10,290) turnRight_degree(10,90) forward_mm(10,375) turnRight_degree(10,90) forward_mm(10,450)
La gestion des robots en parallèle est gérer par fabric (www.fabfile.org). Un outil SSH permettant d’envoyer plusieurs commandes SSH en parallèle. Chaques robots MRPiZ est identifié par une adresse IP unique:
Le script de contrôle des robots :
#!/usr/bin/env python
import fabric
from fabric.api import run, env, task
from fabric.api import *
import time
env.hosts = ['192.168.1.41', '192.168.1.37', '192.168.1.47']
env.user = 'pi'
env.password = 'raspberry'
@parallel
def hello():
run('python /home/pi/MRPiZ/Dance.py')
Le script python pour les robots :
#!/usr/bin/env python import sys from mrpiZ_lib import * import time controlEnable() while 1: forward_mm(13,120) back_mm(11,100) forward_mm(11,100) turnRight_degree(25,360) time.sleep(1) turnRight_degree(15,90) turnLeft_degree(15,180) turnRight_degree(15,90) back_mm(12,90)
Dans ce tutorial vous allez apprendre à programmer le robot MRPiZ en langage Java.
Remarque : le robot MRPiZ doit etre connecté à internet.
sudo apt-get update && sudo apt-get install oracle-java7-jdk
curl -s get.pi4j.com | sudo bash
La librairie java est disponible sur le Github : ici
Voici un exemple de programme (Exemple1.java):
[ccnbw lang=”java” height=”900″ width=”900″ ]
import java.io.IOException;
import java.util.Date;
import java.util.concurrent.TimeUnit;
public class Exemple1 {
/****************/
public static void main(String args[]) throws InterruptedException, IOException
{
float tension_batterie;
float distance_sensor1;
float distance_sensor2;
MRPiZ robot = new MRPiZ();
// Lecture de la tension de la batterie
tension_batterie = robot.proxSensor(1);
System.out.println(“Batterie = ” + tension_batterie);
// avancer le robot pendant 1 seconde
robot.forward(30);
TimeUnit.SECONDS.sleep(2);
// reculer le robot pendant 1 seconde
robot.back(30);
TimeUnit.SECONDS.sleep(2);
// tourner à droite
robot.turnRight(30);
TimeUnit.SECONDS.sleep(1);
// arret du robot
robot.stop();
// Lecture du capteur de proximitè n°1 et n°2
distance_sensor1 = robot.proxSensor(1);
distance_sensor2 = robot.proxSensor(2);
// afficher les valeurs
System.out.println(“Sensor 1 = ” + distance_sensor1);
System.out.println(“Sensor 2 = ” + distance_sensor2);
}
}
[/ccnbw]
javac -classpath .:classes:/opt/pi4j/lib/'*' -d . Exemple1.java
sudo java -classpath .:classes:/opt/pi4j/lib/'*' Exemple1
Article pour la configuration de la communication Wifi de la carte Pi Zero W en ligne de commande.
Version Raspian : April 2017 (Raspian Jessie Lite)
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=GB network={ ssid="YOUR_SSID" psk="YOUR_PASSWORD" key_mgmt=WPA-PSK }
sudo reboot
https://youtu.be/2khTwDcWwGw
Le programme :
from mrpi1_lib import * import time obs_limit = 600 # main program state = 1 while 1: x1 = proxSensor(3) x2 = proxSensor(4) if(( x1 > obs_limit)and( x2 > obs_limit)and(state == 1)): x1 = 0 x2 = 0 stop() time.sleep(1) state = 2 controlEnable() turnRight_degree(10,90) forward_mm(10, 100) turnRight_degree(10,90) if(( x1 > obs_limit)and( x2 > obs_limit)and(state == 2)): x1 = 0 x2 = 0 stop() time.sleep(1) state = 2 controlEnable() turnLeft_degree(10,90) forward_mm(10, 100) turnLeft_degree(10,90) state = 1 else: forward(20)
Un petit tutoriel pour allumer une led à une heure exacte avec une carte Raspberry Pi.
Le programme en langage Python3 :
#!/usr/bin/python3 from datetime import datetime import time import RPi.GPIO as GPIO # configuration GPIO 18 GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) GPIO.output(18, GPIO.LOW) # saisir alarme heure_alarme = input("Saisir heure :") heure_alarme = int(heure_alarme) # conversion en nombre minute_alarme = input("Saisir minute :") minute_alarme = int(minute_alarme) while True: date_heure = datetime.now() # heure du système if((date_heure.hour == heure_alarme) and (date_heure.minute == minute_alarme)): GPIO.output(18, GPIO.HIGH) print("LED ALLUMER") exit()