Affichage des articles dont le libellé est I2C. Afficher tous les articles
Affichage des articles dont le libellé est I2C. Afficher tous les articles

25/03/2013

Caméra numérique USB de surveillance

Camrecorder est un ensemble composé d'une caméra numérique à flux de compression JPEG, disponible chez Lextronic, et d'un boîtier appelé carte mère qui est chargé d' enregistrer via un disque dur les données issues de la caméra. Les images sont ensuite récupérables via un port USB . Bien entendu il ne s'agit pas de vidéo en temps réel mais de captures réalisées en un temps variable selon la définition de l'image souhaitée et la luminosité du milieu (1.2 secondes en générale pour du 320x240). L'ensemble pourra être déporté grâce à la liaison intégré RS485 , qui théoriquement peut atteindre les 1000 mètres. On dispose donc d'un ensemble de vidéosurveillance autonome et discret . Pas besoin d' ordinateur connecté en permanence ou de volumineux magnétoscope.

Le fonctionnement de la caméra est entièrement configurable à l'aide du logiciel : plusieurs possibilités sont offertes quand à la méthode de déclenchement des enregistrements, leurs durées et formats.

Voici un résumé des caractéristiques de Camrecorder:

Matériel :
  • Alimentation +9VDC par adaptateur secteur externe
  • Microcontrôleur Atmel ATMEGA32 16 Mhz
  • Disque dur pour PC Portable format 2" 1/2
  • Convertisseur de niveau RS485
  • Horloge I2C temps réel
  • Module USBMOD3
  • Dimensions : Boiter Velleman G416 : 150 x 80 x 45
  • Pour la caméra :
  • Module CJPEG
  • Convertisseur de niveau RS485
  • Dimensions : boîtier DIPTAL P643 : 57 x 40 x 20

