Filed under Projets

Arduino - Module 433Mhz

bandeau

Présentation du projet

Utilisation module 433Mhz avec arduino, j'ai fait cette recherche pour un projet qui m'a été demandé.

Les vues ont été faites avec fritzing

Pré-requis

  • Deux arduinos UNO
  • Module emetteur 433Mhz
  • Module recepteur

Réalisation du projet

Cablage

Emetteur

emet.png

  • Un cable sur 5V
  • Un cable sur GND
  • Un cable sur la pin 3

Recepteur

recept.png

  • Un cable sur 5V
  • Un cable sur GND
  • Un cable sur la pin 5

Croquis

Ces croquis utilisent la bibliothèque VirtualWire.

Elle est disponible ici : airspayce.com

Emetteur

/*
   Carte   : Arduino Uno
   Capteur : EMETTEUR 433
   Synopsis: exemple d'utilisation du module 433
   Biblio  : utilisation de la bibliotheque VirtualWire

   Source  : http://www.airspayce.com/mikem/arduino/VirtualWire/
*/

#include <VirtualWire.h>

const int ledPin=9;
const int dataOutPin=3;

void setup()
{
    Serial.begin(9600);

    pinMode(dataOutPin, OUTPUT);
    pinMode(ledPin, OUTPUT);

    vw_setup(2000);
    vw_set_tx_pin(dataOutPin);

    Serial.println("SETUP EMETTEUR");

}

void loop()
{
   const char *msg="HELLO";
   vw_send((uint8_t *)msg, strlen(msg));  
   vw_wait_tx();
   Serial.println("MSG PARTI");  
   digitalWrite(ledPin,HIGH);
   delay(500);
   digitalWrite(ledPin,LOW);
   delay(500);
}

Recepteur

/*
   Carte   : Arduino Uno
   Capteur : RECEPTEUR 433
   Synopsis: exemple d'utilisation du module 433
   Biblio  : utilisation de la bibliotheque VirtualWire

   Source  : http://www.airspayce.com/mikem/arduino/VirtualWire/
*/

#include <VirtualWire.h>

const int ledPin = 9;
const int dataInPin = 5;

void setup()
{
  Serial.begin(9600);

  pinMode(ledPin, OUTPUT);
  pinMode(dataInPin, INPUT);

  vw_setup(2000);
  vw_set_rx_pin(dataInPin);
  vw_rx_start();

  Serial.println("SETUP RECEPTEUR");

}

void loop()
{
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  if (vw_get_message(buf, &buflen)) {
    digitalWrite(ledPin, HIGH);
    int i;

    for (i = 0; i < buflen; i++)
    {
      Serial.write(buf[i]);
    }
    Serial.println("");
    delay(100);
    digitalWrite(ledPin, LOW);
  }
}
Tagged ,

minirobo

/!\ REDACTION EN COURS /!\

version01

Robot piloté via Wifi

Création d'un petit objet piloté par liaison Wifi grâce à un ESP8266.

Interface de commande :

  • Android
  • Application windows/Gnu Linux écrite avec Lazarus.

Les pièces 3D proviennent de Gabriele Ermacora

Construit au fablab I-Lab de Toulon.

  • 2018-04-07 : 1er session de montage, 6 participants.
    img01 img02

  • 2018-05-19 : 2eme session de montage, 6 participants.

Documentation

  • Diapo de l'atelier ESP8266 : Lien
  • Documentation rédigée par Hervé : Lien

Liste de pièces

moteur
Voici la liste de fournitures nécessaire pour la construction de ce petit suiveur de ligne.

Je ne mets pas de liens vers un fournisseur mais on trouve tout cela chez banggood.com ou sur Ebay.

Désignation Qté
.moteur Moteur équipé avec roue. 2
.ESP8266 ESP8266 D1 mini Wemos. 1
.HG7881 carte de pilotage des deux moteurs HG7881 (L9110). 1
.powerbank powerbank 2600 mA/h 1
led led 2
resistance résistance de 330 ohms 2
barrete_coudee Barrette sécable coudée male 1
Barrette sécable femelle 1

Visserie

Désignation Dim Qté
Ecrou M3 20
Vis M3x40 8 plateau, rotules
Vis M3x25 4 moteurs
Vis M3x14 8 batterie, carte

Impression 3D

Découpe laser

  • Partie supérieur :
  • Partie inférieur :

Circuit

Schéma de principe :

Alt text

