2013 juin 7

Test Bluetooth, Arduino et Android

Je viens de recevoir mon Nexus 4 et je dis au revoir à mon Iphone 3g et surtout au système IOS très stable mais très fermé à moins de jailbreaker son téléphone.

Mon premier mini projet est de tester la connexion bluetooth entre le NEXUS 4 et une carte Arduino UNO. 

Pour le matériel : 

  • une carte arduino UNO
  • un téléphone NEXUS 4
  • une carte bluetooth JY-MCU V5
  • une LED

Pour le câblage il faut suivre le schéma suivant :

Dans un premier temps j'ai du configurer la carte bluetooth JY-MCU. Après diverses recherches, j'ai trouvé un programme (voir si dessous), qui entre autre, permet de modifier la vitesse de transmission de la carte, le code PIN, le nom du périphérique etc.
#include <SoftwareSerial.h> 
SoftwareSerial mySerial(10, 11); // RX, TX
 
 
void setup()
{
Serial.begin(9600);
Serial.println("Goodnight moon!");
//mySerial.begin(115200);
mySerial.begin(9600);
delay(1000);
mySerial.print("AT");
delay(1000);
mySerial.print("AT+VERSION");
delay(1000);
mySerial.print("AT+PIN1342"); // code pin 1342
delay(1000);
mySerial.print("AT+NAMEFresaBT"); // donne le nom FresaBT
delay(1000);
//mySerial.print("AT+BAUD8"); // met le baudrate à 115200
mySerial.print("AT+BAUD4"); // met le baudrate à 9600
delay(1000);
}
 
 
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}

Ensuite j'ai chargé ma carte avec le programme suivant qui va allumer la LED 13 quand on envoie "1" et éteint la LED 13 quand on envoie "0".

/* simple test LED */
char val;         // variable pour recevoir les données du port série
int ledpin = 13;  // DEL connecté à la broche 13
void setup()
{
pinMode(ledpin, OUTPUT);       // broche 13 en mode sortie
Serial.begin(9600);               // communication série en 9600bps
}
void loop() {
if( Serial.available() )            // si des données sont reçu sur le port série
{;}                                 // ...rien...
val = Serial.read();                // lecture des données est stock dans 'val'
if( val == '0' )                    // si '0' est reçue
{
digitalWrite(ledpin, LOW);        // DEL 13 est éteint
delay(1000);                      // attend une seconde
Serial.println("DEL off");      // envoi "DEL off" sur le port série
}
if( val == '1' )                      // si '1' est reçue
{
digitalWrite(ledpin, HIGH);  // DEL 13 est allumé
delay(1000);                      // attend une seconde
Serial.println("DEL on");         // envoi "DEL on" sur le port série
}
}

Enfin j'utilise BlueTerm une apps pour la communication entre le telephone et l'arduino

Rien de mieux qu'une petite démonstration en vidéo :

Source : 

2013 avr. 6

Détecteur crépusculaire

Etudiant en cours un détecteur crépusculaire en classe de 4eme. J'ai voulu en réaliser un à base d'un Arduino afin de montrer à mes élèves le fonctionnement avec un objet confectionné par mes soins (car on maîtrise ce que l'on fabrique)  et d'avoir quelque chose qui collait au mieux avec la documentation technique que j'avais. 

Le schéma électronique :



Le schéma de câblage :


Pour la programmation j'ai utilisé Ardublock qui pour le moment fonctionne mieux que Minibloq. La programmation n'est pas parfaite surtout au niveau du réglage du seuil avec le potentiomètre :

Je laisse à disposition la fiche fritzing et le programme sur Ardublock du détecteur crépusculaire pour les personnes motivées qui voudraient améliorer ou tout simplement le refaire.

2013 fév. 22

Traduction des Blocs Minibloq.v0.81

Voici une traduction des blocs du logiciel minibloq permettant de programmer de manière graphique des cartes arduino et d'autres cartes.

bloques minibloq V0.81.pdf

bloques minibloq V0.81.odt

2013 fév. 6

Traduction exemples de circuits sparkfun inventors kit

Voici une traduction des exemples des circuits 1, 4 , 6, 7, 8, 9, 10 (en .pdf et .odt)  faite par sparkfun pour le logiciel minibloq.

circuit 1

circuit 4

Circuit 6

Circuit 7

Circuit 8

Circuit 9

Circuit 10

sparkfun inventors kit circuits 1 4 6 7 8 9 10