Logiciel :

  • Configuration de la méthode de déclenchement : Détection de mouvement, entrée externe, mode magnétoscope
  • Sélection du nombre d'échantillons à enregistrer successivement sur détection (de 10 à 250)
  • Choix du format d'enregistrement : 320 x 240 ou 640 x 480
  • Réglage des plages horaires d' enregistrements par pas d'un quart d'heure (permet de ne pas enregistrer à des moments précis)
  • Étalonnage de la sensibilité au mouvement et mode 'Live'
  • Affichage des informations du Disque dur (Taille, secteur d'enregistrement courant...)
  • Ouverture, enregistrement et impression des images capturées sur PC
  • Chargement des images par liste daté à la seconde
  • Fonctionnement testé sous windows 2000 et XP

Le choix de la taille du média sera généralement dicté par vos besoins, si il s'agit d'enregistrer de manière continue une zone à surveillé, je vous conseille d'opter pour le disque dur de 20 Go. A contrario, si la zone est à faible passage, vous pourrez opter pour une capacité moindre comme 2 Go.

Pour vous donner une idée de la capacité d'enregistrement, j'ai effectué des prises d'échantillons, et en conclue ceci : Taille d'un snap pour une résolution de 320x240 : 11 Ko et de 30Ko pour la résolution maximale.

26/02/2013

Affichage d'un texte présent dans une eeprom sur un afficheur LCD


Affichage d'un texte présent dans une eeprom sur un afficheur LCD, via le bus I²C. Programme très intéressant didactiquement.

Auteur: Philippe Briola

Contenu: Les fichiers source et includes commentés, fichiers hex, et fichiers explicatifs.

Commentaires de l'auteur: Encore une fois, un programme purement didactique. Le but est de visualiser le contenu texte d’une EEPROM sur un LCD via un Bus I2C ce qui met en oeuvre plusieurs techniques : Accès à une eeprom I²C, mise en oeuvre d'un afficheur LCD, mise en oeuvre du bus I²C.

Télécharger l'archive de la réalsation ici

21/02/2013

Enregistrer et lire une voix en utilisant le convertisseur analogique /numérique du PIC


Les différents programmes que je vous propose consistent à enregistrer et lire une voix en utilisant le convertisseur analogique /numérique du PIC puis à écrire les octets numérisés dans une EEPROM ou une FRAM via le BUS I2C et à les relire via le même BUS I2C. Chaque octet lu est traité par un CNA de type DA558. Le signal analogique récupéré est envoyé sur un petit ampli puis un haut-parleur

Auteur: Philippe Briola

Contenu: Tous les documents utiles, des exemples, et les datasheets.

Commentaires de l'auteur: A l'ère du numérique, il est intéressant de comprendre de quoi l'on parle. Les trois programmes que je vous propose concernent la numérisation d'une voix et son enregistrement sur une EEPROM. Dans un souci didactique, la difficulté va croissante, du plus simple (la lecture seule d'une EEPROM), au plus compliqué (l'enregistrement et la lecture sur EEPROM en passant par un moyen terme l'enregistrement et la lecture d'une FRAM. Un grand merci au "Professore" qui m'a patiemment expliqué la méthode.

Télécharger l'archive de la réalisation ici

10/02/2012

Pilotage de différents périphériques en utilisant un PIC maître et un PIC esclave

Pilotage de différents périphériques, en utilisant un PIC® maître et un PIC® esclave, pour décharger le PIC® maître des différents accès.
Exemple de communication inter-processeurs.
2 modes de communication sont proposés :
I²C (software) :
  • Pilotage d'une horloge complete programmable à base de DS1307 + mise à l'heure protocole DCF77. 
  • Pilotage d'un thermomètre DS1624 , baromètre MPX2100A et d'un DS2438 en I-Button 
SPI (via le MSSP) :
  • Une horloge complete programmable à base de DS1306 mode MSSP SPI + mise à l'heure protocole DCF77 
  • Thermomètre DS1620 0.1°C, barometre MPX2100A et DS2438 en I-Button. 
Fonctions communes : Affichage sur 4 digits 7 segments par I²C software, PIC® 16F876 esclave pour la gestion du LCD graphique. La communication I²C travaille à 100Khz.

Commentaires de l'auteur: le PIC® maître se sent réellement soulagé ce qui lui laisse plus de temps pour faire autre chose. J'ai du revoir mes routines de pilotage software I²C. La communication avec le PIC® esclave est facile.

Pilotage d'un DS1624 thermomètre en I2C

Pilotage d'un DS1624 thermomètre +/- 0.5°C en I ²C (software) avec évolution de l'affichage par pas de 0.03215°C. Horloge complete programmable à base de DS1306 en mode MSSP SPI, avec pilotage d'un LCD graphique commandé lui aussi en MSSP SPI. Toujours incluses les fonctions barometre MPX2100A et DS2438 en I-BUTTON.


Commentaires de l'auteur: Rien de bien méchant ,presente un avantage par rapport au ds1621 , il n'y a plus de calcul complexe pour un résultat presque identique.

Pilotage d'un afficheur LCD 24LC64

Pilotage d'un afficheur LCD I2C 24LC64 (2 lignes de 16 caractères) et d’un DS1721 en I²C. L’application de base I2C permet de faire afficher en appuyant sur le bouton poussoir les messages stockés dans une EEPROM I2C 24C64. La 2eme application gère 1 circuit 1721 (capteur de température) et affiche la temperature mesurée sur le LCD (n’inclus pas l'eeprom 24C64).

Commentaires de l'auteur: Module de base en assembleur contenant les routines I2C 24LC64 et DS1721 , BCD et gestion afficheur LCD.

L'archive contient: Fichier explicatif, sources, hex, includes, schémas.

Télécharger ici

02/02/2012

Mesure de températeur à l'aide d'un DS1621 en I²C

Montage à base de  PIC 16F84qui mesure la température à l'aide du DS1621 en liaison I²C, avec une résolution de 0.5°C


Télécharger l'archive ici

17/01/2012

PIC 17C4x en mode microprocesseur


Cette carte permet d'utiliser un PIC17C4x avec un programme situé dans une mémoire externe (ici des EPROM 27512). Cette carte est très largement inspiré :
  • De la documentation des PIC17C4x : figure 6.4 : TYPICAL EXTERNAL PROGRAM MEMORY CONNECTION DIAGRAM 
  • D'un schéma de la note d'application TB005 : Appendix A : PIC17C4X EXTERNAL RAM SCHEMATIC  
Pour l'utiliser, il faut donc dans l'ordre :
  • Ecrire le programme. 
  • Le compiler avec MPASM paramétré sur INHX8S afin de sortir deux fichiers : HXL = EPROM L et HXH = EPROM H (voir image pour les emplacements). 
  • Programmer les deux EPROM. Les fichiers sont au format Intel. Il faudra peut être les renommer avec l'extention INT pour les utiliser avec votre programmateur d'EPROM. Si votre programmateur ne supporte pas ce format, il faudra le convertir dans un format supporté. Le programme FCC permet cela, il est disponible sur ce site http://www.artbv.nl
L'archive contient :
  • La liste des composants + quelques explications. 
  • La PCB (format WINCIRCUIT 5.0) 
  • Un petit exemple (fichiers ASM, HXL et HXH).

Celle-ci comporte toujours un PIC17C44 mais cette fois configuré en mode microcontrolleur étendu et cadencé à 20 MHz. La carte comporte :
  • 2 Mb de RAM en deux pages. 
  • 1 Mb d'EEPROM série. 
  • Un port série. 
  • Un port 8 bits (dont deux utilisables comme port I2C).
Dans cette version, ma carte est plus souple d'utilisation. Deux exemples :
  • Programme "court" (< à 8 Ko) mais nécessitant beaucoup de mémoire. Le programme peut alors être stocker dans le PIC (00000h à 01FFFh) et l'on dispose d'un espace mémoire de pratiquement 120 Ko (02000h à 0FDFFh et 10000h à 1FFFFh) grâce aux instructions de lecture/écriture de table. 
  • Programme "long" (> à 8k), le programme est d'abord chargé en RAM (via RS232) puis transféré en EEPROM. Puis à chaque démarrage, le programme est chargé en RAM depuis l'EEPROM.
Pour information cette carte est pratiquement identique à la précédente. En fait il s'agit du schéma de la note TB005 avec quelques périphériques supplémentaires.

Et la même, mais avec en plus :
  • Sauvegarde par pile de la RAM. 
  • Horloge temps réel. 
  • Led de signalisation (piloter par le PIC).

Pour avoir plus d'E/S il est sans doute possible de faire un adaptateur pour les PIC17C7x6.

03/01/2012

Gestion de 3 boutons-poussoirs via une carte I²C

Gestion de 3 boutons-poussoirs via une carte I²C indépendante. Ce module fait également partie du projet Isterix. Il est prévu pour évoluer, le but étant de décharger le microcontrôleur central des fonctions secondaires. Le principe étant toujours modulaire, ce programme fonctionne de façon indépendante.

Commentaire de l'auteur : ce petit programme permet de lire trois boutons et de retourner via le bus I2c la touche frappée. Si rien n’est frappé, on retourne 255. Ceci peut parfaitement être intégré dans le programme principal d’une application et c’est un luxe que de monopoliser un 16F84 pour lire …..trois boutons ! Cependant, la place code en mémoire dans mon programme principal Isterix.asm est telle que j’ai délégué cette fonction.

L'archive contient : Un fichier explicatif, et les fichiers sources nécessaires à la réalisation.

Télécharger l'archive ici