LEDs

  • Port D4 GPIO2 -> LED Gauche
  • Port D7 GPIO13 -> LED Droite

Moteurs

  • Port D6 GPIO12 -> Port AIA Moteur Droit
  • Port D5 GPIO14 -> Port AIB Moteur Droit
  • Port D3 GPIO0 -> Port BIA Moteur Gauche
  • Port D2 GPIO4 -> Port BIB Moteur Gauche

Table de vérité moteur

IA IB Motor State
L L OFF
H L Forward
L H Reverse
H H OFF

Programme et sketch

Programmes à installer

IDE Arduino

  • L'IDE Arduino : Lien
  • Le pilote (pour windows) USB / Série pour la connexion de la carte wemos : Lien

Une fois cela fait, il faut ajouter aux préférences de l'IDE Arduino.

  • Exécuter l'application puis aller dans le menu : Fichier -> Préférences Alt text

  • Dans la case URL de gestionnaire de cartes supplémentaires ajouter le lien suivant : "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
    Alt text

  • Ensuite aller dans le menu : Outils -> Type de carte -> Gestionnaire de carte
    Alt text
    Rechercher ESP8266 et sélectionner et installer la version la plus récente.

Voila maintenant vous avez accès aux cartes à base de ESP8266.

  • Pour compiler et téléverser votre sketch il vous faudra choisir la carte WEMOS MINI D1 R2 & mini

Pour ESP8266

Lien pour le téléchargement du sketch : Lien

APK pour android

Lien pour le téléchargement du fichier apk : Lien

installation

  • Copier l'apk sur votre téléphone.

  • Exécuter l'installation de l'apk, attention à bien autoriser l'installation d'application local ou non signée.

Alt text

Configuration Wifi

Votre minirobo est alimenté.

  • Dans les paramètres de votre téléphone activez le Wifi

Alt text

  • on sélectionne le réseau Wifi (dans mon cas minirobo04)

Alt text

  • entrez le mot de passe

Alt text

la connexion est active

Alt text

une LED devrait être allumée sur le dessus du minirobo.

Utilisation

Dans votre menu application exécuter l'application voiture ![Alt text](../images/minirobo/apk/voiture.gif =48x).

Etape 1 Etape 2 Etape 3 Fin
Alt text Alt text Alt text Alt text
  • Etape 1 : sélectionnez le champ Adresse IP
  • Etape 2 : Entrez l'ip suivante 192.168.4.1 et appuyez sur terminé,
  • Etape 3 : appuyez sur le bouton valider
  • Fin : affichage de la réponse reçue du minirobo.

Appuyez sur l'une des quatre flèches et votre minirobo devrait se mouvoir.

IHM de commande

Application de pilotage écrite en Pascal avec Lazarus (OS Gnu/Linux)

version00

Version en cours de développement

Tagged ,

Circuit d'électro-stimulation

Samedi 11 février

Il y a 2 semaines, nous avons bricolé un circuit d'électro-stimulation musculaire à la demande du club robotique de l'école d'ingénieur #SeaTech de l'université de Toulon.

On utilise l'électrothérapie principalement de deux manières différentes :

  • la neurostimulation, qui consiste en l'excitation des nerfs dans un but antalgique,
  • la myostimulation, qui consiste en l'excitation des muscles à des fins d'entraînement musculaire (rééducation, etc).

C'est ce second champ d'application qui nous concerne.

Pour cela, nous avons réalisé un circuit à base de transformateur 230V~ vers 9V~, utilisé en survolteur, en attaquant son enroulement basse tension avec des impulsions afin d'obtenir côté haute tension les mêmes impulsions avec une amplitude bien supérieure.

Voici deux simulations de ce circuit :

On pourrait également utiliser un convertisseur à découpage de topologie boost, dont on supprimerait le condensateur de filtrage en sortie (ici en ouvrant l'interrupteur).

Samedi 18 février

La semaine dernière, nous avons fait quelques mesures sur un appareil du commerce trouvable chez GearBest.

setup1

Pour pouvoir mesurer des tensions relativement hautes dont la valeur max est inconnue, on utilise ici une sonde différentielle et atténuatrice afin de ne pas prendre le risque de flinguer une entrée du scope.

Ce genre de sonde sert typiquement à :

  • atténuer le signal avant de le faire entrer dans l'oscillo en utilisant un diviseur résistif (ici l'atténuation est de 1/200),

  • assurer l'isolation galvanique entre circuit et entrées de l'oscillo, par exemple afin de ne pas créer de court-circuit à cause des masses de toutes les entrées BNC qui sont reliées entre elles ainsi qu'au circuit de terre du réseau électrique.

