![]() ![]() ![]() |
![]() ![]() ![]() ![]() ![]() |
|||
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 ![]() Detailed 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] |