Made the code compatible with a hall sensor

This commit is contained in:
2020-10-13 12:48:39 +03:00
parent 64d83a26c6
commit 59880c2d82

View File

@@ -1,41 +1,13 @@
#include "Timer.h"
#define DOUBLE_TRIGGER false
#define MODEL "nano"
Timer t;
//Pinout for a pro micro, check schematic
/*
int D1 = 2;
int D2 = 5;
int D3 = 6;
int D4 = 12;
int A = 3;
int B = 7;
int C = 14;
int D = 16;
int E = 17;
int F = 4;
int G = 13;
int DOT = 15;
int D1, D2, D3, D4;
int A, B, C, D, E, F, G, DOT;
int SENS = 10;
*/
//Pinout for a nano
int D1 = 4;
int D2 = 7;
int D3 = 8;
int D4 = 14;
int A = 5;
int B = 9;
int C = 16;
int D = 18;
int E = 19;
int F = 6;
int G = 15;
int DOT = 17;
int SENS = 12;
double WAIT = 500; //Time between updates
double CIRCUMF = 3.14 * 7; //Circumference of your wheel
@@ -52,7 +24,7 @@ void draw_char(char c, int digit) {
digitalWrite(D4, LOW);
digitalWrite(digit, HIGH);
if (digit == D4) {
if (digit == D3) {
digitalWrite(DOT, LOW);
} else {
digitalWrite(DOT, HIGH);
@@ -163,6 +135,40 @@ void draw_char(char c, int digit) {
}
void setup() {
if (MODEL == "pro micro") {
D1 = 2;
D2 = 5;
D3 = 6;
D4 = 12;
A = 3;
B = 7;
C = 14;
D = 16;
E = 17;
F = 4;
G = 13;
DOT = 15;
SENS = 10;
} else if (MODEL == "nano") {
D1 = 4;
D2 = 7;
D3 = 8;
D4 = 14;
A = 5;
B = 9;
C = 16;
D = 18;
E = 19;
F = 6;
G = 15;
DOT = 17;
SENS = 12;
}
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
@@ -202,10 +208,16 @@ void loop() {
void update_speed() {
/*
* Dividing by two because reed switch gets triggered twice a rotation
* You probably won't need that if you opt for a hall sensor
Dividing by two because reed switch gets triggered twice a rotation
You probably won't need that if you opt for a hall sensor
*/
if (DOUBLE_TRIGGER) {
dist = CIRCUMF * rotations / 2;
} else {
dist = CIRCUMF * rotations;
}
speedKMH = dist * 3.6 / (WAIT / 1000);
rotations = 0;