setup2

Ainsi on peut constater que l'appareil produit des impulsions d'environ 130 V crête à une fréquence avoisinant les 4,5 Hz.

mesure1

mesure2

Lorsqu'on augmente le réglage d'intensité, aucunes variations n'ont pu être constatés sur l'oscillo avec une charge constante (et alors que ça pique plus !), ce qui indiquerait que le réglage influe sur le courant émis (pas eu le temps de vérifier :).

Bien qu'intéressant du point de vue portabilité et pilotage par Bluetooth, cet appareil est plutôt limité sur le nombre de paramètres modifiables par l'utilisateur. On lui préférera donc une solution maison permettant la génération de trains d'impulsions variables en fréquence, amplitude, ainsi que polarité.

Voici deux projets trouvés dans d'anciens numéros du magazine Elektor :

Mais en attendant d'avoir un cahier des charges plus fourni, le projet sera mis en standby. Trop de degrés de liberté pour démarrer la conception ! ;)

Tagged ,

Scanner Ciclope

/!\ REDACTION EN COURS /!\

horus.png

Ciclope est un scanner open source et open hardware vendu par la société bq.
Il fonctionne avec le logiciel Horus.
La carte de pilotage est compatible Arduino.

Les fichiers STL permettant de construire le scanner, le logiciel Horus et le firmware sont disponibles sur github.
La documentation pour le montage, l'installation logiciel, la calibration est disponible et cerise sur le gâteau en grande partie en français.

Documentation et liens

bq

http://diwo.bq.com/en/presentacion-ciclop-horus/
https://www.bq.com/en/support/ciclop/support-sheet

Github

https://github.com/bqlabs/ciclop
https://github.com/bqlabs/horus
https://github.com/bq/zum

Reprap

http://reprap.org/wiki/Ciclop
http://reprap.org/wiki/Horus

Firmware

http://diwo.bq.com/en/horus-fw-released/

Pièces imprimées

Les différentes parties ont été produites grâce a l'imprimante 660 pro de l'I-Lab de Toulon.

Electronique

Shield arduino

J'ai trouvé un kit chez banggood.com.
Il comprend:

  • une carte Arduino Uno
  • un shield Zum Scan
  • un driver moteur avec son radiateur
  • un câble USB

Webcam

Après avoir testé différente webcam je confirme qu'il faut une C270HD de chez logitech.
Acheté chez amazon.com.

Laser

La bom list donne comme information "Red Line Laser, 5V, 60º, class 1, with connector".
J'ai donc acheté des lasers répondant aux informations données, mais le diamètre du corps des lasers achetés est supérieur au logement des pièces d'origine.

banggood.com

fichier laser-holder modifié avec freecad.

Mécanique

Le roulement a été acheté chez 123roulement.com.

Pour les tiges filetées, écrous et rondelle en PA6, je les ai trouvés chez visseriefixations.fr

Logiciel

Le firmware

pour compiler (sous Archlinux)

sudo pacman -S avr-gcc avr-libc  

ensuite

make  

pour installer le firmware avec l'interface de horus

sudo pacman -S avrdude  

Horus

Dépendances

  • OpenCV version bq
  • Python 2

Construction

2017-01-07

Le diamètre du corps de laser est supérieur au diamètre des logements devant les recevoir.
Nous avons modifié le fichier des pièces laser-holder et produit sur une imprimante Anet A8.

laser01.jpg

laser02.jpg

laser03.jpg

2017-01-14

Montage du moteur et du roulement sur l'embase.

moteur01.jpg

moteur02.jpg

moteur03.jpg

2017-01-21

Installation sur un portable équipé d'une distribution Ubuntu du paquet openCV modifié.
Installation de Horus.
Test de reconnaissance de la webcam.

2017-02-04

Installation logiciel, et premier test pour s'assurer que les differents composants fonctionnent.

DSCN1302r.JPG

DSCN1303r.JPG

todo

  • découpe du plateau sur la table laser trotec (pmma ep8mm).
  • découpe des tiges filetées.
  • Outil de calibration.
  • Porter les modifications d'openCV sur une version plus récente et compilation (paquet pour Archlinux, debian ?).
Tagged ,