Faire un canal Arduino Mini programmable 4 DC-DVM (6 / 8 étapes)

Étape 6: Échantillonnage, calcul de la moyenne et affichage

OK, donc nous avons calibré le voltmètre numérique, mais les lectures semblent encore un peu instable et légèrement décalées. Il y a toujours quelque chose que nous pouvons faire à ce sujet. Au lieu d’afficher simplement l’entrée mesurée, pourquoi ne prenons-nous pas plusieurs échantillons, ajoutez-les ensemble et diviser la somme par le nombre d’échantillons prélevés. Ceci nous donne une moyenne des valeurs dans l’entrée et nous fournir une lecture plus stable. Permet de faire cela à l’aide de la laboucle while.

Le schéma ci-dessous utilise d’échantillonnage et une moyenne pour améliorer les valeurs affichées. Copier et coller à l’IDE Arduino et compiler et charger.

// -----------------Sketch Start-----------------------------
/*--------------------------------------------------------------
Programme: 1 canal DVM avec échantillonnage

Description : Lit la valeur A0 d’entrée analogique et calcule
la tension avec un diviseur de tension
réseau sur la broche A0 qui divise par 10.195 et une tension de référence de 5.0V.

Matériel : Arduinonano ou Uno avec diviseur de tension sur A0.

Logiciel : Développé à l’aide du logiciel Arduino 1.0.3
Devrait être compatible avec Arduino 1.0 +

Date : 25 mars 2014

Auteur :
--------------------------------------------------------------*/

#define NUMSAMP 100 / / nombre d’échantillons à prendre avant l’étalement et l’affichage
#define sclk 13
#define mosi 11
#define cs 10
#define dc 9
#define rst 8 / / reset
#define 10.915 Dv1 / / valeur de diviseur de tension
#define VREF 5.0 / / tension mesurée broches 5V

#include < Adafruit_GFX.h > / / bibliothèque graphique de base
#include < Adafruit_ST7735.h > / / spécifiques au matériel bibliothèque
#include < SPI.h >
Tft Adafruit_ST7735 = Adafruit_ST7735 (cs, dc, rst) ;
int somme = 0 ;              Somme des échantillons prélevés
unsigned char Scount = 0 ; Numéro de l’échantillon actuel
float AVvolts = 0.0 ;      Tension moyenne calculée

void setup()
{/ / Affichage de la configuration et d’imprimer des éléments statiques
tft.initR(INITR_BLACKTAB) ;   initialiser un onglet de puce, noire ST7735S
tft.fillScreen(ST7735_BLACK) ; effacer l’écran
tft.setTextColor(ST7735_WHITE) ;
tft.setTextSize(1) ;
tft.setCursor(10,0) ;
TFT.println ("voltmètre CC DVM") ;
TFT.println("") ;
TFT.println("") ;
TFT.Print ("tension @ broches A0") ;
tft.setTextColor(ST7735_RED) ;
tft.setCursor(0,140) ;
TFT.println ("attention tension max 55vdc") ;
}

void loop()
{
prendre un certain nombre d’échantillons analogiques et les additionner
tandis que (Scount < NUMSAMP) {}
somme += analogRead(A0) ; lire et ajouter les échantillons
Scount ++ ; incrémente le nombre d’échantillons
Delay(10) ; Attendre 10 mS avant de lire le prochain échantillon
}

AVvolts = (somme (float) / (float) NUMSAMP * VRÉF) / 1023 ; calculer la tension moyenne
Affichage de la tension moyenne calculée
tft.setTextColor(ST7735_YELLOW,ST7735_BLACK) ;
tft.setTextSize(2) ;
tft.setCursor (45, 50) ;
TFT.println ("V1") ;
tft.setCursor (10, 80) ;
tft.setTextSize(2) ;
TFT.Print(AVvolts * DV1) ;
TFT.println ("Vdc") ;
Scount = 0 ;
somme = 0 ;
}
// -----------------Sketch End-----------------------------

Articles Liés

Fil d’EL - Arduino Mini Controller Module 6 canaux de relais Pro -

Fil d’EL - Arduino Mini Controller Module 6 canaux de relais Pro -

La recherche dans d'autres Instructables, j'ai trouvé plusieurs façons de contrôler EL fil avec arduino, mais pas tous ont été comme je le voulais, alors j'ai décidé de créer ma propre version, peut-être n'est pas parfaite, mais fonctionne.Ce Module
Programme Arduino Mini 05 avec FTDI Basic

Programme Arduino Mini 05 avec FTDI Basic

