Update
This commit is contained in:
parent
132d3bc661
commit
45b3e377ca
@ -23,7 +23,7 @@ class ViewController: UIViewController {
|
|||||||
let totalPills: Int = 16
|
let totalPills: Int = 16
|
||||||
var usedPills: Int = 0
|
var usedPills: Int = 0
|
||||||
var remainingPills: Int = 0
|
var remainingPills: Int = 0
|
||||||
let updateFreq: Float = 2.0
|
let updateFreq: Float = 0.5
|
||||||
weak var timer: Timer?
|
weak var timer: Timer?
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
|
|||||||
51
embedded/MUX_debug/pp_debug.ino
Normal file
51
embedded/MUX_debug/pp_debug.ino
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#define MUX_BIT_0 13
|
||||||
|
#define MUX_BIT_1 12
|
||||||
|
#define MUX_BIT_2 27
|
||||||
|
#define MUX_BIT_3 33
|
||||||
|
#define MUX_COM 32
|
||||||
|
|
||||||
|
#define RAIL_0 14
|
||||||
|
#define RAIL_1 15
|
||||||
|
|
||||||
|
#define PILL_SENSE 21
|
||||||
|
|
||||||
|
#define BATTERY_PIN 35
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Serial.begin(115200);
|
||||||
|
|
||||||
|
pinMode(MUX_BIT_0, OUTPUT);
|
||||||
|
pinMode(MUX_BIT_1, OUTPUT);
|
||||||
|
pinMode(MUX_BIT_2, OUTPUT);
|
||||||
|
pinMode(MUX_BIT_3, OUTPUT);
|
||||||
|
// pinMode(MUX_COM, INPUT);
|
||||||
|
pinMode(MUX_COM, INPUT_PULLDOWN);
|
||||||
|
// pinMode(MUX_COM, INPUT_PULLUP);
|
||||||
|
|
||||||
|
pinMode(RAIL_0, OUTPUT);
|
||||||
|
pinMode(RAIL_1, OUTPUT);
|
||||||
|
|
||||||
|
digitalWrite(RAIL_0, LOW);
|
||||||
|
digitalWrite(RAIL_1, LOW);
|
||||||
|
|
||||||
|
digitalWrite(MUX_BIT_0, LOW);
|
||||||
|
digitalWrite(MUX_BIT_1, LOW);
|
||||||
|
digitalWrite(MUX_BIT_2, LOW);
|
||||||
|
digitalWrite(MUX_BIT_3, LOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
|
||||||
|
digitalWrite(RAIL_0, HIGH);
|
||||||
|
digitalWrite(RAIL_1, LOW);
|
||||||
|
|
||||||
|
digitalWrite(MUX_BIT_0, LOW);
|
||||||
|
digitalWrite(MUX_BIT_1, LOW);
|
||||||
|
digitalWrite(MUX_BIT_2, LOW);
|
||||||
|
digitalWrite(MUX_BIT_3, LOW);
|
||||||
|
delay(200);
|
||||||
|
// Serial.println(analogRead(MUX_COM));
|
||||||
|
Serial.println(digitalRead(MUX_COM));
|
||||||
|
}
|
||||||
@ -26,10 +26,10 @@
|
|||||||
#define MUX_BIT_3 33
|
#define MUX_BIT_3 33
|
||||||
#define MUX_COM 32
|
#define MUX_COM 32
|
||||||
|
|
||||||
#define RAIL_EVEN 15
|
#define RAIL_0 14
|
||||||
#define RAIL_ODD 14
|
#define RAIL_1 15
|
||||||
|
|
||||||
#define PILL_SENSE 21
|
#define CASSETTE_SENSE 21
|
||||||
|
|
||||||
#define BATTERY_PIN 35
|
#define BATTERY_PIN 35
|
||||||
|
|
||||||
@ -86,18 +86,18 @@ void setup() {
|
|||||||
pinMode(MUX_BIT_1, OUTPUT);
|
pinMode(MUX_BIT_1, OUTPUT);
|
||||||
pinMode(MUX_BIT_2, OUTPUT);
|
pinMode(MUX_BIT_2, OUTPUT);
|
||||||
pinMode(MUX_BIT_3, OUTPUT);
|
pinMode(MUX_BIT_3, OUTPUT);
|
||||||
pinMode(MUX_COM, INPUT_PULLUP);
|
pinMode(MUX_COM, INPUT_PULLDOWN);
|
||||||
|
|
||||||
pinMode(RAIL_EVEN, OUTPUT);
|
pinMode(RAIL_0, OUTPUT);
|
||||||
pinMode(RAIL_ODD, OUTPUT);
|
pinMode(RAIL_1, OUTPUT);
|
||||||
|
|
||||||
pinMode(PILL_SENSE, INPUT_PULLUP);
|
pinMode(CASSETTE_SENSE, INPUT_PULLUP);
|
||||||
pinMode(BATTERY_PIN, INPUT);
|
pinMode(BATTERY_PIN, INPUT);
|
||||||
|
|
||||||
digitalWrite(LED_PIN, LOW);
|
digitalWrite(LED_PIN, LOW);
|
||||||
|
|
||||||
digitalWrite(RAIL_EVEN, HIGH);
|
digitalWrite(RAIL_0, LOW);
|
||||||
digitalWrite(RAIL_ODD, HIGH);
|
digitalWrite(RAIL_1, LOW);
|
||||||
|
|
||||||
digitalWrite(MUX_BIT_0, LOW);
|
digitalWrite(MUX_BIT_0, LOW);
|
||||||
digitalWrite(MUX_BIT_1, LOW);
|
digitalWrite(MUX_BIT_1, LOW);
|
||||||
@ -126,8 +126,8 @@ bool seekValueFromMatrix(int column_id, int row_id) {
|
|||||||
Serial.println("@@@@@@@@@@@@@@@@@@@@ BINARY ERROR!!! @@@@@@@@@@@@@@@@@@@@");
|
Serial.println("@@@@@@@@@@@@@@@@@@@@ BINARY ERROR!!! @@@@@@@@@@@@@@@@@@@@");
|
||||||
}
|
}
|
||||||
|
|
||||||
int rail_to_GND = 0;
|
int rail_to_HIGH = 0;
|
||||||
int rail_to_INPUT = 0;
|
int rail_to_LOW = 0;
|
||||||
// int mux_bit_0 = 0;
|
// int mux_bit_0 = 0;
|
||||||
// int mux_bit_1 = 0;
|
// int mux_bit_1 = 0;
|
||||||
// int mux_bit_2 = 0;
|
// int mux_bit_2 = 0;
|
||||||
@ -135,11 +135,11 @@ bool seekValueFromMatrix(int column_id, int row_id) {
|
|||||||
bool is_pill_present = false;
|
bool is_pill_present = false;
|
||||||
|
|
||||||
if (column_id == 0) {
|
if (column_id == 0) {
|
||||||
rail_to_GND = RAIL_EVEN;
|
rail_to_HIGH = RAIL_0;
|
||||||
rail_to_INPUT = RAIL_ODD;
|
rail_to_LOW = RAIL_1;
|
||||||
} else if (column_id == 1) {
|
} else if (column_id == 1) {
|
||||||
rail_to_GND = RAIL_ODD;
|
rail_to_HIGH = RAIL_1;
|
||||||
rail_to_INPUT = RAIL_EVEN;
|
rail_to_LOW = RAIL_0;
|
||||||
} else { return -1;}
|
} else { return -1;}
|
||||||
|
|
||||||
// mux_bit_0 = row_id & 0b0001;
|
// mux_bit_0 = row_id & 0b0001;
|
||||||
@ -147,8 +147,8 @@ bool seekValueFromMatrix(int column_id, int row_id) {
|
|||||||
// mux_bit_2 = row_id & 0b0100;
|
// mux_bit_2 = row_id & 0b0100;
|
||||||
// mux_bit_3 = row_id & 0b1000;
|
// mux_bit_3 = row_id & 0b1000;
|
||||||
|
|
||||||
pinMode(rail_to_INPUT, INPUT_PULLUP);
|
digitalWrite(rail_to_HIGH, HIGH);
|
||||||
digitalWrite(rail_to_GND, LOW);
|
digitalWrite(rail_to_LOW, LOW);
|
||||||
|
|
||||||
digitalWrite(MUX_BIT_0, row_id & 0b0001);
|
digitalWrite(MUX_BIT_0, row_id & 0b0001);
|
||||||
digitalWrite(MUX_BIT_1, row_id & 0b0010);
|
digitalWrite(MUX_BIT_1, row_id & 0b0010);
|
||||||
@ -180,7 +180,7 @@ bool seekValueFromMatrix(int column_id, int row_id) {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
delay(10);
|
delay(10);
|
||||||
if (digitalRead(PILL_SENSE) == LOW){
|
if (digitalRead(MUX_COM) == HIGH){
|
||||||
is_pill_present = true;
|
is_pill_present = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,9 +199,8 @@ bool seekValueFromMatrix(int column_id, int row_id) {
|
|||||||
Serial.println(is_pill_present);
|
Serial.println(is_pill_present);
|
||||||
Serial.println("########## END COMPUTED BINARY ##########");
|
Serial.println("########## END COMPUTED BINARY ##########");
|
||||||
|
|
||||||
pinMode(rail_to_INPUT, OUTPUT);
|
digitalWrite(RAIL_0, LOW);
|
||||||
digitalWrite(RAIL_EVEN, HIGH);
|
digitalWrite(RAIL_1, LOW);
|
||||||
digitalWrite(RAIL_ODD, HIGH);
|
|
||||||
|
|
||||||
digitalWrite(MUX_BIT_0, LOW);
|
digitalWrite(MUX_BIT_0, LOW);
|
||||||
digitalWrite(MUX_BIT_1, LOW);
|
digitalWrite(MUX_BIT_1, LOW);
|
||||||
@ -214,7 +213,7 @@ bool seekValueFromMatrix(int column_id, int row_id) {
|
|||||||
|
|
||||||
int getPillCount() {
|
int getPillCount() {
|
||||||
int total_pill_count = 0;
|
int total_pill_count = 0;
|
||||||
if (digitalRead(PILL_SENSE) == LOW) {
|
if (digitalRead(CASSETTE_SENSE) == LOW) {
|
||||||
Serial.println("PROBE_ATTACHED");
|
Serial.println("PROBE_ATTACHED");
|
||||||
|
|
||||||
for (int col = 0; col < 2; col++){
|
for (int col = 0; col < 2; col++){
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user