Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
Astreos_Arduino
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Hicham Brahimi
Astreos_Arduino
Commits
2a4f9ebc
Commit
2a4f9ebc
authored
6 years ago
by
hichbra
Browse files
Options
Downloads
Patches
Plain Diff
Initial commit
parents
Branches
Branches containing commit
No related merge requests found
Pipeline
#109
canceled with stages
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
ASTREOS_SMP.ino
+69
-0
69 additions, 0 deletions
ASTREOS_SMP.ino
with
69 additions
and
0 deletions
ASTREOS_SMP.ino
0 → 100644
+
69
−
0
View file @
2a4f9ebc
#define PORT_HALL A0
#define PORT_FSR A2
int
hallAnalogique
;
int
gauss
;
// -------------------------------------------------
int
fsrAnalogique
;
// La lecture analogique depuis le pont diviseur FSR+Resistance.
int
fsrVoltage
;
// La lecture analogique convertie en tension
unsigned
long
fsrResistance
;
// La tension convertie en resistance
unsigned
long
fsrConductance
;
long
fsrForce
;
// La resistance convertie en force (Newton)
//--------------------------------------------------
void
setup
(){
Serial
.
begin
(
9600
);
}
void
loop
(){
// ---------------------------------- Lecture et calcul du champ magnétique ----------------------------------------
// lecture de la valeur analogique (entre 0 et 1024) pour une tension entre 0 et 5V
int
hallAnalogique
=
analogRead
(
PORT_HALL
);
// transforme la valeur lue en Gauss
// les valeurs évoluant entre 102 et 922 sont transformées en valeur évoluant entre -640 et 640
// valeur à -640 pour 0.5V / 640 pour 4.5V
gauss
=
map
(
hallAnalogique
,
102
,
922
,
-
640
,
640
);
// ------------------------------------- Lecture et calcul de la Force ----------------------------------------------
// lecture de la valeur analogique du capteur de force (entre 0 et 1024) pour une tension entre 0 et 5V
fsrAnalogique
=
analogRead
(
PORT_FSR
);
// lecture de la valeur analogique (entre 0 et 1023) pour une tension entre 0 et 5V (= 5000mV)
fsrVoltage
=
map
(
fsrAnalogique
,
0
,
1023
,
0
,
5000
);
//Serial.print("Lecture de la tension en mV = "); Serial.println(fsrVoltage);
if
(
fsrVoltage
==
0
)
{
Serial
.
println
(
"Aucune pression"
);
}
else
{
// La tension = Vcc * R / (R + FSR) où R = 10K et Vcc = 5V
// d'où FSR = ((Vcc - V) * R) / V
fsrResistance
=
5000
-
fsrVoltage
;
// fsrVoltage est en millivolts donc 5V = 5000mV
fsrResistance
*=
10000
;
// 10K resistance
fsrResistance
/=
fsrVoltage
;
//Serial.print("FSR resistance en ohms = "); Serial.println(fsrResistance);
fsrConductance
=
1000000
;
// on mesure en micro-ohm
fsrConductance
/=
fsrResistance
;
//Serial.print("Conductance en micro-ohm : "); Serial.println(fsrConductance);
// Approximation de la force en Newton
fsrForce
=
fsrConductance
/
80
;
//Serial.print("Force en Newtons: "); Serial.println(fsrForce);
}
// ------------------------------------- Affichage des résultats ----------------------------------------------
Serial
.
println
(
"---------------------------------------------------"
);
// Affiche la valeur en Gauss
Serial
.
print
(
"=> champ magnétique = "
);
Serial
.
print
(
gauss
);
Serial
.
println
(
" Gauss"
);
// Affiche la valeur du capteur de force (Tension/Newton)
Serial
.
print
(
"=> Force Analogique = "
);
Serial
.
print
(
fsrAnalogique
);
Serial
.
print
(
" || Force en Newtons: "
);
Serial
.
println
(
fsrForce
);
// attendre 1/10 de seconde
delay
(
1000
);
}
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment