Capteur inductance numérique MIKROE1583 pour Click Board
Dont 0,01 € d'eco-participation déjà incluse dans le prix
Ce module Click Board intègre un capteur "LDC1000" à liaison SPI, lequel s'apparente à un des tous premiers convertisseur "industance -> Numérique" disponible sur le marché.
Ce module Click Board intègre un capteur "LDC1000" à liaison SPI, lequel s'apparente à un des tous premiers convertisseur "inductance -> Numérique" disponible sur le marché.
Ce dernier dispose d'une zone sécable (circuit "LC" sur PCB composé de 16 spires avec condensateur 100 pF 1% NPO).
Le capteur "LDC1000" bénéficie d'un résolution pouvant aller jusqu'au "sub-micron" pour les applications de détection faible distance !
Ce dernier est idéal pour la détection de distances (sur des courtes portées), de positions, de mouvements ou de présence de structures conductrices. La détection inductive est très fiable, y compris dans des environnements sévères.
Le module s'interface avec une liaison SPI. Des exemples de programmes dédiés aux microcontrôleurs PIC, PIC32™, AVR et ARM™ avec les compilateurs BASIC (mikroBASIC), "C" (mikroC) et PASCAL (mikroPascal) sont disponibles afin de vous permettre une prise en main rapide et intuitive du module.
Le module s'alimente en +3,3 V ou + 5 V.
Pouvant être utilisé et piloté par la plupart des microcontrôleurs, sa conception vous permettra de pouvoir l'insérer sur des plaques de développement sans soudure (type BreadBoard). Consultez ce lien pour une présentation générales des modules Click Board
Il est également directement compatibles avec les platines de développement mikroElektronika (telles que l'EasyPIC7, l'EasyPIC Fusion, l'EasyAVR7 ou encore la platine Flip & Click - voir en bas de page).
A l'aide de platines d'adaptations additionnelles, il vous sera également possible de les enficher sur des plateformes arduino™ (UNO ou Mega2560) ou Rasberry Pi ou BeagleBone Black.
Du code source pour vos modules Click™ Board !
Disposer d'une solution matérielle pour développer c'est bien... mais disposer du code source associé pour faciliter une intégration au sein de son application... c'est mieux ! C'est ce que vous propose mikroelektronika (le fabricant des modules Click Board) par l'intermédiaire d'un site Internet dédié à cet usage. Des exemples de programmes dédiés (suivant les modules Click Board) aux PIC, dsPIC, PIC24, PIC32, ARM™, FT90x, AVR, 8051 avec les compilateurs "C" (mikroC) sont disponibles afin de vous permettre une prise en main rapide et intuitive du module.
Connectez vous sur le www.libstock.com pour accélérer la mise en oeuvre des modules "Click Board".
Nous proposons également ci-dessous une application avec un arduino™
Enfichez le module MIKROE-1583 sur la platine MIKROE-1581... Puis enfichez le tout sur la platine arduino™ (A000066) ou réalisez les connexions ci-dessous entre la platine Arduino™ (A000066) et le module MIKROE-1583 (si vous ne disposez pas de la platine d'interface MIKROE-1581).
Programme Arduino
/************************************************************************
*
* Test du module "LDC1000 click"
*
*************************************************************************
* Le passage d'une pièce métallique devant le capteur incrémente une variable
* qui est affichée dans le moniteur série
*
* Matériel
* 1 Arduino Uno (A000066)
* 1 Shield "Click" pour arduino UNO (Réf. : MIKROE-1581)
* 1 Module "LDC1000 click" (Réf.: MIKROE-1583) inséré sur le support N°1 du shield
* ou divers straps mâles/femelles (réf.: PRT-12794) si vous ne disposez pas de
* de la platine shield MIKROE-1581)
* Schéma publié sous licence CC Attribution-ShareALike (Arduino et ses connexions réalisés avec Fritzing)
*
************************************************************************/
#include <SPI.h> // appel de la bibliothèque
// Affectation des broches
#define CS 10 // broches de la liaison SPI
#define MOSI 11
#define MISO 12
#define SCK 13
// Configuration des registres
#define POWER_CONFIGURATION 0x0B
#define RP_MAX 0x01
#define RP_MIN 0x02
#define INTB_CONFIGURATION 0x0A
#define COMPARATOR_TRESHOLD_HIGH_LSB 0x06
#define COMPARATOR_TRESHOLD_HIGH_MSB 0x07
#define COMPARATOR_TRESHOLD_LOW_LSB 0x08
#define COMPARATOR_TRESHOLD_LOW_MSB 0x09
#define PROXIMITY_LSB 0xA1
#define PROXIMITY_MSB 0xA2
unsigned int donnee=0;
unsigned int donnee_LSB = 0;
unsigned int donnee_MSB = 0;
unsigned int comptage=0;
void setup(void)
{
Serial.begin(9600); // initialisation de la liaison série
// Configuration des broches
pinMode(CS, OUTPUT);
pinMode(MOSI, OUTPUT);
pinMode(SCK, OUTPUT);
pinMode(MISO, INPUT);
// Configuration de la liason SPI
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV4);
// Configuration du LDC1000
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(POWER_CONFIGURATION); // écriture dans le registre POWER_CONFIGURATION
SPI.transfer(0x00); // mode Standby
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(RP_MAX); // écriture dans le registre RP_MAX
SPI.transfer(0x0E); // 83.111 KΩ
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(RP_MIN); // écriture dans le registre RP_MAX
SPI.transfer(0x3B); // 2.394 KΩ
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(INTB_CONFIGURATION); // écriture dans le registre INTB_CONFIGURATION
SPI.transfer(0x00); // mode d'interruption dévalidé
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(COMPARATOR_TRESHOLD_HIGH_LSB); // écriture dans le registre COMPARATOR_TRESHOLD_HIGH_LSB
SPI.transfer(0x50);
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(COMPARATOR_TRESHOLD_HIGH_MSB); // écriture dans le registre COMPARATOR_TRESHOLD_HIGH_MSB
SPI.transfer(0x14);
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(COMPARATOR_TRESHOLD_LOW_LSB); // écriture dans le registre COMPARATOR_TRESHOLD_LOW_LSB
SPI.transfer(0xC0);
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(COMPARATOR_TRESHOLD_LOW_MSB); // écriture dans le registre COMPARATOR_TRESHOLD_LOW_MSB
SPI.transfer(0x12);
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(POWER_CONFIGURATION); // écriture dans le registre POWER_CONFIGURATION
SPI.transfer(0x01); // mode actif
digitalWrite(CS,HIGH); // fin de la communication SPI
}
void loop()
{
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(PROXIMITY_LSB); // lecture dans le registre PROXIMITY_LSB
donnee_LSB=SPI.transfer(0x00); // récupération de l'octet de poids faible de la donnée
digitalWrite(CS,HIGH); // fin de la communication SPI
digitalWrite(CS,LOW); // début de la communication SPI
SPI.transfer(PROXIMITY_MSB); // lecture dans le registre PROXIMITY_MSB
donnee_MSB=SPI.transfer(0x00); // récupération de l'octet de poids fort de la donnée
digitalWrite(CS,HIGH); // fin de la communication SPI
donnee=(donnee_MSB << 8) | (donnee_MSB); // reconstitution de la donnée sur deux octets
if (donnee>9000) // si détection de pièce
{
comptage=comptage+1;
delay(400); // pause pour éviter de compter la même pièce plusieurs fois
}
// Affichage dans le moniteur série
Serial.print("Valeur : ");
Serial.print(donnee);
Serial.print("t");
Serial.print("Nombre de pieces : ");
Serial.println(comptage);
}
Cette note d'application a retenu votre attention ? Consultez toutes nos autres notes d'applications concernant les modules Click Board et les Arduino™
Note d'application Click Board™ et Arduino™ (TOME 1)
Note d'application Click Board™ et Arduino™ (TOME 2)
Note d'application Click Board™ et Arduino™ (TOME 3)
Note d'application Click Board™ et Arduino™ (TOME 4)
Note d'application Click Board™ et Arduino™ (TOME 5)
Note d'application Click Board™ et Arduino™ (TOME 6)
Note d'application Click Board™ et Arduino™ (TOME 7)
Note d'application Click Board™ et Arduino™ (TOME 8)
Note d'application Click Board™ et Arduino™ (TOME 9)
Note d'application Click Board™ et Arduino™ (TOME 10)
Téléchargez également les fichiers sources de ces notes d'applications
Les modules Click™ Board sont utilisés dans les établissements scolaires !
Lextronic propose également désormais aux professeurs de recevoir (par email) et sur simple demande différents TP leur permettant de mettre en oeuvre divers modules Click Board avec une platine arduino UNO.
En tant que professeur, il vous suffit de nous adresser votre demande via notre adresse email lextronic@lextronic.fr (en précisant le nom et l'adresse de votre établissement) - Seules les demandes en provenance d'une adresse email académique seront traitées (les demandes via des comptes free, gmail, hotmail, etc... ne pourront pas être traitées - Merci de votre compréhension).
Ces différents TP sont composés:
- d'une documentation technique
- des programmes Arduino™
- des schémas (sous Proteus)
- des corrigés
Produits associés