2023-2024 ICS3U-E: AVR FOUNDATIONS | ||||
---|---|---|---|---|
AVR Toolchain Predefines:Arduino.h, pins_arduino.h, io.h, io328p.h, iotnx4.h, and iotn85.h | ||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
75 May 28 |
||||
UNIT 7. Mechanical (Rotary Encoder, Joystick, Telephone Keypad, Solenoid, Piezo Buzzer, Relay, Brushed DC Motor, Servo, Stepper) | ||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
74 May 22 |
||||
VICTORIA DAY LONG WEEKEND (May 17 - 20) | ||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
73 May 16 |
Servo.2: Register-Level Timer Coding Timer 1 Fast PWM Mode 14 Stepper.1 WATCH: MOT-28BYJ-48 with ULN2003 Driver WATCH: Driving your Stepper from your Arduino Arduino Stepper Library can be problematic! Stepper Library (Examples) Unipolar vs Bipolar Stepper Motors MOT-28BYJ-48 Datasheet Handout |
CLOSED Loop System... ACES' PID Gem: J. Schaffer's (Queen's Eng. '22) Balance Beam ACES' Stepper Gem: A. Elder (Mac. Eng. '21) Laser Projector |
||
72 May 14 |
Servo.2: Register-Level Timer Coding
ATmega328P Datasheet: 16-bit Timer/Counter 1 with PWM A Brief Introduction to AVR Timers... Timer1 Registers and Clock Prescalers K. Shirriff: Secrets of Arduino PWM |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
Polish... ...but Inspiring :) How a Servo Motor Works (build your own?) Github: Servo.h In-Class Prototype... |
Servo.1: Servo Library Blum's Servo Tutorial Servo Library (Ex. Knob, Sweep) Servo Library Uses Timer1 Servo Motor Basics with Arduino |
Servo Gem J. Schaffer's (ACES ' 18; Queen's '22) Rubik's Cube Solver |
FS5103B FEETECH Standard Servo Handout |
|
70 May 8 |
DC Hobby Motor.2 The H-Bridge ACES' Frame Player: DC Motors 2 (Direction) SN754410 Quadruple Half-H (Motor) Driver (Good for up to 1A) |
|||
69 May 6 |
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
68 May 2 |
||||
67 Apr 30 |
Period 2... MMH Presentations |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
66 Apr 26 |
Asynchronous Day |
|||
65 Apr 24 |
8 Groups/Partners:
AB&JK, AT&GS, RL&ST MZ&RJ, EH&NC LQT&CA, AA&OL CH&HG&TK |
|||
64 Apr 22 |
||||
BC TRIP (April 15-20) | ||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
63 Apr 12 |
Medium ISP Presentations (RJ, JK, AB, MZ, AT) |
|||
62 Apr 10 |
Medium ISP Presentations ( ST, RL, NC, LQT, AA, CA, EH) |
|||
61 Apr 8 |
Medium ISP Presentations (GS, CH, TK, OL, HG) |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
60 Apr 4 |
||||
59 Supplement |
Wolfram Demonstration... Gray vs Binary Code |
Rotary Encoders Terrific Blog: Technoblogy... Bounce-Free Rotary Encoder What is a Quadrature Encoder? |
||
59 Apr 2 |
||||
EASTER LONG WEEKEND (March 29 - April 1) | ||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
58 Mar 27 |
||||
57 (Mon) Mar 25 |
||||
MARCH BREAK (March 11-22) | ||||
UNIT 6. Printed Circuit Boards (PCBs): Fusion360: New Electronics Design |
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
56 Mar 7 |
A Tiny Clock.15
Fusion360: New Electronics Design Preparing to Order: CAM Processor Gerber Files, JLCPCB |
|||
55 Mar 5 |
Inspiring... Trajectoids |
A Tiny Clock.14
Fusion360: New Electronics Design Board View Layers, Dimensions, Placement, Routing, Holes, etc. |
||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
54 Mar 1 |
||||
53 Feb 28 |
A Tiny Clock.14
Fusion360: New Electronics Design Schematic.1: Libraries Top 15 Mistakes when Designing PCBs |
EAGLE Generic Footprint Libraries: rcl, con-lsta, con-lstb, ic-package |
||
52 Feb 26 |
A Tiny Clock.14
Modify setTimeDate() to update DYNAMICALLY! Parsing formatted data from a string: sscanf(string,format,...) Fusion360 New Electronics Design: New Project Fusion360: New Electronics Design |
|||
UNIT 5. A Tiny Clock |
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
51 Feb 22 |
||||
50 Feb 20 |
A Tiny Clock.11, .12
Persistence of Vision (POV) Code the following (stable) display result with support from a Digit/Segment Map (Array) (Include POV brightness control) |
|||
FAMILY DAY WEEKEND (February 16 - 19) | ||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
49 Feb 14 |
A Tiny Clock.11, .12
Your COM-09481 4-Digit 7-Segment Display Driving a Common ANODE Display 74HC595 (2) , PNP BJT (4) Arrays as Segment Maps for PoV |
ACES' Array Concepts |
||
48 Feb 12 |
Embedded Systems A Tiny Clock.10 In-System Programming (ISP) 1 MCU: ATtiny85 Different Datasheets: SN74HC595 A Standalone (DIP) ATmega328P |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
47 Feb 8 |
||||
46 Feb 6 |
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
45 Feb 2 |
A Tiny Clock.6
Wire-Level Programming of the DS1307 Real Time Clock (RTC) 1 RTC: DS1307 Wire-Level RTC Exercises 3. DS1307 RTC Registers |
|||
44 Jan 31 |
2's Complement Representation of Signed Integers (Round 2) NCC #5. Random Binary Coded Decimal Conversion Utility functions: uint8_t BCD2DEC(uint8_t bcd) uint8_t DEC2BCD(uint8_t dec) |
|||
43 Jan 29 |
Back to the Binary Challenge... 2's Complement Representation of Signed Integers (Round 1) NCC #4. Bars Decreasing Wire-Level Programming of the TC74 Tiny I2C Serial Digital Thermal Sensor Page 8: Register Set and Programmer's Model |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
42 Jan 25 |
Wire-Level Scanning of Our I2C Bus |
|||
Solder up an ACES' RTC BoB DS103RTC BoB Assembly Guide The ACES DS1307 RTC Breakout Board P. Stoffregen's (Terrific) RTC Tutorial |
||||
41 Jan 23 |
A Tiny Clock.5
I2C Bus: Inter-Integrated Communication Video Introduction Sequence: 1. NXP: What is an I2C Bus (2:27) 2. How I2C Works (3:50) 3. How I2C Works with Arduino (9:57) I2C Communication I2C Protocol The Wire Library |
|||
A Short List of I2C (IIC) Devices you may wish to consider |
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
40 Jan 19 |
Mr. D. Absent
Refresh: Binary-Coded Decimal In Class Exercises: 1. Rewrite the basic Blink sketch using TimerOne interrupts 2. NCC (Nano Coding Companion) #4. Bars Decreasing #5. Random (Use TimerOne Interrupt to schedule 2 s Intervals) |
|||
39 Jan 17 |
A Tiny Clock
The DS1307 Real-Time Clock (RTC) How To Mechatronics: I2C Communication with Arduino Rheingold Heavy: Excellent I2C and Wire Tutorial Series Wire-Level RTC Exercises Wire 1. How I2C Communication Works |
|||
38 Jan 15 |
A Tiny Clock Delays, Timers, and Scheduling Second Look at Interrupts: TimerOne Now we're ready!... Confirming the Pierce Oscillation Frequency |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
37 Jan 11 |
A Tiny Clock ATmega328P: First Look at Registers Handling Remote External Events First Look at Interrupts: External Interrupts Frequency Division 4060 Ripple Counter 4-bit (÷16,384) Ripple Counter with 3 Oscillator Options |
|||
36 Jan 9 |
A Tiny Clock Significant Achievements Require Time (and it starts with accurate oscillations → timebase) The 32.768 kHz (tuning fork) Crystal The Pierce Oscillator Pierce-Gateintroduction.pdf |
|||
CHRISTMAS BREAK (December 21 - January 8) | ||||
Dec 21 - Jan 8 |
Project Euler or Nano Coding Companion
1. Blink 2. BlinkPlus 3. Bars 4. BarsDecreasing 5. Random 6. FadeIn 7 a. uint16_t 7 b. BinaryCounting 8. AnalogInDigitalOut Arduino Language Reference |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
Arduino Sketch Host: main.cpp
Iteration (aka Looping, Repetition) while(condition) for (init; cond; step) Nano Coding Companion |
||||
34 Dec 18 |
Towards Better Code...
Improved Efficiency, Variable Scope, Arrays AnalogEcho.ino → AnalogEchoPlus.ino Best Arduino PWM Blog: Ken Shirriff's Secrets of Arduino PWM analogWrite(pin, duty) |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
33 Dec 14 |
Analog-to-Digital Conversion (ADC) Pt 2. (Pulse Width) Modulation (PWM) Concepts: Frequency and Duty Cycle |
|||
32 Dec 12 |
Analog-to-Digital Conversion (ADC) Pt 1.
Recall Project 2.1 this year (DAC R2R) FALSTAD DAC Simulation ADC Methods: Successive Approximation ATmega328P Datasheet: ADC: Analog-to-Digital Conversion analogRead(), analogReference() |
|||
LM780(5) In the TO-220 Package (1 A) See Page 34 (48) |
LM78L05 In the TO-92 Package (100 mA) |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
31 Dec 8 |
Short ISP Presentation Week Day 3 CH, TK, OL, HG, GS, ST |
|||
Short ISP Presentation Week Day 2 RL, NC, LQT, AA, AT, MZ |
||||
29 Dec 4 |
Short ISP Presentation Week Day 1 RJ, JK, AB, EH, CA |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
Short ISP Preparation Day |
||||
27 Nov 28 |
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
26 Nov 24 |
Persistence of Vision (PoV) Day 1 Miniature 8×8 Green Matrix |
Different Datasheets: xxxxxx595 TPIC6C595 Pinout |
PoV Worksheet 861 Datasheet |
|
Breadboard the Prototype below using the wiring advice provided in a recent email... 1. Using your Project Template, create a New Arduino Project entitled: Multiple595s 2. Add this (header) file to the Multiple595's Project folder: pins_arduino.h 3. Quit the Arduino IDE and reopen the Multiple595s Project |
||||
Can Creativity Be Cultivated?
DER: Create a Code Style Sparkfun AVR Pocket Programmer random(), randomSeed() Deeper dive into Pseudo Random Number Generators (PRNG) |
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
Friday November 17. Day of Service. No Class. Parent-Teacher Interviews | ||||
23 |
digitalRead() Function Bit Math Tutorial |
Serial Plotter Operators.ino |
2.4 Binary Game Pt.1 AA, CA, AB, NC, HG EH, CH, RJ*, JK*, TK RL, OL, LQT, GS ST, AT*, MZ |
|
MID-TERM BREAK (November 10 - 13) | ||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
22 Nov 9 |
Check out ACES' ISP case options for Perma-Proto boards ACES' Fusion 360 Design Repository Now, for your Project 2.3 D-Latch dividend... Introducing the 74HC595 Shift Register Extending the MCU's Output pins! Different Datasheets: SN74HC595 ACES Legacy PCBs Schaffer Traffic Light > Morland Bargraph shiftOut Function |
2.4
|
||
OYO |
||||
21 Nov 7 |
ACES Legacy PCBs Schaffer Traffic Light First BRIEF look at: Serial Communication (UART): The Serial Monitor Tool Serial Library |
2.4
Arduino's Bitwise Operators Bit Manipulation Set, Clear, Invert |
||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
20 Nov 3 |
High > Mid > Low... The best AVR Embedded Systems Project blog on the web... Technoblogy D. Johnson-Davies |
|||
19 Nov 1 |
||||
18 Oct 30 |
ATmega328P (TQFP) |
ACES' Software Domain (from an Embedded Systems Viewpoint) Arduino Nano Development Board Arduino Nano Factory Setting: 0.5 Hz Square Wave |
Your ABRA Nano Compatible 30-Minute
|
|
UNIT 3. Memory Fundamentals (Latches, Flip-Flops, Shift Registers)
|
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
17 Oct 26 |
D-type 8-bit Memory Register: The SN74HC595 Shift Register (Serial In, Parallel Out) 4-Bit Ripple Counter from D Latches (another example of power of feedback!) Work Period |
|||
16 Oct 24 |
Install Arduino IDE
ACES' Fusion 360 Design Repository RSGC ACES' Design Domain Half-Size Perma-Proto Stand with Nut Pockets |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
15 Oct 20 |
Multi-Bit Memory (aka Register) Introducing the SN74HC74 Dual D Flip-Flop Good Blog: The D Flip-Flop Work Period |
|||
14 Oct 18 |
SN74HC74 Pinouts |
|||
13 Oct 16 |
Single-Bit Memory The Gated SR Latch The Gated SR Latch Single-Bit Memory The Gated D Latch The Gated D Latch |
|||
UNIT 2. The 555 Time Machine (Op Amp as Comparator, SR Latch)
|
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
Distribution of your Morland Bargraph (MBv3) Device Kit Mr. D. Supplies: PCB, 330 Ω SIP9 BUSSED Resistor Network YOU Supply: 10-LED Bargraph 74HC595 Shift Register DIP16 IC Socket 6 pos. Rt. Ang. Male Header |
Work Period (3 Options) If approached, explain your circuit to visitors 1. The 555 Time Machine Project 2. ISP Research 3. Morland Bargraph Soldering in shifts 4 at a time Feedback: The 555 Time Machine Review: Formatting SI Units |
2.2
555 Time Machine AA*, CA, AB, NC, HG EH, CH, RJ, JK, TK RL, OL*, LQT, GS ST, AT*, MZ |
||
11 Oct 10 |
A. Goldman 555 Timer ISP |
Final Short ISP Questions
(due tomorrow night) Next-Level: A. Goldman (ACES'21, Waterloo '26): 555 Astable Mode with Varying Duty Cycle Return to DAC: Breathing LED ? (recall First State of NGO?) Essential for our next Project 2.3 Button Debouncing with 555 in Monostable Mode Eater: Monostable 555 Timer |
2.5.1, 2.2
|
|
Thanksgiving Weekend (October 7-9) | ||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
10 Oct 5 |
2.2
Distribute two 1 MΩ |
|||
Review of
|
The 555 Time Machine
Op Amp as Comparator (Open-Loop Design) EEVlog: Op Amp Tutorial (At least the first 7 min; ideally more) ( Check out his T-shirt! :) ACES' Frame Player: Op Amps Top 10 Op Amp Circuits |
2.2 The SR Latches |
||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SOFTWARE/DESIGN | SUPPLEMENTAL |
8 Sep 29 |
EC:CMOS The 4000 Series Logic ICs
(3-15V)
EC: TTL: The 74 Series Logic ICs (4.5-5.5V) 1-Bit Memory The Set/Reset (SR) Latch 74HC02 NOR (Active HIGH) 74HC00 NAND (Active LOW) |
|||
7 Sep 27 |
S. Appleyard (ACES '23, Imperial '27) DES Visit from 3-4 EC:CMOS The 4000 Series Logic ICs (3-15V) EC: TTL: The 74 Series Logic ICs (4.5-5.5V) Single-Bit Memory The Set/Reset (SR) Latch 74HC02 NOR (Active HIGH) 74HC00 NAND (Active LOW) |
|||
6 Sep 25 |
NE555 Falstad Simulations: 555 Square Wave 555 with Internals Good 555 Tutorial |
R/2R DAC AA, CA, AB, NC, HG* EH, CH, RJ*, JK*, TK RL*, OL, LQT, GS ST, AT*, MZ* |
||
TERRY FOX DAY (September 22) | ||||
PARENTS' CURRICULUM EVENING (September 21) | ||||
UNIT 1. Digital to Analog Conversion (DAC): R/2R Ladder
|
||||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SUPPORT | SUPPLEMENTAL |
Fundamental Charcteristics of (Ideal) Op Amps Op Amps: MIT |
||||
5 Sep 20 |
||||
4 Sep 18 |
Recall the to last year's NAND Gate Oscillator... Feedback! Operational Amplifier as Voltage Follower Top 10 Fundamental Op Amp Circuits Good overview video Operational Amplifiers |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SUPPORT | SUPPLEMENTAL |
3 Sep 14 |
||||
2 Sep 12 |
Quick Review of Button/Switch Prototyping
(Momentary PB, SPDT Slide Switch, DIP Rocker Switch Bank) Digital to Analog Conversion (DAC): R/2R Resistor Ladder Must Watch (Very Creative Presentation)... Basics of R2R Ladder DAC New Circuit Analysis Concepts worth doing some research into for uni : Thevenin Equivalent Circuits and Superposition Principle |
|||
CLASS | REFERENCE | HARDWARE CONTENT & CONCEPTS | SUPPORT | SUPPLEMENTAL |
1 Sep 8 |
Distribution of... Borrow/Buy Used G10 Kit! |
5V! |