[Tuto] Déboucher votre imprimante CraftBot Plus

Pour déboucher votre imprimante, commencez par allumer votre imprimante et mettre la buse en mode chauffe, pour accéder à cette fonction, appuyez sur la partie orange de l’afficheur.

Menu principal
Menu principal

Une fois la buse « prête à imprimer » (assez chaude) vous pouvez décoincer le fil en faisant basculer la manette en aluminium se trouvant en haut de la buse comme ci-dessous.

Coincement fil
Coincement fil

Tirez sur le fil.
Vous pouvez éventuellement vous aider de la fonction reverse, il faudra dans ce cas remettre en place la manette de coincement du fil.

Reverse
Reverse

Munissez-vous d’un fil de fer d’environ 0,4 mm et faites passer ce fil dans le sens que vous voulez au travers de la buse afin de retirer l’excédent.

Une fois l’excédent retiré, vous pouvez à présent replacer les fils d’impression dans la buse et remettre la manette de coincement dans sa position initiale.

[Tuto] Mise à jour de votre CraftBot Plus

Dans ce tutoriel, je vais vous expliquer comment mettre à jour le Firmware de votre imprimante 3D CraftBot Plus.

Tout d’abord, il vous faudra avoir le logiciel CraftPrint. Normalement le logiciel est inclus dans l’installation du logiciel d’impression CraftWare. Voici le lien au cas-où: https://craftware3d.com/craftware .

Connectez votre CraftBot à votre PC grâce à un câble USB.

Connection USB
Connection USB

Allumez votre Imprimante (switch On/Off à l’arrière).

Démarrez le logiciel CraftPrint, normalement le logiciel devrait détecter l’imprimante.

Connection
Connection

Cliquez ensuite sur le bouton « Update CraftBot firmware from server » comme ci-dessous:

Update
Update

Laissez le logiciel travailler…

Upload
Upload

Quand la mise à jour sera terminée vous devriez avoir l’écran que vous aviez au début (connection).

Good to go !

[Tuto] Le meuble by Letmeknow

Dans ce tutoriel, je vais vous guider afin que vous puissiez réaliser, chez vous, votre propre meuble en bois et impressions 3D.

Besoins :

Tout d’abord, téléchargez nos pièces 3D et imprimez-les grâce à votre imprimante 3D. Vous devez avoir 3 lots de pièces miroir (Reverse) et normal. Il en faut 2 de chaque.

Pièces 3D
Pièces 3D ( Middle.obj à droite | Top_Bottom.obj à gauche)

Munissez vous pendant ce temps de planches de bois ayant une épaisseur de 18mm (générique), dans notre exemple les planches auront une taille de 60×30 cm pour les étagères et 80×30 cm pour les côtés.

Passons maintenant à l’assemblage.

Il faut commencer par l’armature ! Grâce aux pièces « Top_Bottom.obj », « Top_Bottom_Reverse.obj » et les vis, assemblez vos planches entre elles comme ci-dessous:

Vissage
Vissage

Voici ce que devriez obtenir :

Armature
Armature

Maintenant utilisez la pièce « Middle.obj » afin de placer votre planche centrale comme ci dessous:

Assemblage de la planche centrale
Assemblage de la planche centrale

Et voilà ! Votre meuble est finis et prêt à accueillir vos babioles.

Final
Final

Bien entendu, vous pouvez faire ce que vous voulez avec les pièces, ceci est une base.

Résolution du problème de téléversement rencontré avec les clones Arduino Uno

Les clones Arduino sont des produits identiques aux Arduino officiels, pour un prix inférieur. Néanmoins, ils peuvent dans certains cas vous poser problème. Vous pouvez notamment rencontrer un problème de téléversement impossible, accompagné de l’erreur:

avrdude: skt500_recv(): programmer is not responding

ou

avrdude: skt500_getsync() attempt X of 10: not in sync: resp=0xXX

Lorsque votre Arduinho est branché à votre ordinateur, vous voyez la led ON et la led L allumée en permanence, et le bouton RESET ne fonctionne plus.

Nous vous proposons deux solutions pour palier à ce problème.

Avant tout vérifiez que :

  • Vous avez bien selectionné  » Arduino Uno  » dans le menu Outils > Type de carte.
  • Vous avez bien selectionné le bon port COM.

1ère solution: Mise à jour du pilote

Il se peut que le pilote de votre Arduino ne soit pas à jour, ou que ce ne soit pas le bon qui soit installé. Les clones Arduinos utilisent le chip CH340 pour la liaison USB. Vous pouvez télécharger son pilote ici:

