|
|
||||
| 2019-2020 ICS3U: AVR FOUNDATIONS | ||||
|---|---|---|---|---|
| CLASS | REFERENCE | CONTENT & CONCEPTS | PROJECT | SUPPLEMENTAL |
82 Jun 5 |
Great Reads![]() |
|||
81 Jun 3 |
![]() |
The Julia Set Gaston Julia · Ansel Adams |
![]() |
![]() |
Jun 1 |
![]() |
The Mandelbrot Set Making your own Mandelbrot Movies |
![]() |
![]() |
May 28 |
The Mandelbrot Set Grayscale Palette Mouse Zoom and Explore |
2.20 |
||
![]() |
||||
78 May 26 |
AP Seminar PB, JB, JD, JL, MM, SR, LRC, JV |
No Meet (AP) |
2.20 |
|
May 22 |
The Mandelbrot Set Escape-Time Algorithm Post-Class Code: MandelbrotBWInClassShell.pde |
![]() |
||
76 May 20 |
AP Eng, Lang. (2:00 everyone?) |
No Meet (AP) |
AP Micro SA, JD, SR |
|
May 15 |
The Mandelbrot Set Complex Numbers: Orbits Post Class Code: isInSetInClass.pde |
|||
May 13 |
![]() |
The Mandelbrot Set Complex Numbers: Orbits |
![]() |
Heinz-Otto Peitgen |
May 11 |
![]() |
The Mandelbrot Set |
![]() |
Benoit Mandelbrot |
May 7 |
![]() |
The Mandelbrot Set Feedback Examples: Audio, Video, Sequential Logic, OpAmps, etc. Mathematics |
![]() |
SA, PB*, JB*, JDe, HD AG*, JL, MM**, RM, SR LR-C*, OS, JS, CT, WT MVD, JV* |
| CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT |
May 5 |
One more Mechanical device in your kit we have yet to explore... |
ACES' (No Library) Interrupt Code Implementation of the Telephone Keypad ![]() |
![]() |
|
70 May 1 |
RSGC ACES' Gem: (ACES '20) Mini CNC Plotter |
No Meet: Work Period M3: Stepper Motors Drive Options: Wave, Full, and Half-Step Here's a Half-Step Sequence Animation... ![]() |
![]() |
2.9
|
Apr 29 |
RSGC ACES' Gem: (Queen's Eng. '22) CNC Machine User's Guide |
MOT-28BYJ-48 Datasheet ![]() |
![]() for today's Meet |
2.9
![]() |
Apr 27 |
RSGC ACES' Gem: (Mac. Eng. '21) Laser Projector |
Precision Positioning... M3: Stepper Motors Feedback: Open vs Closed Loop Systems MOT-28BYJ48 with ULN2003 Darlington Driver |
![]() |
![]() |
Apr 23 |
RSGC ACES Gem: Hand Counter |
M2: Servo Motors Deep Theory Lesson on PWM ![]() K. Shirriff's: Secrets of Arduino PWM |
![]() |
Timer1 WGMs: Waveform Generation Modes |
Apr 21 |
RSGC ACES Gem: Cube Solver Polish, but :) PID |
M2: Servo Motors |
Servo Connections Servo Controller Concepts Open vs Closed Loop Analog Feedback Servos That 4th Wire: Calibration |
|
Apr 17 |
M1: DC Motor Control System (Speed and Direction) See F/C email post for important content |
SN754410 pg. 2 Flyback Diode Advice ![]() |
2.8
SA*, PB., JB., JDe., HD. AG.*, JL, MM.*, RM, SR. LR-C., OS., JS, CT, WT. MVD., JV |
|
Apr 15 |
RSGC ACES Gem: Bi-Wheeled Rover L293D vs SN754410 (both in your kit) |
M1: DC Motor Control Microchip Paper on SN754410 H-Bridge (Datasheet) Tutorial 1 or Tutorial 2 Must View: |
Falstad Darlington Pair H-Bridge Connections ![]() |
2.8
RSGC ACES Motor Direction-Related Video Spur (Driver) Gear: Gear Generator (Driven) |
| EASTER WEEKEND (April 10-13) | ||||
Apr 9 |
![]() |
M1: DC Motors (Speed) RSGC ACES Motor Speed-Related Videos |
Adam's Rendering of Joseph's Encoder ![]() |
SA, PB, JB, JDe, HD AG, JL*, MM*, RM, SR LR-C, OS, JS, CT, WT MVD, JV 2.7 |
62 Apr 7 |
Switching: Low-Side vs High-Side Brushed vs Brushless? |
M1: DC Motors (Speed)
Driving/Switching Higher Loads: TIP120 (Darlington) vs IRF520 (MOSFET) DC Motor Tachometry Code Shell: |
Huge Shout-out to Joseph for Design Files! EncoderV3.stl, MotorV2.stl, Motor2V2.stl ![]() |
|
| LONG (7 weeks) ISP Proposals: April - May | ||||
Apr 3 |
![]() |
Introduction to DC Hobby Motors Sparkfun's ROB-11696 Hobby - Gear Power Supply Considerations: BJTs vs FETs |
![]() |
![]() |
F. Communication |
||||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT |
Apr 1 |
Communication Protocols (Serial, SPI, I2C, RF, IR2, BT) AVR Foundations Workbook: pp. 88-89 |
![]() |
2.20a |
|
Mar 30 |
![]() |
Communication Protocols (Serial, SPI, I2C, RF, IR1, BT) AVR Foundations Workbook: pp. 88-89 |
![]() |
|
58 Mar 26 |
See... ICS3U F/C Conference SPI: Serial Peripheral Interface AVR Foundations Workbook: pp. 82-83 |
|||
57 Mar 24 |
595 as SPI Device? |
The Circular (Trig) Functions Concept and Joystick Demonstration Communication Protocols (Serial, SPI, I2C, RF, IR, BT) AVR Foundations Workbook: pp. 82-83 |
![]() |
Arduino C Toolchain... pins_arduino.h |
| EXTENDED COVID-19 BREAK | ||||
| MARCH BREAK | ||||
56 Mar 4 |
Medium ISP Presentations ( JV, JS, OS, JL, PB, WT) |
MM, RM, SR, LRC, OS, JS, CT, WT, MvD, JV |
||
55 Mar 2 |
Medium ISP Presentations (AG, JD, CT, LRC, JB,) |
Guest: Matt Weldon 2008 ICS3U Final Exam ACES '09; Queen's '13 (Eng. Physics) |
||
54 Feb 27 |
Medium ISP Presentations (MvD, HD, SA, SR, RM) |
|||
53 Feb 25 |
![]() |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) Part Class: Math Contest Serial Communicaton (UART) Part 2A. CLIENT-SERVER Part 2B. PEER-PEER |
![]() |
|
52 Feb 21 |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) Serial Communicaton (UART) Part 1. AUTONOMOUS ARDUINO Adafruit's v3 GPS Breakout (GPS NMEA Sentences) (time-permitting) Show students the General Base Conversion Algorithm |
![]() |
||
51 Feb 19 |
![]() |
Behind the curtain... Wire-Level RTC Exercises (cont'd) 4. DS1307 Square Wave Exploration |
Great code is Modular: Arduino C Functions |
![]() |
| 4-Day Winter Break (February 14-17) | ||||
50 Feb 13 |
DS1307 Registers![]() |
Behind the curtain... Wire-Level RTC Exercises (cont'd) 3. DS1307 RTC Timekeeping Registers Video Support: Two utility functions: uint8_t BCD2bin(uint8_t bcd) uint8_t bin2BCD(uint8_t bin) |
sprintf, Format Codes |
C++ Operator Precedence (p. 140) |
49 Feb 11 |
Behind the curtain... Wire-Level RTC Exercises 1. Research: How I2C Communication Works 2. TC74 Tiny Serial Temperature Sensor |
![]() |
||
![]() |
||||
48 Feb 7 |
![]() |
Pierce Oscillator Show & Tell (supplemental parts repatriation) Communication Protocols (Serial, SPI, I2C, RF, IR, BT) Install DS1307RTC Library (as above) |
![]() ![]() |
![]() CMOS 4060 Ripple DS1307 Description ![]() |
47 Feb 5 |
Challenge-Style Exercise #2![]() |
|||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT |
46 Feb 3 |
pp. 108-109![]() ![]() |
Mr. D's favourite 8-pin IC... MSGEQ7 The 7-Band Spectrum Analyzer Terrific Tutorial: MSGEQ7 by Skoba RSGC ACES MSGEQ7 Audio Equalizer Prototype Custom LCD Character Function: createChar() |
Online Tone Generator |
SA*, PB, JB*, JDe*, HD AG, JL, mm, RM, SR, LR-C**, OS, JS, CT, WT mvd, JV* ![]() |
45 Jan 30 |
![]() |
(partial class due to AMC) Soldering Session ![]() |
![]() |
![]() |
44 Jan 28 |
pp. 40-41 One of many... GPIO Tutorials |
EAGLE Loose Ends: Silk-screen Borders, Mitered Corners Milling Layer (46) and Reference Layer (49) GPIO Register-Level Manipulation |
![]() |
2.6.3 |
| Chinese New Year: January 25 - February 4. Year of the Rat... | ||||
43 Jan 24 |
pp. 40-41 | Bit-Banging |
2.6.3 | |
42 Jan 22 |
ACES' LCD Designers?![]() |
They've Arrived! (12-Day Turnaround: Jan 8 - 20) Legacy PCB/Appliance Reveal Session Tracking: 1Z6V669X0419552927 |
![]() |
2.6.3 |
41 Jan 20 |
Behind the curtain... ATmega328P Memory, GPIO Regs (pp. 137-139) ![]() |
Behind the curtain... Arduino C Execution Cycle and an early look at... AVR GPIO Registers (p. 611) #include Arduino.h (software) #include iom328p.h (hardware) C++ Operator Precedence (p. 140) |
![]() |
![]() |
40 Jan 16 |
Fusion 360 EZ Snap |
Challenge-Style Exercise #1 |
SA*, PB, JB, JDe, HD AG, JL, MM, RM*, SR, LR-C, OS, JS, CT, WT MVD, JV |
![]() |
39 Jan 14 |
![]() |
Debouncing Strategies for Buttons pp. 98-99... ACES' LCD Samplers: |
LCD UNO Appliance | ![]() LiquidCrystal Functions |
| p. 67, 130
p. 122 |
Event-Driven (Non-Blocking) Coding Interrupts Recall TimerOne External Interrupts: Buttons |
![]() |
2.6.2 | |
| DUE in handin EAGLE PCB (ISP?) files and Medium ISP Proposal Reading Buttons... (not as straightforward s you might think) |
Medium ISP Proposal |
2.10, 2.6.1 | ||
| MEDIUM (6 weeks) ISP Presentations: January - February | ||||
| Christmas Break | ||||
| D. CAD 1: Printed Circuit Board Design with AutoDesk's EAGLE | ||||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT |
| EAGLE IV
ACES_Generic.cam |
Generating the Gerber (Manufacturing) Files Check & Rules Error (ERC) Design (.dru, DRC), |
Board Houses JLC PCBs, DirtyPCBs |
2.10, 2.6.1 | |
35 Dec 16 |
EAGLE III
ACES_THT.dru |
Schematic: Replace (6mm for 12mm PB) Layers (Dimension, Holes, tOrigins, tSilk, 200bmp) Tools (Line, Miter, Hole, Mirror, Ratsnest, Show, AutoRouter, Text) |
![]() |
2.10, 2.6.1 |
| EAGLE II
|
Convenient EAGLE Libraries (.lbr): Common Parts: THT, SMT, General |
![]() |
2.5
SA, PB*, JB, JDe, HD* AG, JL, MM*, RM*, SR, LR-C, OS, JS, CT, WT MVD, JV |
|
EAGLE I
![]() |
(Special treat for SA, JB, HD, OS, & JS) Application Orientation Projects, Preferences, Schematic and Board |
EAGLE Project Files for MatrixMadeEZv2: MatrixMadeEZv2.sch MatrixMadeEZv2.brd |
![]() |
|
| CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT |
32 Dec 6 |
External Interrupts page 122 Check out the Gecko II prototype for animation ideas... ![]() |
Define and load a local Matrix Frame uint8_t image[] ={0,0,0,0,0,0,0,0}; EEPROM: Writing To and Reading From ![]() |
ACES ('15) Frame Design Utility
|
Frame Flipping/Inversion
|
Matrix Position Joystick Principle 2018/2019 MatrixMadeEZ Videos** |
Hobbytronics: Arduino Timer Interrupts Your first(?) (explicit) Library: TimerOneDetailed TimerOne Documentation Sketch > Include Library > Manage Libraries... |
![]() |
||
30 Dec 2 |
![]() |
MatrixMadeEZ Kit Components Power Logic 8-bit Shift Register: TPIC6C595 Small 8x8 Matrix: BL-M07C881UR-11 Adafruit Alternative: KWM-20882CUYB |
![]() |
![]() |
29 Nov 28 |
Binary Challenge: Signed (1500 in 5) Altoids Arduino Work Week |
![]() |
2.4.2
SA*, PB*, JB*, JDe, HD AG*, JL, MM, RM, SR, LR-C, OS, JS, CT, WT MVD, JV |
|
28 Nov 26 |
Binary Challenge: Signed (1500 in 5) Altoids Arduino Work Week Distribution of Additional Parts Drilling (Punch first, then Metal Bit) Cutting (Chisel first, then 545 Diamond Dremel Wheel) |
|
2.4.2
SA, PB*, JB, JDe, HD AG*, JL*, MM, RM**, SR, LR-C**, OS, JS, CT, WT MVD, JV |
|
27 Nov 22 |
Binary Challenge: Signed (1500 in 5) Array of struct additional example, |
Coming soon... 2-Dimensional Scrolling Technique through Bitshifting |
2.4.1
|
|
26 Nov 20 |
Binary Challenge: Signed (1500 in 5) |
1-Dimensional Scrolling Technique ![]() through Bitshifting |
![]() |
|
25 Nov 18 |
Binary Challenge: Signed (1500 in 5) Bit-Level Arithmetic and Logic |
![]() |
2.4.1 xzx |
|
24 Nov 14 |
Signed Representation of Integers
Binary Challenge: Signed (1500 in 5) Clock Sources: |
![]() |
2.4.1
Online AVR Fuse Calculator |
|
23 Nov 12 |
Binary Challenge: ASCII (2000 in 5) Repatriation of LPT-3748G MCU Embedded Systems Martyn Currey: ATmega328p on a Breadboard Rheingold: Deep Crystal Discussion |
![]() |
![]() |
|
| NOVEMBER BREAK | ||||
22 Nov 6 |
Repatriation of
LB-602MK2
Binary Challenge: ASCII (2000 in 5) Build your own Arduino on a Breadboard (5V) Voltage Regulation (LM7805) |
![]() SA, PB, JB*, JDe, HD* AG, JL, MM**, RM, SR*, LRC, OS, JS*, CT, WT MVD, JV |
2.3
|
|
21 Nov 4 |
pp. 35-36 |
Binary Challenge: ASCII (2000 in 5) PoV Word Project Work Period |
![]() LPT-3748G |
2.3
|
20 Oct 31 |
Binary Challenge: Review ASCII (2000 in 5) In-Class PoV Project: (aka, The ICS2O Counting Circuit++) |
![]() LB-602MK2 |
2.3 Inspiring PoV Videos: |
|
19 Oct 29 |
Binary Challenge: Unsigned Fixed Point (2000 in 5) In-Class Project: Save the completed Write2SegUpperCaseCharacters.ino sketch to: EEPROMEcho.ino. Modify this code to confirm access to your non-volatile EEPROM map by echoing user-entered characters through a 595 shift register to your 7-segment display...>>> |
EEPROMEcho: Note: lowercase letters should be converted to their UPPERCASE equivalents! |
2.3 Wait what?... no resistors ??? ![]() |
|
18 Oct 25 |
|
Binary Challenge:
Unsigned Fixed Point In Class Project: Develop and Write a byte-width segment map to EEPROM, for the 26-letter uppercase alphabet: |
![]() |
|
17 Oct 23 |
Introduction to Unsigned Fixed Point Binary Numbers Introduction to Writing to and Reading from EEPROM Library for Arduino |
![]() |
(LR-C&JV) Ultimaker 2+ and 3 Training Session: 1-3 pm |
|
16 Oct 21 |
Binary Challenge: Octal BCD (3000 in 5)
(those students who still do not meet the criteria have an Octal Detention with me after school :) Review of Project 2.2 Binary Button Echo Sparkfun Pocket Programmer Hookup Guide (USBtiny) Burning the Bootloader (sets the Fuses!) |
SA, PB*, JB, JDe*, HD AG*, JL, MM, RM, SR, LRC*, OS, JS*, CT, WT MVD*, JV Down Memory Lane: The ICS2O Counting Circuit |
Arduino C Include file: iom328p.h
Have this FULLY assembled for Friday! |
|
B.
Basic I/O Skills: Code, Data, and Simple Arduino Breadboarding
|
||||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT |
15 Oct 17 |
Extending Pins (a.k.a. doing more with less): ShiftOut Function, Tutorial 74HC595 vs SN74HC595 Create: PotBargraphEcho.ino |
![]() |
2.2 |
|
14 Oct 15 |
Binary Challenge: Octal BCD (3000 in 5)
Analog Pot Bargraph Exercise → Create: AnalogPotBargraph.ino Supplement: 11 pin (10 resistor) 330 Ω SIP Resistor Arrays, map() and constrain() |
![]() |
SIP Resistor Network |
|
13 Oct 10 |
Binary Challenge: Octal BCD (3000 in 5)
(Digital) interfacing with the (Analog) Natural World... Analog Input File>Examples>Basics>AnalogReadSerial "Help!!! I need more pins!"... Can the Analog pins be used as Digital pins? |
![]()
|
![]() ![]() |
|
12 Oct 8 |
p. 13
pp. 14-15 |
Binary Challenge: Octal BCD (3000 in 5)
A Third Digital Pin Option... pinMode(pin,INPUT_PULLUP); Project 2. Binary Button Echo Discussion and Supplemental Parts Distribution (PCB, 330Ω RN, Wire, USB MALE A to Mini B) Resistor Network: p. 19 Analog Output File>Examples>Basics>Fade |
||
11 Oct 4 |
pp. 12-13 So Wrong :( |
Binary Challenge: Hexadecimal (2000 in 5)
Digital Input digitalRead(pin) File>Examples>Basics>DigitalReadSerial Digital Input with Pullup digitalInputPullup(pin) File>Examples>Digital>DigitalInputPullup |
![]() |
![]() |
10 Oct 2 |
Four Ways to Power Up your Arduino |
Binary Challenge: Hexadecimal (2000 in 5)
RGBLED Scripting Language V1 |
![]() |
Arduino C |
9 Sep 30 |
A.10.4 |
Binary Challenge: Hexadecimal (2000 in 5)
Serial Input RGBLED Scripting Language V1 Create RGBScript enabling users to enter... R,r: turns red on, G,r: turns green on, B,b: turns blue on, O,o: turns ALL LEDs off Ignore New Line character and all others are flagged as Unrecognizable Character (log every action to the Serial Monitor) |
SA, PB*, JB*, JDe**, HD AG, JL, MM, RM, SR, LRC, OS, JS, CT, WT MVD, JV** ![]() |
Arduino C |
8 Sep 26 |
The RESET Button ![]() |
Binary Challenge: Hexadecimal (2000 in 5)
File > Examples > Communication > ASCIITable |
![]() |
2.1 |
7 Sep 24 |
pp. 10-11 What happens if... you have an LED in pins 0 and 1 while uploading? |
Binary Challenge: Unsigned
(500 in 5)
From DIGITAL output to SERIAL Output Serial Output Serial.print() vs Serial.write(); |
![]() |
|
6 |
![]() pp. 6-9 |
Binary Challenge: Unsigned (500 in 5)
![]() Standard Integer Data Types (SRAMTest.ino: run some simple tests) Legacies: GB Machine and Schaffer Traffic Light |
Program Execution
|
![]() |
5 Sep 17 |
![]() pp. 1-8 |
File > Preferences: verbose compilation & upload Tools > Auto Format Arduino's main.cpp Coding Levels: High > Mid (Register) > Low Extensive list of programming predefines... #include <Arduino.h> and ATmega328p-specific predefines... #include <iom328p.h> In-Class Code Session: 5mm RGBLED |
Microchip's (ATMEL):
ATmega328P μC (pp. 2-3) (Datasheet Summary) ![]() |
Language Reference |
A. Arduino Fundamentals |
||||
| CLASS | REFERENCE | HARDWARE | SOFTWARE | SUPPLEMENTAL |
4 Sep 13 |
![]() |
Digital Output Arduino Forum: The Arduino Bootloader |
Customizing YOUR Environment Projects: Sketch Folder Code: BareMinimum.ino DER: Copy as HTML |
![]() |
3 Sep 11 |
![]() |
Arduino Toolchain |
![]() |
|
2 Sep 9 |
p. 0 |
19/20 ICS3U ACES Toolkit (distribute RA breakaway headers) The Arduino UNO Rev 3. Power, Programming Ports |
4 ACES Domains: Hardware Software Design Communication |
|
1 Sep 5 |
![]() |
![]() |
[ACES Culture] |
|



