Line 996:
Line 996:
== Shield Levels And Panels ==
== Shield Levels And Panels ==
{|class="wikitable"
!colspan="3"|SHIELDS
|-
| Shield
| Name
| Pinouts
|-
|[[File:JAC MED MON PROTO SHIELD.jpg|left|thumbnail|x200px]]
|* Arduino Mega Prototype Shield Generic Clone (alternative: KEYESTUDIO) (Analog Testing connector added after photo)
|
{|class="wikitable"
!colspan="10"|Pin Mapping
|-
|Due Pin
|Function
|MLX90614
|AMG8833
|VL53L0X
|MAX30102
|FP Scan
|TFT
|SD Socket
|Analog Test Socket
|-
|3
|Interrupt
|
|
|
|
|IRQ
|
|
|
|-
|4
|Interrupt
|
|
|
|INT
|
|
|
|
|-
|5
|Interrupt
|
|INT
|
|
|
|
|
|-
|6
|Digital I/O
|
|
|GPIO1
|
|
|
|
|
|-
|7
|Digital I/O
|
|
|XSHUT
|
|
|
|
|
|-
|8
|Digital I/O
|
|
|
|
|
|
|SD_CS
|
|-
|9
|Digital I/O
|
|
|
|
|
|RST
|
|
|-
|10
|Digital I/O
|
|
|
|
|
|CS
|
|
|-
|11
|Digital I/O
|
|
|
|
|
|AO
|
|
|-
|18
|TX_1
|
|
|
|
|RX
|
|
|
|-
|19
|RX_1
|
|
|
|
|TX
|
|
|
|-
|20
|SDA
|SDA
|SDA
|SDA
|SDA
|
|
|
|
|-
|21
|SCL
|SCL
|SCL
|SCL
|SCL
|
|
|
|
|-
|A0
|
|
|
|
|
|
|
|
|Signal
|-
|SPI
|MISO
|
|
|
|
|
|
|SD_MISO
|
|-
|SPI
|MOSI
|
|
|
|
|
|SDA
|SD_MOSI
|
|-
|SPI
|SCK
|
|
|
|
|
|SCK
|SD_SCK
|
|}
|-
|[[File:JAC MED MON AUDIO SHIELD.jpg|left|thumbnail|x200px]]
|* Audio Shield with VS1103
|
{|class="wikitable"
!colspan="4"|Pin Mapping
|-
|Device
|SIGNAL
|DUE Pin
|Function
|-
|VS1103
|Vin
|3.3V
|Power
|-
|VS1103
|GND
|GND
|Power
|-
|VS1103
|TX
|17
|RX-Serial2
|-
|VS1103
|RX
|16
|TX-Serial2
|-
|VS1103
|GPIO0
|30
|GPIO
|-
|VS1103
|GPIO1
|32
|GPIO
|-
|VS1103
|RST
|28
|GPIO
|-
|VS1103
|DREQ
|24
|GPIO
|-
|VS1103
|BSYNC
|26
|GPIO
|-
|VS1103
|CS
|22
|GPIO
|-
|VS1103
|SO
|SPI-HDR
|MISO
|-
|VS1103
|SI
|SPI-HDR
|MOSI
|-
|VS1103
|SCLK
|SPI-HDR
|SCK
|}
|-
|[[File:JAC MED MON PORT SHIELDx.jpg|left|thumbnail|x200px]]
|* Ports Shield
|
{|class="wikitable"
!colspan="19"|Pin Mapping
|-
|Port #
|Line #
|DUE Pin
|Function
|
|Port #
|Line #
|DUE Pin
|Function
|
|Port #
|Line #
|DUE Pin
|Function
|
|Port #
|Line #
|DUE Pin
|Function
|-
|0
|1
|3.3V
|Power
|
|1
|1
|3.3V
|Power
|
|2
|1
|3.3V
|Power
|
|3
|1
|3.3V
|Power
|-
|0
|2
|GND
|Power
|
|1
|2
|GND
|Power
|
|2
|2
|GND
|Power
|
|3
|2
|GND
|Power
|-
|0
|3
|70
|I2C-SDA
|
|1
|3
|70
|I2C-SDA
|
|2
|3
|70
|I2C-SDA
|
|3
|3
|70
|I2C-SDA
|-
|0
|4
|71
|I2C-SCL
|
|1
|4
|71
|I2C-SCL
|
|2
|4
|71
|I2C-SCL
|
|3
|4
|71
|I2C-SCL
|-
|0
|5
|53
|GPIO0
|
|1
|5
|27
|GPIO0
|
|2
|5
|A10/64
|Analog0
|
|3
|5
|A5/59
|Analog0
|-
|0
|6
|51
|GPIO1
|
|1
|6
|29
|GPIO1
|
|2
|6
|A9/63
|Analog1
|
|3
|6
|A4/58
|Analog1
|-
|0
|7
|49
|GPIO2
|
|1
|7
|31
|GPIO2
|
|2
|7
|A8/62
|Analog2
|
|3
|7
|A3/57
|Analog2
|-
|0
|8
|A11/65
|Analog0
|
|1
|8
|A6/60
|Analog0
|
|2
|8
|A7/61
|Analog3
|
|3
|8
|A2/56
|Analog3
|}
|-
|[[File:JAC MED MON ENCODERS.jpg|left|thumbnail|x200px]]
|
* Control Panel
|
{|class="wikitable"
!colspan="4"|Pin Mapping
|-
|Device
|SIGNAL
|DUE Pin
|Function
|-
|Controls
|Vin
|3.3V
|Power
|-
|Controls
|SDA
|20
|SDA-I2C
|-
|Controls
|SCL
|21
|SCL-I2C
|-
|Controls
|INT
|2
|GPIO
|-
|Controls
|GND
|GND
|Power
|}
|}
==Assemblies==
==Assemblies==
Pseudo-Medical Monitor
This Amazing, Affordable, Earth Changing Device, for which no endorsement is to be inferred, is designed as a collection of layers.
Main Unit Sensor Layer
Components
General Components
Device
Name
Use
Arduino DUE Prototyping Shield
Base PCB for layer
* 160x128 LCD TFT SPI 1.8" Module with SD Socket (Heyaodz111208)
Display and SD Card Socket
Headers
Divided into various length for mounting sensors and other devices
Sensors
Sensors
Device
Name
Description
Interface
AMG8833 Thermal Imager Sensor (TinyCircuits)
8x8 thermal image sensor
I2C Address 0x69
Capacitive Touch Fingerprint Scanner (DFROBOT)
ID809 high-performance processor and semiconductor fingerprint sensor
Serial UART
MAX30102 Pulse and O2 Saturation Sensor (MH-ET Live)
IR and Visible Pulse and O2 Saturation Measurement
I2C Address 0x57
MLX90614 Contactless Temperature Sensor
Field and object temperature sensor
I2C Address 0x5A
VL53L0X TOF Laser Distance Sensor (Onyehn)
IR Laser time of flight distance sensor
I2C Address 0x29
Shield Wiring
Pin Mapping
Due Shield Pin
Function
MLX90614
AMG8833
VL53L0X
MAX30102
FP Scan
TFT
SD Socket
Control Panel
Analog Test Socket
2
Interrupt
INT
3
Interrupt
IRQ
4
Interrupt
INT
5
Interrupt
INT
6
Digital I/O
GPIO1
7
Digital I/O
XSHUT
8
Digital I/O
SD_CS
9
Digital I/O
RST
10
Digital I/O
CS
11
Digital I/O
AO
18
TX_1
RX
19
RX_1
TX
20
SDA
SDA
SDA
SDA
SDA
SDA
21
SCL
SCL
SCL
SCL
SCL
SCL
A0
Signal
SPI
MISO
SD_MISO
SPI
MOSI
SDA
SD_MOSI
SPI
SCK
SCK
SD_SCK
Assembly
Control Panel
Components
Control Panel Part
Device
Name
Use
RadioShack PCB 276-150
Control Panel PCB
Header Pins (various colors)
Connector to Main Sensor Layer and configuration jumpers
Jumper/Short
Configure Control Panel I2C Address
PCF8574 Remote 8-Bit I/O Expander
Monitor Rotary Encoders and Set LED Condition
LEDs
Provide visual ques to user
Rotary Encoder
User interface device
Mounting Brackets
Control Panel mounting brackets to Main Sensor Layer
Control Panel Wiring
Device
Schematic
Pin Mapping
Device
SIGNAL
DUE Shield Pin
Function
Controls
Vin
3.3V
Power
Controls
SDA
20
SDA-I2C
Controls
SCL
21
SCL-I2C
Controls
INT
2
GPIO
Controls
GND
GND
Power
Assembly
Audio Layer
Components
General Components
Device
Name
Use
Arduino DUE Prototyping Shield
Base PCB for layer
Breakout Board for VS1103 MIDI Decoder
Provide audio to user
Stereo Phono Jack
Audio output
Shield Wiring
Pin Mapping
Device
SIGNAL
DUE Shield Pin
Function
VS1103
Vin
3.3V
Power
VS1103
GND
GND
Power
VS1103
TX
17
RX-Serial2
VS1103
RX
16
TX-Serial2
VS1103
GPIO0
30
GPIO
VS1103
GPIO1
32
GPIO
VS1103
RST
28
GPIO
VS1103
DREQ
24
GPIO
VS1103
BSYNC
26
GPIO
VS1103
CS
22
GPIO
VS1103
SO
SPI-HDR
MISO
VS1103
SI
SPI-HDR
MOSI
VS1103
SCLK
SPI-HDR
SCK
Assembly
Ports Layer
Components
General Components
Device
Name
Use
Arduino DUE Prototyping Shield
Base PCB for layer
TCA9548A 1-to-8 I2C Multiplexer Breakout
Provide separate I2C bus isolation for each port
I2C Address 0x1E
Dual RJ45 Port Box
Provide External Unit connectivity to device
Shield Wiring
Device
Notes
Pin Mapping
Port #
Line #
DUE Shield Pin
Function
Port #
Line #
DUE Shield Pin
Function
Port #
Line #
DUE Shield Pin
Function
Port #
Line #
DUE Shield Pin
Function
0
1
3.3V
Power
1
1
3.3V
Power
2
1
3.3V
Power
3
1
3.3V
Power
0
2
GND
Power
1
2
GND
Power
2
2
GND
Power
3
2
GND
Power
0
3
MUX-SD0
1
3
MUX-SD1
2
3
MUX-SD2
3
3
MUX-SD3
0
4
MUX-SC0
1
4
MUX-SC1
2
4
MUX-SC2
3
4
MUX-SC3
0
5
53
GPIO0
1
5
27
GPIO0
2
5
A10/64
Analog0
3
5
A5/59
Analog0
0
6
51
GPIO1
1
6
29
GPIO1
2
6
A9/63
Analog1
3
6
A4/58
Analog1
0
7
49
GPIO2
1
7
31
GPIO2
2
7
A8/62
Analog2
3
7
A3/57
Analog2
0
8
A11/65
Analog0
1
8
A6/60
Analog0
2
8
A7/61
Analog3
3
8
A2/56
Analog3
Pull-Up Resistors added to second I2C bus on DUE Shield
TCA9548A Module is the I2C-MUX
I2C-MUX is connected to the second I2C bus on DUE Shield
I2C-MUX Reset is connected to DUE Shield PIN D23
Assembly
Processor Layer
component
Processor Layer
Device
Name
Use
Arduino Due Generic Clone (ITEADUINO DUE)
Main Processor
Mounting Brackets
Mounting brackets support RJ45 Dual Port Boxes from Ports Layer
Wiring
Device
DUE Pin
DUE Function
Device
DUE Pin
DUE Function
Device
0
RX_0
Serial0
13
1
TX_0
Serial0
14
TX_3
2
CP_INT
15
RX_3
3
FP_IRQ
16
TX_2
VS_RX
4
HB_INT
17
RX_2
VS_TX
5
AMG_INT
18
TX_1
FP_RX
6
VL_GPIO01
19
RX_1
FP_TX
7
VL_XSHUT
20
SDA
Multiple
8
SD_CS
21
SCL
Multiple
9
TFT_RST
SDA1
I2C-MUX_SDA
10
TFT_CS
SCL1
I2C-MUX_SCL
11
TFT_A0
MISO
Multiple
12
MOSI
Multiple
SCLK
Multiple
DUE Pin
DUE Function
Device
DUE Pin
DUE Function
Device
A0
RX_0
A8
Port 2-A2
A1
TX_0
A9
Port 2-A1
A2
Port 3-A3
A10
Port 2-A0
A3
Port 3-A2
A11
Port 1-A0
A4
Port 3-A1
DAC0
DAC
A5
Port 3-A0
DAC1
DAC
A6
Port 1-A0
CANRX
CAN
A7
Port 2-A3
CANTX
CAN
DUE Pin
DUE Function
Device
DUE Pin
DUE Function
Device
22
VS_CS
23
I2C-MUX_RST
24
VS_DREQ
25
26
VS_XDCS
27
Port 1-GPIO0
28
VS_RST
29
Port 1-GPIO1
30
VS_GPIO0
31
Port 1-GPIO2
32
VS_GPIO1
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Port 0-GPIO2
50
51
Port 0-GPIO1
52
53
Port 0-GPIO0
Prefix
Device
Prefix
Device
Prefix
Device
VS
VS1103 Breakout Board
VL
VL53L0X
HB
MAX30102
CP
PCF8574A Control Panel
FP
Fingerprint Scanner
AMG
AMG8833
TFT
ST7735 TFT Display
Port X
RJ45 Port
I2C-MUX
TCS9548A
SD
SD Card Socket
CT
MLX90614
Assembly
Parts List
ATTINY85 TOKEN/NEOPIXEL CONTROLLER/TONE CONTROLLER PARTS
Device
Name
* ATTiny85
* Tactile Momentary Switch
* Enclosure Parts
EXTERNAL UNIT PARTS
Device
Name
* TMP36 Temperature Sensor
* IR Pulse Sensor with incorrect Labelling (Qty. 2)
3D Print Elements
Pseudo Medical Monitor Device 3D Print
Shield Levels And Panels
Assemblies
Units
Breakdowns
ATTiny85 Token
External EKG-Respiration Unit
EKG Circuit
NeoPixel I2C Controller
Respiration Detection Sensor Assembly Render
Respiration Detector Signal Conditioner
Assembly without Harness
Respiration Detection Sensor Assembly Attached to Harness
External Hand Held Unit
External Poly-Liar Unit
Respiration Detection Sensor Rendered Model
Respiration Detection Sensor Attached to Harness
GSR Circuit
Tone I2C Controller
Pulse Sensor
TMP36 Temperature Sensor
GSR Finger Contacts
Goggles Simple Unit
Basic Driver Board
Boxed
MPU Replaced with IMU
Prototype for Testing
External EEG Simple Unit
Under Construction
Connections
Code (Updated 11/16/2021)
Special Libraries
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <Adafruit_VL53L0X.h>
#include <Adafruit_AMG88xx.h>
#include <MAX30105.h>
#include <SparkFunMLX90614.h>
#include <DFRobot_ID809.h>
#include "bmpHeader.h"
#include <SD.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <pu2clr_pcf8574.h>
Library Modification
// In this Library : #include <SparkFunMLX90614.h>
//Change the following line in the bool IRTherm::I2CReadWord(byte reg, int16_t * dest) routine.
//
// I2C processing change needed for Arduino Due implementation
//
// Comment Out Line Below
// _i2cPort->requestFrom(_deviceAddress, (uint8_t) 3, (uint8_t) true);
// Add Line Below
_i2cPort->requestFrom(_deviceAddress, (uint8_t) 3, (uint32_t)reg, (uint8_t)1, (uint8_t)true);
Code Listing
Pseudo-Medical Monitor Code
Main Pseudo-Medical Monitor Page
Pseudo-Medical Monitor