http://www.wch.cn/download/CH341SER_EXE.html

Il ne vous reste plus qu’à l’installer. Votre Arduino devrait alors apparaître dans le gestionnaire de périphériques dans « Ports (COM et LPT) » sous cette forme:

hy

2ème solution: télécharger le bootloader sur l’ATmega

Il se peut que le bootloader de l’ATmega ne soit pas installé, ou non fonctionnel. Le tutoriel ci dessous est pour un Uno mais fonctionne également avec les autres modèles). Vous pouvez le télécharger vous même. Pour cela il vous suffit d’avoir:

  1. Branchez votre Arduino fonctionnel à votre ordinateur. Téléverser le programme que vous trouverez dans Fichier > Exemples > ArduinoISP (ne fonctionne pas si vous avez déjà placé le condensateur, pensez à l’enlever).
    arduinoisp
  2. Déconnectez votre Arduino de l’ordinateur.
  3. Réalisez le montage suivant:
Fix_Chinese_Arduino_clone_problems1629051120step4
IMG_7682
Arduino fonctionnelArduino clone non fonctionnel
Pin 10RESET
Pin 11Pin 11
Pin 12Pin 12
Pin 13Pin 13
5V5V
GNDGND

4. Rebranchez l’Arduino fonctionnel à votre ordinateur à l’aide du câble USB. Ouvrez un simple programme Blink par exemple. Allez dans Outils > Type de carte et selectionnez la carte que vous voulez « réparez ». Ici donc Arduino Uno.

5. Dans Outils > Programmeur , cliquez sur Arduino as ISP

6. Allez dans Outils et cliquez sur Graver la séquence d’initialisation, attendez jusqu’à bien avoir le message « Gravure de la séquence d’initialisation terminée ».

Voilà, votre Arduino devrait maintenant fonctionner ! Vous pouvez le vérifier en téléversant le programme de votre choix.

[Tuto] Communication entre modules LoRa

Le but est de faire communiquer deux modules LoRa.
Module LoRa

Besoins :

  1. Programmation des deux Arduino

Nous nous servons de deux Arduino UNO afin de créer un système émission/réception.
Pour cela il nous faut programmer un Arduino UNO en mode émission et un autre en réception.
Pour le mode émission, nous allons tout simplement envoyer des informations à la suite au module LoRa grâce à ce code :

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

void loop(){
 Serial.print(0, BIN);
 delay(1000);
 Serial.print(1, BIN);
 delay(1000);
}

Pour programmer l’Arduino, il suffit de le brancher au PC, de démarrer le programme et de le téléverser (petite flèche allant vers la droite) grâce au bouton prévu à cet effet.

Téléversement

Quant au mode réception, nous allons permettre la lecture de ce que reçois le module LoRa :

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX
int SerialValue;
int ledPin = 13;

void setup(){
 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
 while (!Serial){}
 mySerial.begin(9600);
}

void loop(){
 if (mySerial.available()){
 SerialValue = mySerial.read();
 Serial.write(SerialValue);
 if (SerialValue == '1'){
 digitalWrite(ledPin,HIGH);
 }
 else if (SerialValue == '0'){
 digitalWrite(ledPin,LOW);
 }
 }
 if (Serial.available())
 mySerial.write(Serial.read());
}
  1. Connections entre les modules LoRa et les Arduino

Mode Emission :
Emission

GND sur la masse de l’Arduino
VCC sur l‘alimentation 5V de l’Arduino
EN permet l’activation du module s’il est branché à la masse
RX branché sur le TX
TX branché sur le RX

Mode Réception :

Reception

GND sur la masse de l’Arduino
VCC sur l‘alimentation 5V de l’Arduino
EN permet l’activation du module s’il est branché à la masse
RX branché sur le PIN 11 (ici noté MOSI/PWM)
TX branché sur le PIN 10 (ici noté SS/PWM)

  • Si tout est bien branché, nous devons avoir une LED rouge clignotante sur le module émetteur et une bleue sur le module récepteur.
  • L’USB des deux Arduino doivent être branchés au PC comme pour la programmation.
  • Il n’est pas possible de programmer les Arduino avec les modules branchés.
  1. Visualisation des données reçues

C’est là où le logiciel « Terminal.exe » entre en jeu. Il va nous servir à voir ce que reçois le bus serial de l’Arduino.
Attention à bien brancher les deux systèmes.
Il faut tout simplement le démarrer, sélectionner son port COM et sa vitesse baud (pour nous : 9600).
Et enfin appuyer sur le bouton « Connect »