Lorsque vous avez besoin d'un petit arduino avec une bonne quantité de broches e/s, l'Arduino Mini est pour vous. C'est l'un de mes préférés microcontrôleurs des projets de technologie portable à cause de sa taille.Étape 1: matériaux Arduino MiniFTDI
Faire votre propre Arduino personnalisé compatible

Faire votre propre Arduino personnalisé compatible

j'aime Ardunio. J'aime les choses que les gens font avec eux et j'aime faire mes propres. En août dernier que j'ai publié une Instructable comment faire votre propre timbre-poste de taille compatible Arduino. Cet Instructable va vous montrer comment
Arduino mini Multi fonction Controller w / LCD Display

Arduino mini Multi fonction Controller w / LCD Display

ce Instructable s'appuie sur la surveillance de l'environnement Arduino mini et mini moniteur Arduino EEG Instructables.Il vous permet de contrôler jusqu'à 4 relais en utilisant l'heure, la température et/ou lumière, votre esprit, ou quel que soit le
Arduino Mini CNC Machine de table traçante de dvd lecteurs

Arduino Mini CNC Machine de table traçante de dvd lecteurs

Dans ce projet, je vais vous montrer comment construire facilement vos propres Arduino Mini CNC Plotter de faible coût !Ce projet est une mise à jour de mon précédent cnc, avec construction mieux et avec plus de précision.J'ai décidé de faire ce guid
Adaptateur de FTDI breadboard Arduino Mini

Adaptateur de FTDI breadboard Arduino Mini

Je voulais être en mesure de programmer un Arduino Mini (v5) en place sur une maquette. Les instructions sont faciles à trouver sur le site d'Arduino (Guide à l'Arduino Mini) mais alors les fils obtiendrait dans la voie de mon projet. J'utilise un câ
USS Enterprise : Arduino Mini alimenté.

USS Enterprise : Arduino Mini alimenté.

Hé les gars, nous avons fait un jouet cool entreprise nous avons acheté à Michaels pour 15 $ et réussi au faire fonctionner ! C'était une grande expérience nous et construit un petit jouet de Star Trek. Si vous êtes intéressés par le projet et il y e
Comment faire 400 Watt Brushless Mini Sumo

Comment faire 400 Watt Brushless Mini Sumo

cette instructable est 18 + catégorie en concours et vous montrera comment faire un sumo de Mini à l'aide de moteurs brushless et brushless ESC :Tout d'abord, ce projet a été un vrai défi pour moi pour s'adapter à tous les composants dans la zone de
Carte contrôleur de Arduino mini USB 24 voies servo

Carte contrôleur de Arduino mini USB 24 voies servo

Arduino mini carte de contrôleur USB 24 voies servo utiliser pour robot bipède et commande de robot quadrupèdeSupporte le dernier système de 64 bits Windows8, supporte Linux système (xp, vista, win7 soutien)Il s'agit de la carte contrôleur nouvelleme
Mise en route de BTE13-010 - clone Arduino Mini

Mise en route de BTE13-010 - clone Arduino Mini

Il s'agit d'un guide simple qui va vous apprendre comment démarrer avec ce clone mini à bas prix pour Arduino, couvrant toutes les étapes que l'on doit faire pour le faire fonctionner. Fondamentalement, ils sont 4...Souder les en-têtes PIN *Ce câblag
L’utilisation de Scratch ou Arduino pour programmer un mBot avec Makeblock

L’utilisation de Scratch ou Arduino pour programmer un mBot avec Makeblock

Il y a quelques jours, j'ai fait un robot par Makeblock. Nous l'appelons mBot---un robot mieux s'adapter à l'éducation et la mise à la consommation. Il est simple à utiliser et plus abordable. Nous croyons que c'est le meilleur produit robotique dans
Communication de l’Arduino USB - programme de traitement de

Communication de l’Arduino USB - programme de traitement de

puisque j'ai eu quelques problèmes à la recherche d'informations sur la façon de communiquer le Conseil d'administration de l'Arduino avec le programme d'ordinateur, j'ai décidé de faire ce tutoriel.Ce tutoriel va vous montrer comment faire un progra
Arduino Mini-Shields

Arduino Mini-Shields

Il s'agit d'un ensemble de simple, petit facteur de forme, mini-boucliers que j'ai créé presque par accident. J'ai fait de plus en plus d'entre eux, j'ai réalisé qu'ils pouvaient être vraiment utiles. Ce qui a commencé comme un moyen d'utiliser quelq
FT232 Modification pour Arduino minis etc.

FT232 Modification pour Arduino minis etc.

FT232 Modification pour Arduino minis etc..Si comme moi vous avez commandé ce modèle particulier, que c'est un pain PITA que le sélecteur ne modifie pas la tension de broche VCC.Ne vous inquiétez pas il y a une modification très simple. pour ce probl