diff --git a/art/Arduino-annotated.svg b/art/Arduino-annotated.svg new file mode 100644 index 0000000..e9198ba --- /dev/null +++ b/art/Arduino-annotated.svg @@ -0,0 +1,16629 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + uController + + + RESET + LED + + USB + + + IO Pins + + diff --git a/art/Arduino-annotated.svg.png b/art/Arduino-annotated.svg.png new file mode 100644 index 0000000..f5d992b Binary files /dev/null and b/art/Arduino-annotated.svg.png differ diff --git a/art/Arduino_Uno.jpg b/art/Arduino_Uno.jpg new file mode 100644 index 0000000..b069a3a Binary files /dev/null and b/art/Arduino_Uno.jpg differ diff --git a/presentations/arduino-lets-talk-science/images/CCS811-wide.png b/presentations/arduino-lets-talk-science/images/CCS811-wide.png new file mode 100644 index 0000000..b1e8bcf Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/CCS811-wide.png differ diff --git a/presentations/arduino-lets-talk-science/images/CCS811-zoom.png b/presentations/arduino-lets-talk-science/images/CCS811-zoom.png new file mode 100644 index 0000000..d40d7c5 Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/CCS811-zoom.png differ diff --git a/presentations/arduino-lets-talk-science/images/arduino-annotated.png b/presentations/arduino-lets-talk-science/images/arduino-annotated.png new file mode 100644 index 0000000..f5d992b Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/arduino-annotated.png differ diff --git a/presentations/arduino-lets-talk-science/images/bb+uno.png b/presentations/arduino-lets-talk-science/images/bb+uno.png index 021d106..8a42d95 100644 Binary files a/presentations/arduino-lets-talk-science/images/bb+uno.png and b/presentations/arduino-lets-talk-science/images/bb+uno.png differ diff --git a/presentations/arduino-lets-talk-science/images/ccs11-zoom.png b/presentations/arduino-lets-talk-science/images/ccs11-zoom.png new file mode 100644 index 0000000..9ebb721 Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/ccs11-zoom.png differ diff --git a/presentations/arduino-lets-talk-science/images/complete.svg b/presentations/arduino-lets-talk-science/images/complete.svg new file mode 100644 index 0000000..7578aaf --- /dev/null +++ b/presentations/arduino-lets-talk-science/images/complete.svg @@ -0,0 +1,6964 @@ + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 1 + + + 5 + + + 5 + + + 10 + + + 10 + + + 15 + + + 15 + + + 20 + + + 20 + + + 25 + + + 25 + + + 30 + + + 30 + + + A + + + A + + + B + + + B + + + C + + + C + + + D + + + D + + + E + + + E + + + F + + + F + + + G + + + G + + + H + + + H + + + I + + + I + + + J + + + J + + + + + + + + layer 21 + + + text:MADE IN + + + text:ITALY + + + text:Prototype + + + text:Limited + + + text:Edition + + + + + + + + + + + + + + + + + + + + + + + + + 13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + element:C1 + + package:C0603-ROUND + + + + element:C2 + + package:C0603-ROUND + + + + element:C3 + + package:C0603-ROUND + + + + element:C4 + + package:C0603-ROUND + + + + element:C5 + + package:C0603-ROUND + + + + element:C6 + + package:C0603-ROUND + + + + element:C7 + + package:C0603-ROUND + + + + element:C8 + + package:C0603-ROUND + + + + element:C9 + + package:C0603-ROUND + + + + element:C11 + + package:C0603-ROUND + + + + element:F1 + + package:L1812 + + + + element:FD1 + + package:FIDUCIA-MOUNT + + + + element:FD2 + + package:FIDUCIA-MOUNT + + + + element:FD3 + + package:FIDUCIA-MOUNT + + + + element:GROUND + + package:SJ + + + + element:L + + text:L + + + + + + + + + + L + + + + + + + + + + + + + element:R1 + + package:R0603-ROUND + + + + element:R2 + + package:R0603-ROUND + + + + element:RN1 + + package:CAY16 + + + + element:RN2 + + package:CAY16 + + + + element:RN3 + + package:CAY16 + + + + element:RN4 + + package:CAY16 + + + + element:Z1 + + package:CT/CN0603 + + + + element:Z2 + + package:CT/CN0603 + + + + + layer 25 + + + + + + + + 5V + + + + + + + + + text:A0 + + + + + + + + + + A0 + + + + + + + + + + + + + + + + + + + + + + ANALOG IN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AREF + + + + + + + + + + + + + + + + + + + + + + + + + text:1 + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GND + + + + + + + + + + + + + + + + + + + + + + + + + text:M.Banzi + + + text:D.Cuartielles + + + text:D.Mellis + + + text:TX + + + + + + + + + + TX + + + + + + + + + + + + text:RX + + + + + + + + + + RX + + + + + + + + + + + + text:G.Martino + + + text:T.Igoe + + + + + + + + + + + + + + + + + + + + + RESET + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3V3 + + + + + + + + + + + + + + + + + + + + + + + + + text:A1 + + + + + + A1 + + + + + + + + text:A2 + + + + + + + + + + A2 + + + + + + + + + + + + text:A3 + + + + + + + + + + A3 + + + + + + + + + + + + text:A4 + + + + + + + + + + A4 + + + + + + + + + + + + text:A5 + + + + + + + + + + A5 + + + + + + + + + + + + + + + + + + + + + + VIN + + + + + + + + + + + + + + + + + + + + + + + GND + + + + + + + + + + + + + + + + + + + + + + + GND + + + + + + + + + + + + + text:[#=PWM] + + + + + + + + + + DIGITAL (PWM= + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text:# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text:Arduino + + + + + + + + + + Arduino + + + + + + + + + + + + text:TM + + + + + + + + + + TM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IOREF + + + + + + + + + + + + + + + + + + + + + + + + + text:SDA + + + text:SCL + + + element:AD + + package:1X06 + + + + element:C1 + + package:C0603-ROUND + + + + element:C2 + + package:C0603-ROUND + + + + element:C3 + + package:C0603-ROUND + + + + element:C4 + + package:C0603-ROUND + + + + element:C5 + + package:C0603-ROUND + + + + element:C6 + + package:C0603-ROUND + + + + element:C7 + + package:C0603-ROUND + + + + element:C8 + + package:C0603-ROUND + + + + element:C9 + + package:C0603-ROUND + + + + element:C11 + + package:C0603-ROUND + + + + element:D1 + + package:SMB + + + + element:D2 + + package:MINIMELF + + + + element:D3 + + package:MINIMELF + + + + element:F1 + + package:L1812 + + + + element:FD1 + + package:FIDUCIA-MOUNT + + + + element:FD2 + + package:FIDUCIA-MOUNT + + + + element:FD3 + + package:FIDUCIA-MOUNT + + + + element:GROUND + + package:SJ + + + + element:ICSP + + text:ICSP + + + + + + + + + + + + + + + + + + + + + + ICSP + + + + + + + + + + + + + + + + + + + + + + + + package:2X03 + + + + element:ICSP + + text:ICSP + + + + + + + + + + + + + + + + + + + + + + ICSP2 + + + + + + + + + + + + + + + + + + + + + + + + package:2X03 + + + + element:ICSP1 + + package:2X03 + + + + element:IOH + + package:1X10@1 + + + + element:IOL + + package:1X08 + + + + element:JP2 + + package:2X02 + + + + element:L + + package:CHIP-LED0805 + + + + element:L1 + + package:0805 + + + + element:ON + + text:ON + + + + + + ON + + + + + + + + package:CHIP-LED0805 + + + + element:PC1 + + package:PANASONIC_D + + + + element:PC2 + + package:PANASONIC_D + + + + element:R1 + + package:R0603-ROUND + + + + element:R2 + + package:R0603-ROUND + + + + element:RESET + + package:TS42 + + + + element:RESET-EN + + package:SJ + + + + element:RN1 + + package:CAY16 + + + + element:RN2 + + package:CAY16 + + + + element:RN3 + + package:CAY16 + + + + element:RN4 + + package:CAY16 + + + + element:RX + + package:CHIP-LED0805 + + + + element:T1 + + package:SOT-23 + + + + element:TX + + package:CHIP-LED0805 + + + + element:U1 + + package:SOT223 + + + + element:U2 + + package:SOT23-DBV + + + + element:U3 + + package:MLF32 + + + + element:U5 + + package:MSOP08 + + + + element:X1 + + package:POWERSUPPLY_DC-21MM + + + + element:X2 + + package:PN61729 + + + + element:Y1 + + package:QS + + + + element:Y2 + + package:RESONATOR + + + + element:Z1 + + package:CT/CN0603 + + + + element:Z2 + + package:CT/CN0603 + + + + element:ZU4 + + package:DIL28-3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + POWER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TX0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RX0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text:RESET + + + + + + + + + + RESET + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/presentations/arduino-lets-talk-science/images/dht11-wide.png b/presentations/arduino-lets-talk-science/images/dht11-wide.png new file mode 100644 index 0000000..62c1c50 Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/dht11-wide.png differ diff --git a/presentations/arduino-lets-talk-science/images/dht11-zoom.png b/presentations/arduino-lets-talk-science/images/dht11-zoom.png new file mode 100644 index 0000000..82de6c4 Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/dht11-zoom.png differ diff --git a/presentations/arduino-lets-talk-science/images/monitor-all.png b/presentations/arduino-lets-talk-science/images/monitor-all.png new file mode 100644 index 0000000..59b5926 Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/monitor-all.png differ diff --git a/presentations/arduino-lets-talk-science/images/monitor-ccs.png b/presentations/arduino-lets-talk-science/images/monitor-ccs.png new file mode 100644 index 0000000..9ef5d6a Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/monitor-ccs.png differ diff --git a/presentations/arduino-lets-talk-science/images/monitor-dht.png b/presentations/arduino-lets-talk-science/images/monitor-dht.png new file mode 100644 index 0000000..de480a2 Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/monitor-dht.png differ diff --git a/presentations/arduino-lets-talk-science/images/monitor-tsl.png b/presentations/arduino-lets-talk-science/images/monitor-tsl.png new file mode 100644 index 0000000..d10083f Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/monitor-tsl.png differ diff --git a/presentations/arduino-lets-talk-science/images/plotter.png b/presentations/arduino-lets-talk-science/images/plotter.png new file mode 100644 index 0000000..c1308db Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/plotter.png differ diff --git a/presentations/arduino-lets-talk-science/images/preferences.png b/presentations/arduino-lets-talk-science/images/preferences.png new file mode 100644 index 0000000..b445b11 Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/preferences.png differ diff --git a/presentations/arduino-lets-talk-science/images/preferences2.png b/presentations/arduino-lets-talk-science/images/preferences2.png new file mode 100644 index 0000000..26ddf8f Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/preferences2.png differ diff --git a/presentations/arduino-lets-talk-science/images/rails.png b/presentations/arduino-lets-talk-science/images/rails.png new file mode 100644 index 0000000..b9184de Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/rails.png differ diff --git a/presentations/arduino-lets-talk-science/images/tsl-zoom.png b/presentations/arduino-lets-talk-science/images/tsl-zoom.png new file mode 100644 index 0000000..bab45fe Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/tsl-zoom.png differ diff --git a/presentations/arduino-lets-talk-science/images/tsl2561-wide.png b/presentations/arduino-lets-talk-science/images/tsl2561-wide.png new file mode 100644 index 0000000..a065a1e Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/tsl2561-wide.png differ diff --git a/presentations/arduino-lets-talk-science/images/tsl2561-zoom.png b/presentations/arduino-lets-talk-science/images/tsl2561-zoom.png new file mode 100644 index 0000000..83deeb1 Binary files /dev/null and b/presentations/arduino-lets-talk-science/images/tsl2561-zoom.png differ diff --git a/presentations/arduino-lets-talk-science/sketchbook/complete/complete.ino b/presentations/arduino-lets-talk-science/sketchbook/complete/complete.ino new file mode 100644 index 0000000..b0e0ded --- /dev/null +++ b/presentations/arduino-lets-talk-science/sketchbook/complete/complete.ino @@ -0,0 +1,55 @@ +#include +#include +#include +#include "Adafruit_CCS811.h" +#include "DHT.h" + +#define DHTPIN 2 +#define DHTTYPE DHT11 + +Adafruit_CCS811 ccs; +DHT dht(DHTPIN, DHTTYPE); +Adafruit_TSL2561_Unified tsl = Adafruit_TSL2561_Unified(TSL2561_ADDR_FLOAT, 12345); + +void setup() { + Serial.begin(9600); + Serial.println("Let's Talk Science!"); + + dht.begin(); + ccs.begin(); + tsl.begin(); + + while(!ccs.available()); + float temp = ccs.calculateTemperature(); + ccs.setTempOffset(temp - 25.0); + + tsl.enableAutoRange(true); + tsl.setIntegrationTime(TSL2561_INTEGRATIONTIME_13MS); +} + +void loop() { + delay(500); + float humidity = dht.readHumidity(); + float temp = dht.readTemperature(); + + Serial.print(humidity); + Serial.print(" "); + Serial.print(temp); + Serial.print(" "); + + ccs.readData(); + int co2 = ccs.geteCO2(); + int tvoc = ccs.getTVOC(); + + Serial.print(co2/100); + Serial.print(" "); + Serial.print(tvoc/10); + Serial.print(" "); + + sensors_event_t event; + tsl.getEvent(&event); + + Serial.print(event.light/10); + + Serial.println(""); +} diff --git a/presentations/arduino-lets-talk-science/sketchbook/libraries/Adafruit_CCS811 b/presentations/arduino-lets-talk-science/sketchbook/libraries/Adafruit_CCS811 new file mode 160000 index 0000000..9383ee8 --- /dev/null +++ b/presentations/arduino-lets-talk-science/sketchbook/libraries/Adafruit_CCS811 @@ -0,0 +1 @@ +Subproject commit 9383ee8daacada2e1091092c334ed11c03dc5f27 diff --git a/presentations/arduino-lets-talk-science/sketchbook/libraries/Adafruit_Sensor b/presentations/arduino-lets-talk-science/sketchbook/libraries/Adafruit_Sensor new file mode 160000 index 0000000..e985f22 --- /dev/null +++ b/presentations/arduino-lets-talk-science/sketchbook/libraries/Adafruit_Sensor @@ -0,0 +1 @@ +Subproject commit e985f2253a687ef377cde3dcfb1f788830d1bc09 diff --git a/presentations/arduino-lets-talk-science/sketchbook/libraries/Adafruit_TSL2561 b/presentations/arduino-lets-talk-science/sketchbook/libraries/Adafruit_TSL2561 new file mode 160000 index 0000000..0c88fba --- /dev/null +++ b/presentations/arduino-lets-talk-science/sketchbook/libraries/Adafruit_TSL2561 @@ -0,0 +1 @@ +Subproject commit 0c88fba4e7658a9425bbcaca78a58e6a7abfd17e diff --git a/presentations/arduino-lets-talk-science/sketchbook/libraries/DHT-sensor-library b/presentations/arduino-lets-talk-science/sketchbook/libraries/DHT-sensor-library new file mode 160000 index 0000000..c978977 --- /dev/null +++ b/presentations/arduino-lets-talk-science/sketchbook/libraries/DHT-sensor-library @@ -0,0 +1 @@ +Subproject commit c97897771807613d456b318236e18a04b013410b diff --git a/presentations/arduino-lets-talk-science/talk.ebook.pdf b/presentations/arduino-lets-talk-science/talk.ebook.pdf index e55f9e6..60fc5b6 100644 Binary files a/presentations/arduino-lets-talk-science/talk.ebook.pdf and b/presentations/arduino-lets-talk-science/talk.ebook.pdf differ diff --git a/presentations/arduino-lets-talk-science/talk.ebook.pdfpc b/presentations/arduino-lets-talk-science/talk.ebook.pdfpc index a08fd1f..eb9a131 100644 --- a/presentations/arduino-lets-talk-science/talk.ebook.pdfpc +++ b/presentations/arduino-lets-talk-science/talk.ebook.pdfpc @@ -1,9 +1,14 @@ [file] talk.ebook.pdf +[skip] +7,8,9, +[end_user_slide] +6 [notes] ### 2 29### 4 Nuit Blanche - Take over the city w/ interactive art -Work in Practice @ Explode (Illustrators explaining their artistic practice and portfolio feedback)### 22 +Work in Practice @ Explode (Illustrators explaining their artistic practice and portfolio feedback)### 9 +### 22 Devices that are 'on' have current flowing through them. Most of what we'll do today is getting current to flow through devices in various ways.### 23 Potential is the push that moves current. \ No newline at end of file diff --git a/presentations/arduino-lets-talk-science/talk.md b/presentations/arduino-lets-talk-science/talk.md index b95706e..d46db0e 100644 --- a/presentations/arduino-lets-talk-science/talk.md +++ b/presentations/arduino-lets-talk-science/talk.md @@ -11,9 +11,9 @@ colorlinks: true By the end of this class, you'll: - - Know how to create programs for Arduino and run them. - Be familiar with basic electionics concepts - - + - Assemble a kit of sensors into a complete system + - Know how to program the Arduino platform to collect and plot the sensor data ## UnPacked / Unlondon @@ -30,51 +30,6 @@ membership and the community-at-large. - ExplodeConf - Nuit Blanche -## Shawn: Day Job - -Embedded Systems Designer, Monadnock Systems - - - Indoor location tracking w/ Bluetooth - - Keychain / Fitness Band Widgets - - Joystick for VR - - Remote Controls - - Internet of S*#t - -## Shawn: The Fun Stuff - -Hacker, Church of the Weird Machine, Odd Duck - -\begin{columns}[c] -\column{0.50\textwidth} - -\begin{itemize} -\item Arduino compatible implant -\item EEG Games / Toy Hacking -\item Brain Stimulation -\item Be Weird, Make Weird, Have Fun! -\end{itemize} - -\column{0.50\textwidth} -\begin{center} -\includegraphics[width=0.95\textwidth]{images/timbo.jpg} -\vspace{5mm} -\includegraphics[width=0.95\textwidth]{images/circadia.jpg} -\end{center} -\end{columns} - -## Titus: Day Job - -Executive Director, UnPacked - - - 121Studios - - St. Thomas STEM Centre - - &c - -## Titus: The Fun Stuff - -Thinker, Jack of all Trades - - # What's in your kit? ## Kit Contents @@ -88,10 +43,11 @@ Thinker, Jack of all Trades ###Sensors - Temperature / Humidity - Light Sensor +- CO2 Gas Sensor ## What is Arduino? - +\center{\includegraphics[width=0.75\textwidth]{images/arduino-annotated.png}} It's a kit (on a board) with the bare minimum components to easily use the $\mu$C hardware. They do the basic, boring design needed for any board, so users only @@ -101,11 +57,14 @@ need to add the neat stuff. The Arduino folks also adapted an *Integrated Development Environment* (IDE) to their boards. This IDE allows us to easily write programs for -their boards and then write the programs to the $\mu$C. +their boards and then transfer the programs to the $\mu$C. \Large Get the Arduino IDE: [https://www.arduino.cc/en/Main/Software](https://www.arduino.cc/en/Main/Software) +Get the libraries and sample code for this workshop: +[https://monadnock.ca/lts-workshop-Nov2017.zip](https://monadnock.ca/lts-workshop.zip) + @@ -240,7 +199,7 @@ Can be a: * Batteries * Solar Panel -In our circuits, your laptop is converting it's power source to $\SI{5}{\volt}$ and +In our circuits, your computer is converting it's power source to $\SI{5}{\volt}$ and delivering power to our circuit via USB. ## $\mu$Controller @@ -279,7 +238,7 @@ repeat^[some commands change the address of the next fetched command] Most of the pins on the Arduino can be set for INPUT or OUTPUT mode. -- INPUT mode pins listen for a signal ($0$ or $1$) from another device +- INPUT mode pins listen for a signal (High or Low) from another device - OUTPUT mode pins drive the pin High or Low ## Floating Pins @@ -314,14 +273,24 @@ will not flow and the LED is off. * Board: Arduino/Genuino UNO * Port: \ldots - +## Fetch the Class Code - - - - - - +Download and extract: [https://monadnock.ca/static/lts-workshop-Nov2017.zip](https://monadnock.ca/static/lts-workshop-Nov2017.zip) + + - File$\rightarrow$Preferences + - Browse for sketchbook + - Point it at the `sketchbook` subfolder of the extracted download + - You should now see a list of projects in the + File$\rightarrow$Sketchbook menu. + +## Setup the Sensor Libraries (Sketchbook) + +\begin{center} +\includegraphics[width=0.5\textwidth]{images/preferences.png} +\includegraphics[width=0.5\textwidth]{images/preferences2.png} +\end{center} + +For the *Sketchbook Location* browse to the extracted lts-workshop-Nov2017/sketchbook directory. ## The Code Environment @@ -349,12 +318,13 @@ void loop() { ~~~ -# Add Some Parts +# Lets Add Some Parts ## Breadboard ![Breadboard](images/breadboard.png)\ + - Connectors gently pinch component leads, wires. - Have internal connections @@ -364,25 +334,28 @@ We use the long rows to distribute power. The Arduino outputs $\SI{5}{\volt}$ on the pin marked `5V`, the reference (GND) is marked `GND`. -![Arduino + Breadboard](images/bb+uno.png) - -## Buzzer & Button: Hardware - \begin{center} -\includegraphics[width=0.98\textwidth]{images/buzzer-breadboard.png} +\includegraphics[width=0.92\textwidth]{images/rails.png} \end{center} -## Push Button: Zoom +## DHT11: Temperature and Humidity Sensor \begin{center} -\includegraphics[width=0.98\textwidth]{images/bb+switch+zoom.png} +\includegraphics[width=0.98\textwidth]{images/dht11-wide.png} \end{center} + +## DHT11: Zoom + +\begin{center} +\includegraphics[width=0.25\textwidth]{images/dht11-zoom.png} +\end{center} + +Connect left pin to Vcc rail ($+$) and right pin to GND ($-$) rail. Second from left connects to Arduino pin #2 *and* a resistor to Vcc + ## Pullup / Pulldown Resistors -Reading a floating pin is **bad**. A switch only connects -and disconnects a wire. When the wire is disconnected... the INPUT pin -is floating! +The DHT11 uses an *Open Collector* output that switches between *Not Connected* and *Connected to Ground*. When it's not connected, the pin is left *floating*. How do we make a floating pin look like a High signal? \vfill @@ -391,40 +364,28 @@ is floating! Connect the pin to Vcc so that it reads High; use a resistor to prevent short circuit (limit current). -## Buzzer: Zoom +## DHT11: Run example code + +We can test the sensor by running sample code from the library. + +Open the sample: File$\rightarrow$Examples$\rightarrow$DHT Sensor Library$\rightarrow$DHTtester + +Once the sample is loaded click the *upload* button (looks like right arrow) + +## Arduino Serial Monitor + +Once the sample code is uploaded, you can open the *Serial Monitor* to view the output. It can be found under: + +Tools$\rightarrow$Serial Monitor + +## DHTtester Output \begin{center} -\includegraphics[width=0.98\textwidth]{images/buzzer-zoom.png} +\includegraphics[width=0.98\textwidth]{images/monitor-dht.png} \end{center} -## Buzzer / Button: Software (Part 1) -~~~ C -#define BUTTON 2 -#define BUZZER 8 - -int button_state; - -void setup() { - pinMode(BUTTON, INPUT); - pinMode(BUZZER, OUTPUT); - digitalWrite(BUZZER, LOW); /* Start w/ LED off */ -} -~~~ -## Programming Note: Variables - -Declare a variable: - -~~~ C -int button_state = HIGH; -~~~ - -` [= ];` (value optional) - -It's a name, like a preprocessor `#define`, but the value can change -at *runtime* - -## Programming Note: *If* Statement + -## Programming Note: Functions - -Functions make it easy to reuse code. You already know / use several -functions: - - - pinMode - - digitalWrite - - delay - -digitalRead(pin number) returns HIGH or LOW depending on current state -of any **INPUT** pin. - -You can write your own functions! - -## Programming Note: Writing Functions - -~~~ C -void my_function(int arg1, ...) { - // Do fun things -} -~~~ - -void: -: Return type. Void means nothing returned. Can be any type. - -my_function: -: A name for your function - -arguments: -: A type and name for any parameters you want to use in your function -from the outside. - -Define a function once, you can use it again and again. Better than -copy/pasting. - - - -## Push Button: Software (Part 2) - -~~~ C -void buzz(int ms) { - digitalWrite(BUZZER, HIGH); - delay(ms); - digitalWrite(BUZZER, LOW); -} -void loop() { - button_state = digitalRead(BUTTON); - if (button_state == LOW) { - buzz(100); - } -} -~~~ - -# More Parts - -## Potentiometer - -*Puh - ten - she - ometer* - -- *Pot* for short -- A Voltage Divider -- Voltage at *Wiper* is somewhere between potential at the two - terminals. -- The exact wiper potential depends on the position of the knob/lever. - -## ADC: Analog to Digital Converter - -- A peripheral of the $\mu$Controller -- Measures Potential, outputs a number -- In our case, $\SI{0}{\volt}\rightarrow0$ and - $\SI{5}{\volt}\rightarrow1023$ -- A0-A5 pins on Arduino can be used -- Fun uses: Reading pot position, sampling audio, reading from sensors - -## The Pot Hookup +## TSL2561: Ambient Light Sensor \begin{center} -\includegraphics[width=0.98\textwidth]{images/bb+switch+pot.png} +\includegraphics[width=0.98\textwidth]{images/tsl2561-wide.png} \end{center} -Connect center pin to `A0`, outer pins to ($+$) and ($-$) rails +## TSL2561: Zoom -## Pot Code +\begin{center} +\includegraphics[width=0.3 \textwidth]{images/tsl-zoom.png} +\end{center} -`analogRead(`*pin*`)` returns the voltage at the pin (0--1023), it can -be used directly or via variable. +Connect Vin to ($+$) rail, GND to ($-$) rail, SDA to Arduino pin A4 and SCL to A5 + +## TSL2561: Run example code + +We can test the sensor by running sample code from the library. + +Open the sample: File$\rightarrow$Examples$\rightarrow$Adafruit TSL2561$\rightarrow$sensorapi + +Once the sample is loaded click the *upload* button (looks like right arrow) + +## TSL2561 Sample Output + +\begin{center} +\includegraphics[width=0.98\textwidth]{images/monitor-tsl.png} +\end{center} + +## CCS811: Gas Sensor + +\begin{center} +\includegraphics[width=0.98\textwidth]{images/CCS811-wide.png} +\end{center} + +## CCS811: Zoom + +\begin{center} +\includegraphics[width=0.3\textwidth]{images/ccs11-zoom.png} +\end{center} + +*Vin* to ($+$) rail, GND *and* WAKE to ($-$) rail, SDA to TSL2561 SDA, SCL to TSL2561 SCL + +## CCS811: Run example code + +We can test the sensor by running sample code from the library. + +Open the sample: File$\rightarrow$Examples$\rightarrow$Adafruit CCS811 Library$\rightarrow$CCS811_test + +Once the sample is loaded click the *upload* button (looks like right arrow) + +## CCS811 Sample Output + +\begin{center} +\includegraphics[width=0.98\textwidth]{images/monitor-ccs.png} +\end{center} + +# Programming + +## Part 1; Includes ~~~ C -#define LED 13 +#include +#include +#include +#include "Adafruit_CCS811.h" +#include "DHT.h" +~~~ + +## Part 2; Definitions + +~~~ C +#define DHTPIN 2 +#define DHTTYPE DHT11 +~~~ + +## Part 3; Objects +~~~ C +Adafruit_CCS811 ccs; +DHT dht(DHTPIN, DHTTYPE); +Adafruit_TSL2561_Unified tsl = + Adafruit_TSL2561_Unified(TSL2561_ADDR_FLOAT, 12345); +~~~ + +## Programming Note: Variables + +Declare a variable: + +~~~ C +int button_state = HIGH; +~~~ + +` [= ];` (value optional) + +It's a name, like a preprocessor `#define`, but the value can change +at *runtime* + +## Part 4; Setup +~~~ C void setup() { - pinMode(LED, OUTPUT); + Serial.begin(9600); + Serial.println("Let's Talk Science!"); + + dht.begin(); + ccs.begin(); + tsl.begin(); + + while(!ccs.available()); + float temp = ccs.calculateTemperature(); + ccs.setTempOffset(temp - 25.0); + + tsl.enableAutoRange(true); + tsl.setIntegrationTime(TSL2561_INTEGRATIONTIME_13MS); } -void loop() { - digitalWrite(LED, HIGH); - delay(analogRead(A0)); - digitalWrite(LED, LOW); - delay(analogRead(A0)); + +~~~ + + +## Part 4; Main Loop + +~~~ C +loop () { + delay(500); + ... } ~~~ -Since the delay() calls use the result of analogRead (0-1023), the -blink rate changes with knob position. +## Part 4a; Temperature / Humity Sensor Read -# Shall we play a game? +~~~ C +loop () { + ... + float humidity = dht.readHumidity(); + float temp = dht.readTemperature(); -## Hooking up a bunch of LEDs + Serial.print(humidity); + Serial.print(" "); + Serial.print(temp); + Serial.print(" "); + ... +} +~~~ + +## Part 4b; Gas Sensor Read + +~~~ C +loop () { + ... + ccs.readData(); + int co2 = ccs.geteCO2(); + int tvoc = ccs.getTVOC(); + + Serial.print(co2/100); + Serial.print(" "); + Serial.print(tvoc/10); + Serial.print(" "); +} +~~~ + +## Part 4c; Light Sensor Read + +~~~ C +loop () { + ... + sensors_event_t event; + tsl.getEvent(&event); + + Serial.print(event.light/10); + ... +} +~~~ + +## Part 4d; Ending the output + +~~~ C +loop () { + ... + Serial.println(""); +} +~~~ + +## Complete Sensor Output \begin{center} -\includegraphics[width=0.65\textwidth]{images/bb+switch+pot+leds.png} +\includegraphics[width=0.98\textwidth]{images/monitor-all.png} \end{center} -## LEDs, the first one +## Arduino Serial Plotter -Looks complicated, but for each LED: The short leg goes to ground, the -long leg goes to one end of a resistor, and the other end of the -resistor goes to the arduino pin. +Why such a terse, boring output format? + +Arduino has a feature where it will plot data in this specific format. You can see the plotted output by closing the Arduino Serial Monitor and Opening *Arduino Serial Plotter* (Tools$\rightarrow$Serial Plotter) + +## Arduino Serial Plotter Output \begin{center} -\includegraphics[width=0.55\textwidth]{images/one-led.png} +\includegraphics[width=0.98\textwidth]{images/plotter.png} \end{center} -## Programming Note: `for` Loop + -## Programming Note: `while` Loop + -## Winner, Winner, Chicken Dinner + -# The End? +# Undiscussed Issues + +## Obtaining the kit + +- Educators would need to order several different parts (SKUs). +- Vendors keep very little stock (~4 dozen). +- Educators may need to "google around" to find parts, most likely from abroad (US or China) + +## Installing the Software + +- School machines may prevent software installation +- School machines may not be conventional computers (iPads, Chromebooks) + +## Troubleshooting the Build + +- Breadboards aren't rugged. +- Sockets wear out quickly +- Parts may need to be wiggled +- Some parts may be DoA +- Most troubleshooting requires a Multimeter (and training on how to use it) # Extra Credit ## Ohm's Law diff --git a/presentations/arduino-lets-talk-science/talk.pdf b/presentations/arduino-lets-talk-science/talk.pdf index 86a9c97..0b57f9f 100644 Binary files a/presentations/arduino-lets-talk-science/talk.pdf and b/presentations/arduino-lets-talk-science/talk.pdf differ