Config Terminal.exe

Si tout va bien les valeurs reçues par le module et transférées par l’Arduino s’afficherons dans la boite de dialogue. Nous retrouvons nos valeurs 0,1,0,1 et due à la loop, elles sont envoyées/reçues à l’infini.

char

Test dans un contexte concret

Afin de tester correctement le système j’ai placé l’émetteur branché à mon ordinateur afin de l’alimenter continuellement.

Arduino_PC

Grâce à une batterie DC1298A j’alimente continuellement mon élément récepteur et cela me permet de voir jusqu’où la transmission se fait.

Arduino_Main

Pour ma part j’ai réussis à avoir une portée de 270 mètres (sachant que l’émetteur était dans le bâtiment).

Maps

[Tuto] Module GSM SIM800L – Envoyer un SMS

Pour voir le montage et la prise en main de ce module SIM800L, vous pouvez suivre le tuto sur cette page: Tuto SIM800L – Montage et prise en main

Le programme suivant utilise les AT commandes pour envoyer un SMS.

 // Importation des librairies
#include <SoftwareSerial.h>
#include <String.h> 

SoftwareSerial sim800l(7,8); // RX,TX
boolean sms;

void setup(){           // Début du setup
  sim800l.begin(9600);  // Démarrage du modem
  Serial.begin(9600);	// Initialisation de la communication série
  delay(500);		// Délai pour la connexion 
  sms = true;
  
  if(sim800l.available())
  Serial.write(sim800l.read());
  }
  
   void loop(){	// Début du loop
   if(sms==true){
     sendsms();				
     sms = false;
   }
 }
   
  void sendsms(){
    Serial.println("Sending text message...");
    sim800l.print("AT+CMGF=1\r");  // Lance le mode SMS
    delay(100);
    // Entrez votre numéro de téléphone    
    sim800l.print("AT+CMGS=\"+3367617****\"\r");  
    delay(100);
    // Entrez votre message ici    
    sim800l.print("Message ici \r");  
    // CTR+Z en langage ASCII, indique la fin du message
    sim800l.print(char(26));			  
    delay(100);
    sim800l.println();
    Serial.println("Text send");  // Le message est envoyé.
    }

Ou pour modifier les informations (numéro de téléphone, message) dans le moniteur série :

 // Importation des librairies
#include <SoftwareSerial.h>
#include <String.h>
SoftwareSerial sim800l(7,8);
boolean sms;

void setup(){
  sim800l.begin(9600);  // Démarrage du modem
  Serial.begin(9600);   // Initialisation de la communication série
  delay(500);           // Délai connexion
  sms = true;
  if(sim800l.available())
    Serial.write(sim800l.read());
  }

void loop(){
  if(sms==true){   // on ne passe qu’une seule fois dans le loop()
    sendsms();
  sms = false;
}
}

void sendsms(){
  // set SMS mode
  Serial.println("SMS sender");
  sim800l.print("AT+CMGF=1\r");    // initialise le mode SMS
  delay(100);
  // phone number
  Serial.println("Enter the phone number :");
  char number[20] ;
  readSerial(number);
  sim800l.print("AT+CMGS=");
  sim800l.print(number);
  sim800l.print("\"\r");
  // message
  delay(100);
  Serial.print("Enter your message to send to : ");
  Serial.println(number);
  char message[200];
  readSerial(message);
  sim800l.println(message);
  sim800l.print(char(26));
  delay(100);
  sim800l.println();
  Serial.print("Message : ");
  Serial.println(message);
  Serial.println("Text send");
 }

int readSerial(char result[]){
  int i = 0;
  while (1)
  {
  while (Serial.available() > 0){
    char inChar = Serial.read();
    if (inChar == '\n')
    {
  result[i] = '\0';
  Serial.flush();
  return 0;
  }
  if (inChar != '\r'){
    result[i] = inChar;
    i++;
  }}}}

Récapitulatif des commandes AT pour l’envoi d’un SMS

CommandeRéponseInfo
AT+CMGF=1OKConfigure le mode SMS
AT+CMGS=”<numéro de telephone>”  ENTER

> Votre message  CTR+Z

OKEnvoi un SMS au numéro indiqué

[Tuto] Module GSM SIM800L – Prise en main

Le module GSM SIM800L est l’un des plus petits modules GSM du monde avec une taille de 2.2 cm x 1.8 cm. C’est un module puissant qui démarre automatiquement et recherche automatiquement le réseau. Il inclut notamment le Bluetooth 3.0+EDR et la radio FM (récepteur uniquement). Il vous permettra d’échanger des SMS, de passer des appels mais aussi, et c’est nouveau, de récupérer de la data en GPRS 2G+. Ainsi vous pourrez faire transiter des données sur une très longue distance, si par exemple la radio FM ou le Bluetooth ne vous suffit plus.

Librairies : SoftwareSerial.h

Matériel : Arduino, SIM800L, carte SIM, diode 1N4007, jumpers, breadboard

Datasheets : SIM800L | At command

Montage :

Ce module nécessite une alimentation entre 3,4V et 4,4V. L’alimentation 5V de l’Arduino ne lui convient donc pas. Pour contrer ce problème d’alimentation, on ajoute une diode 1N4007 entre le 5V de l’Arduino et le pin VCC du SIM800L. Le SIM800L nécessite un pic de courant d’environ 2A. Le reste du branchement est détaillé ci-dessous. La pin reset doit être relié au 3,3v de l’arduino.

untitled-2
20161003_1223291

Il faut également insérer votre SIM dans le compartiment prévu à cet effet sur le module, comme montré dans la photo ci-dessous. Le sens d’insertion de la carte SIM dans le module à son importance. La carte SIM doit être une micro SIM.

SIM800L

Les AT commands (Commandes Hayes)

Les commandes AT sont définies dans la norme GSM 07.07.AT est l’abréviation de ATtention. Ces 2 caractères sont toujours présents pour commencer une ligne de commande sous forme de texte (codes ASCII). Les commandes permettent la gestion complète du module.

On peut utiliser ces commandes directement dans le moniteur série. Il suffit de compiler, téléverser le programme ci-dessous et d’ouvrir le moniteur série. Vous n’avez plus qu’à entrer les différentes commandes AT pour effectuer ce que vous désirez.

Vous pouvez envoyer ou recevoir des SMS, passer ou recevoir un appel, récupérer des données HTTP en entrant directement dans le moniteur série les commandes nécessaires.

// Connect VCC to +5V
// Connect GND to Ground
// Connect RXD (data into SIM800L) to Digital 8
// Connect TXD (data out from SIM800L) to Digital 7
#include <SoftwareSerial.h>
SoftwareSerial sim800l(7, 8); // RX, TX

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

void loop(){
 if (sim800l.available())
 Serial.write(sim800l.read());

 if (Serial.available()) {
 while(Serial.available()){
 sim800l.write(Serial.read());
 }
 sim800l.println();
 }
}

Le code PIN

Il se peut que votre carte SIM soit verrouillée à l’aide d’un code PIN. Vous devrez entrer à chaque fois votre code pour déverrouiller votre carte. Ajouter les lignes de commandes suivantes avant le setup() et remplacer les XXXX par votre code PIN.

// Code PIN de la carte SIM

String SIM_PIN_CODE = String( "XXXX" );

Puis, ajoutez dans la boucle setup():

sim800l.print("AT+CPIN=");
sim800l.println( SIM_PIN_CODE );

1er test : Lancer le module et récupérer son IMEI

On peut utiliser les AT commandes pour obtenir l’IMEI. La commande AT+GSN récupère l’IMEI de votre module. Vous pouvez ainsi vérifier que ce que vous obtenez est bien l’IMEI inscrit sur votre module.

On peut trouver dans le logiciel de l’Arduino un programme qui va nous permettre d’afficher l’IMEI de la SIM800L dans le moniteur série. Ce programme se trouve dans Fichier > Exemples > GSM > Tools > TestModem.

Les principales commandes de test :

ATISIM800 R13.08Statut du modem
AT+CREG+CREG : 0,5Statut du réseau.

1er indice : 0 -> GSM

2ème indice : 0 -> pas de réseau

5 -> réseau ok

 

 

AT+CPIN ?+CPIN READYPas de code PIN nécessaire
AT+CSQ+CSQ : <rssi>,<ber>Intensité du signal.

<rssi> : received signal strength indication.

<ber>: bit error rate (%)

0 -> less than 0,2%

AT+COPS ?+COPS : <mode>,<format>,<opérateur>Affiche l’opérateur sélectionné

[Tuto] Magician Chassis

Intro :

Le Magician châssis est une plateforme robotique facile à assembler soi-même. Il fonctionne grâce à  deux moto-réducteurs à courant continu. Il propose un support 4 piles AA pour l’alimentation. Une fois le châssis monté, on peut l’équiper de capteurs ou d’actionneurs pour en faire un véritable robot intelligent et autonome.

Contenu :

  • 2 plaques en acrylique de 3mm découpées au laser
  • 2 moteurs DC 6V double axe
  • 2 roues complètes
  • 1 roue à bille
  • 1 support de 4 piles AA
  • 1 ensemble de quincaillerie, vis et écrous
  • 1 ensemble de fil de câblage.
pieces
part_list

1ère étape :

Positionnez les quatre supports des moteurs à leur emplacement respectif. Ils seront ensuite fixés sur le châssis une fois les moteurs positionnés et vissés.

Step1
step1bis

2ème étape :

Assemblez le « speed board holder » sur l’axe de rotation de la roue de chaque moteur. Il ne faut pas les enfoncer entièrement pour pouvoir ensuite les positionner correctement et éviter qu’elles frottent contre le châssis. Cette pièce vous permettra à l’aide d’un capteur additionnel de mesurer la vitesse de rotation du moteur.

step2bis
4th step

3ème étape :

Une fois le moteur positionné sur le châssis entre les deux supports, on peut visser l’ensemble avec les vis M3*30, deux vis par support. Attention, les vis sont un peu difficiles à insérer.

step3
2nd and 3rd steps

4ème étape :

Ajoutez les deux roues de chaque côté des moteurs, sur les axes de rotation. De même, évitez de les emboîter entièrement pour ne pas qu’elles frottent contre le châssis.

step4
4th step

5ème étape :

On vient à présent fixer la roue à bille sur le châssis. Comme indiqué sur la notice du montage, on vient placer la roue sur deux entretoises (L25 spacers) et on visse l’ensemble avec quatre petites vis (M3*6 screws).

step5
5th step

6ème étape :

Le support de piles vient ensuite se positionner au-dessus du châssis. Il est maintenu par deux vis à tête plate (M3*10 flathead screws). Il faut forcer un peu pour faire rentrer les vis dans les trous déjà réalisés dans le support de piles.

step6
6th step

7ème étape :

Pour pouvoir ensuite fixer la partie supérieure du châssis, on ajoute 5 entretoises (L25 spacers) sur notre montage. On vient visser ses entretoises avec les vis M3*6 aux emplacements indiqués par des points rouges sur la photo ci-dessus. Pour les deux du haut, il faut bien les visser sur la « base » du T pour pouvoir positionner correctement la plaque supérieure du châssis dans l’étape suivante.

step7
step7bis

8ème étape :

On peut finalement venir fixer la plaque supérieure du châssis sur les entretoises à l’aide de cinq vis M3*6.

step8

Le Magician châssis est terminé.

Montage terminé :

Finished 1
Finished 2
Finished 3

[Tuto] Spark Core + écran I2C

Pour réaliser ce montage vous aurez besoin de :

Connecter votre spark core à l’internet en suivant le tutoriel de particle :

https://docs.particle.io/guide/getting-started/start/core/

Si vous rencontrez des problèmes pour configurer le spark en utilisant l’application, je vous invite à utiliser l’outil en ligne de commande de spark, qui permet, entre autre, de configurer le core par usb. https://github.com/spark/particle-cli

Une fois dans l’IDE build de particle, cliquer sur l’onglet “librairie” en bas à gauche de l’écran. Chercher “I2C” dans le moteur de recherche de librairie puis sélectionner la librairie LIQUIDCRYSTAL_I2C_SPARK.

Chaque librairie contient des exemples, ce sont les fichiers en .ino. Ici nous utiliserons “clockexample.ino”. Cliquer sur “use this example” pour l’inclure à vos applications et pouvoir l’utiliser pour votre core.

Remplacer l’adresse I2C de la ligne 16 par votre adresse I2C :

lcd = new LiquidCrystal_I2C(0x27, 16, 2);

Celle-ci peut varier en fonction du modèle d’écran que vous utilisez. J’ai rencontré l’adresse 0x3F et 0x27 avec deux écrans différents.

Ensuite réaliser le montage suivant :

Fil jaune relie D0 à SDA(lcd)

Fil violet relie D1 à SCL(lcd)

Fil blanc relie GND to GND(lcd)

Fil rouge relie VIM à VCC(LCD)

Le  deuxième fil rouge pour la ligne rouge de la breadboard.

Une première résistance de 1K ohm reliée de la ligne rouge de la breadboard au pin D0, une deuxième de la ligne rouge au pin D1.

tuto_spark_ecranI2C_1
tuto_spark_ecranI2C_2

Vérifier bien que le contraste de l’écran est bien réglé en tournant à l’aide d’un tournevis le petit potard situé derrière l’écran.

Il ne reste plus qu’à flasher votre spark core depuis l’IDE