| |
||||
| 2021-2022 ICS3U-E: AVR FOUNDATIONS | ||||
|---|---|---|---|---|
| CLASS | REFERENCE | CONTENT & CONCEPTS | SOFTWARE | PROJECT |
![]() |
Everyone | 2.20b DA, SA, TA, FC, AD, AE TL, HMS*, RM, JR*, ES, JS |
||
| END OF CLASSES | ||||
| Future ISP? RF Controller |
![]() |
2.20b |
||
| Nordic Semiconductor
14Core: nrf24 Projects |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) nRF: Radio Frequency nRF24L01 Transceiver (SPI-based): Getting Started, Arduino Guide AVR Foundations Workbook: pp. 85-88 RF24 Library (tmrh20) Class Documentation |
ACES' nRF24L01+ BoB... ![]() |
![]() |
|
![]() |
K. Shirriff's Earlier: IRremote v2.2.3 (Thanks, James) |
![]() |
||
64 Apr 20 |
IRremote (V2.5) Library Documentation Note: Active Development! Find IR Codes |
Communication Protocols (Serial, SPI, I2C, IR, RF, BT) Day 2: Data Transmission ACES' Frame Player: Infrared (Digital) IR Data Communication → → → |
F. Folarin's (ACES' 20, Waterloo '25) IR Remote ISP...
Your 3mm Emitter: LTE-3206 |
![]() Datasheet |
![]() ![]() Distance vs Voltage |
Communication Protocols (Serial, SPI, I2C, IR, RF, BT) Day 1: Digital Breakbeam vs Analog Proximity ACES' Frame Player: Infrared (Digital) IR Data Communication Your 5mm IR Pair |
![]()
(A MUST read) SB's: IR Control Theory |
PhotoTransistor (Digitalish) Breakbeam Sensing (Analog-to-Digital) Proximity Sensing ![]() |
|
![]() |
||||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SOFTWARE | PROJECT |
| 595 as SPI Device? |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) AVR Foundations Workbook: pp. 82-83 ![]() |
![]() |
SPIvsShiftOutV2.ino Arduino C Toolchain... pins_arduino.h |
|
![]() |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) Serial Communicaton (UART) Part 2A. CLIENT-SERVER Part 2B. PEER-PEER |
![]() |
||
61a Apr 13 |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) Flipping the Script where . Hardware drives Software... Joystick Trigonometry ( Mr. D's Candidate for the Most Inspiring Lesson of Your High School Experience ) |
![]() ACES' UART Communication Stick |
||
![]() |
||||
| END OF ELECTROMECHANICAL - START OF COMMUNICATION | ||||
60 Apr 12 |
ACES' Stepper Gem:![]() (ACES '20) Mini CNC Plotter |
MUST WATCH!! can be problematic! MOT-28BYJ-48 Datasheet RSGC ACES' Library-free Stepper Motor Example...
|
![]() ![]() |
CLOSED Loop System... ACES' PID Gem: (Queen's Eng. '22) Balance Beam ACES' Stepper Gem: ![]() (Mac. Eng. '21) Laser Projector |
59 Apr 11 |
ACES' Servo Gem: (Queen's Eng. '22) Rubik's Cube Solver SG92R Micro Servo |
Mechanical Devices (Type 3) A brief introduction to AVR Timers... Timer1 Registers and Clock Prescalers |
In your kits:
SN754410 Quad Half-H Motor IC (Last Frame) Polish (but Inspiring!) Servo Motor Works (build your own?) Servo Connections Servo Controller |
![]() ![]() Deeper Considerations: |
| BC Trip (April 4-8) | ||||
58 Apr 1 |
Let's code... DCMotorControl.ino |
Mechanical DC Motors 4... SN754410 Quadruple Half-H (Motor) Driver |
![]() |
|
57 Mar 31 |
![]() |
![]() ![]() |
|
|
56 Mar 30 |
ACES' Mechnical Gem: ![]() Bi-Wheeled Rover |
Sparkfun's ROB-11696 Hobby Motor - Geared
|
Simple Blink Sketch |
|
55 Mar 29 |
![]() |
ROB-11015 5V Solenoid![]() ![]() |
SEPARATION of CONTROL Logic and DRIVE Power Power Supply Considerations N-Channel Switching Options BJTs (<1A) (3904, 2N4401, BC337) vs Darlington Array (<5A?) (TIP120) vs ULN2003 (DIP-8) vs MOSFETs (>5A?) (IRF520) |
|
| ELECTROMECHANICAL | ||||
| END OF BLOCK 3 (Just 14 Classes Left) | ||||
![]() |
2.20a Due: Mon Feb 21 Email: ACESHandin |
|||
JANUARY-FEBRUARY: Standalone MCU, PCB (EAGLE) and Encasement (FUSION 360) Design Introductions |
||||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SOFTWARE | PROJECT |
JR, AD, RM, FC |
Mint Tin Case V2 L. Cassano ![]() |
2.6c DA, SA, TA, FC, AD AE, TL, HMS*, RM JR*, ES, JS |
||
53 Feb 10 |
TA, DA, SA, ES |
Mint Tin Case V1 H. McDonald ![]() |
2.6b | |
HMS, AE, JS, TL |
Medium ISP Presentations Download Medium ISP Peer Evaluation Form Rename to XXxx.docx where XX are the presenter's initials and xx are your initials Attach to email to ACESHandin with Subject: ISP Evaluation |
2.6b | ||
ACES' Fusion 360 Fillets, Offsets, & Extrusions |
|
![]() |
![]() |
|
ACES' Fusion 360 J. Dyson, S. Jobs, |
![]() |
![]() |
||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SOFTWARE | PROJECT |
ACES' EAGLE Week |
![]() |
|||
ACES' EAGLE Week |
![]() |
POWER Source ? EASE of Production, Assembly & Use ? COSTs ?, AESTHETICS ? |
||
ACES' EAGLE Week |
3. The (Physical) Placement Board File (.brd) Manual & Auto Trace Routing DESIGN Rules Check (DRC) |
AltoidsArduinoVUMeterV2.brd | ||
ACES' EAGLE Week |
2. Parts & (Logical) Connections ERROR Rules Check (ERC) |
AltoidsArduinoVUMeterV2.sch | ||
| RSGC ACES' PCB Archive ACES' EAGLE Week |
![]() |
2.5
DA**, SA, TA, FC, AD AE, TL, HMS*, RM JR**, ES, JS |
||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SOFTWARE | PROJECT |
![]() |
Menus Towards Better Code 3 Data Memory Options Towards Better Code 4 |
![]() |
||
| Schurter DC Jack Panel Mount Opening Added 2022 01 18: L. Cassano |
Back to where we started Towards Better Code 1 Better Decision-Making Towards Better Code 2 |
2.5 | ||
ATtiny84 and ATtiny85 AVR Foundations: p. 117 and p. 134 (Almost) Full Work Period for... Project 2.5 Embedded ATmega328P |
![]() |
2.5 |
||
1/2 Perma-Proto+ ![]() +Onboard Blue 0603 SMT LED |
![]() |
![]() 2.5 |
||
| Wiring your LCD to your 328P...
|
Integration of your RTC with Your 16x2 Character Liquid Crystal Display (pp. 99-...) RSGC ACES' LCD Examples: Digikey's LCD Inventory Sampler |
![]() ![]() |
2.4 Submit to ACESHandin DA, SA, TA, FC, AD AE, TL, HMS**, RM JR, ES, JS* |
|
| CLASS | REFERENCE | CONTENT & CONCEPTS | SOFTWARE | PROJECT |
![]() |
![]() |
Breadboard ATmega328P Components ![]() |
||
![]() |
Breadboard MCU Considerations 1. Voltage Regulation with the LM7805 (p. 34) 2. Filtering for Stability 3. Crystal Oscillation 4. Reset (Active Low) Prep 5. In-System Programming (ACES' BoB) |
![]() |
![]() |
|
Goldman & Atkinson's ![]() |
(9:30 for a 9:45 start) Flashing AVR MCUs with the Burning the Bootloader Primer: Standalone ATmega328P |
![]() |
2.4
|
|
| JANUARY 17 (BLUE MONDAY): SNOW DAY | ||||
| END OF BLOCK 2 (Halfway Point in the Course) | ||||
| NOVEMBER/DECEMBER: Persistence of Vision, RTCs, and I2C Communication | ||||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT |
![]() |
Stripboard Circuits![]() |
2.10a | ||
|
LCD Technology: How it Works Your 16x2 Character Liquid Crystal Display RSGC ACES' LCD Examples: 3D Designers/Printers: Thingiverse LCD Holders Digikey's LCD Inventory Sampler |
![]() ![]() |
RSGC ACES PCB: LCD UNO Appliance ![]() ![]() |
|
![]() |
Behind the curtain ... Wire-Level RTC Access Day 2 and, if time permits... |
2.10a Arduino Serial Monitor employs Unicode UTF-8 Encoding |
||
![]() |
Behind the curtain ... Wire-Level RTC Access Day 1 |
![]() |
2.10a | |
Additional![]() discussions? |
FIVE Ways to Create Intervals Within Execution (each one has ad-/dis-advantages) |
|
![]() |
|
![]() |
![]() |
2.3
DA, SA, TA, FC*, AD AE, TL, HMS**, RM* JR*, ES, JS** |
||
| 31 Nov 26 |
|
Asynchronous Learning Day (Spend the class on tomorrow's submission) |
2.3 | |
![]() ![]() |
Thorough review of in yesterday's EchoBrightness Sketch "Wait, What?" ONE-wire POV ??? Oh, yeah! |
![]() |
2.3 | |
| Always Current Control! ![]() |
Transistor-Based Switching Low-Side Switching (Sinking) eg. Common Cathode (CC) Displays vs High-Side Switching (Sourcing) eg. Common Anode (CA) Displays |
Writing GREAT Code: |
2.3 |
|
![]() |
![]() |
2.3 |
||
| From your DS1307 RTC RAM to... ![]() ... your MCU's SRAM |
Wire, TimeLib, DS1307RTC Day 1. EchoRTCTest.ino (Echo your ACES' DS1307RTC to the Serial Monitor) |
![]() |
||
| Friday November 19. No Class. Parent-Teacher Interviews | ||||
TYpe of IC Pin ![]() |
|
![]() |
2.10a
Assembly Guide |
|
Wire Library |
![]() ![]() |
2.10a
Sparkfun's: COM-09481 |
||
![]() |
||||
![]() |
![]() |
![]() |
||
![]() |
![]() |
|||
| MID-TERM BREAK (FRIDAY and MONDAY) | ||||
| CLASS | REFERENCE | HARDWARE | SOFTWARE | SUPPLEMENTAL |
![]() |
After School today: Persistence of Vision Project: Software Concepts 2 |
Second Look at... available() parseInt() readString() charAt() |
2.2
DA, SA, TA, FC, AD AE, TL, HMS*, RM JR*, ES, JS** |
|
Persistence of Vision Project: |
2.2
|
|||
|
![]() Arduino Time Functions: millis(), micros() |
2.2
![]() |
||
Dual 7-Segment POV ![]() |
First look at...
The Three AVR Memories Overview p.6 Persistence of Vision (PoV) |
![]() |
2.2
|
|
| END OF BLOCK 1 (3 more to go) | ||||
| CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT |
![]() |
First Look at (Arduino) C's... Preprocessor Directives PoV Delay and PWM Dimming Grade 10 Counting Circuit Revisited: Dual 7-Segments: 5011AS Datasheet |
![]() ![]() |
![]() |
|
![]() |
![]() |
1D
Scrolling Technique![]() |
||
| The THT Morland Bargraph V3 Morland Bargraph V4 |
Iteration II (aka Repetition, Looping) ![]() |
![]() |
||
![]() |
Appendix E. C Operators and Precedence (p. 140) Extending the MCU's (Output) pins... Introducing the 74HC595 Shift Register Different Datasheets: SN74HC595 Binary Display Counting Circuit (4-bit, 8-bit, 10-bit) |
Iteration I (aka Repetition, Looping) Conditional Decisions (Branching) |
![]() ![]() |
|
EC: 4020, 4060![]() Your kit contains... 32kHz XTal, 15MΩ Res Inspired by J. Goodwin: |
Binary Challenge: Game C Octal (Base 8) BCD Download ACES' Zip file: Logical (Bitwse) & Operator (p. 42) Appendix E. C Operators and Precedence (p. 140) |
![]() |
C.
Octal BCD
|
|
| CLASS | REFERENCE | HARDWARE | SOFTWARE | SUPPLEMENTAL |
|
(No-charge) Supplements: Resistor Networks Morland PCB ABRA-Nano |
The Problem of Bounce (p.130) Serial Plotter as Scope ? (using ACES Button Debouncer) Appendix E. C Operators and Precedence (p. 140) |
10-LED Blue Bargraph![]() First Look at... |
SIP Resistor Network |
|
![]() |
Great Code Loose ends from previous classes
Extending the MCU's (Output) pins... Introducing the 74HC595 Shift Register Different Datasheets: SN74HC595 |
![]() ACES' RGBLED Scripting Language V1 ? R5r1G4g1B2b1O3o |
|
|
![]() |
Bit Shifting Example: analogRead() to analogWrite() Boeing's Big Mistake? What happens in hardware, stays in hardware :) Wiring an RC Debounce circuit |
We need to smooth out the state transition... |
||
11 Sep 28 |
![]() |
The (Mechanical) Digital Input? Controlling Bounce |
Button or Switch contacts can lead to false readings...:( |
|
Arduino Uno Specs
![]() pp. 16-17 |
Thorough Review of Traffic Light Feedback Base Conversion Algorithm using Binary Decomposition The Analog Input? Successive Approximation Cooperative Code Session: VoltageDivider.ino |
B.
Hex BCD![]() ![]() |
![]() ![]() |
|
| CLASS | REFERENCE | HARDWARE | SOFTWARE | SUPPLEMENTAL |
| Sep 24 | TERRY FOX DAY | |||
![]() |
The (Simulated) Analog Output? Pulse Width Modulation (PWM) Writing GREAT Code |
A.
Unsigned Binary![]() |
2.1
DA, SA, TA, FC, AD AE, TL, HMS, RM JR*, ES*, JS |
|
![]() |
The (Simualted) Analog Output? Pulse Width Modulation (PWM) Writing GREAT Code |
A.
Unsigned Binary![]() |
2.1 | |
![]() pp. 14-15 |
The Analog Output? Pulse Width Modulation (PWM) Cooperative Code Session: BreathingLED.ino |
![]() |
![]()
LED Power Performance |
|
6 Sep 20 |
pp. 3, 6, 8 What happens if... you have an LED in pins 0 and 1 while uploading ? |
Writing GREAT Code: ![]() Standard Integer Data Types First Look at... |
Learn HTML: W3Schools Copy as HTML Master (8-bit)... Binary Numbers ![]() |
GMail Practice: ACESHandin 2.1 ![]() |
| CLASS | REFERENCE | HARDWARE | SOFTWARE | SUPPLEMENTAL |
5 Sep 17 |
![]() |
Back to the Toolchain for a moment...
Arduino C's Sketch Host: main.cpp Writing BETTER Code: Constants and Data Types Cooperative Code Session: 5mmRGBLED.ino (let's improve yesterday's code) |
File>Preferences: verbose compilation & upload Tools > Auto Format |
Language Reference Digital Output pinMode(pin,mode) and diigitalWrite (pin,value) |
4 Sep 16 |
![]() |
Comparison of (External) Resistance: 0 Ω vs 220 Ω Arduino Toolchain Cooperative Code Session: 5mmRGBLED.ino (let's write some INFERIOR code together for starters :) |
![]() ![]() |
![]() |
3 Sep 15 |
![]() |
Overview of the Arduino Hardware The ATmega328p Datasheet Custom Configuration of your Arduino Software IDE Source files: .ino BareMinimum.ino Hard Drive Scavenger Hunt! Example: Blink.ino |
![]() |
|
2 Sep 14 |
![]() |
AVR Foundations' Cover Video... S. Atkinson's: Power, Programming Ports |
2.1
![]() |
|
1 Sep 13 |
![]() |
Confirm before Distributing: Nonda USB-C to USB 3.0 Adapter Complete: ICS2O Counting Circuit Stage G Soldering Tips |
![]() 2.1 ![]() |
|
| CLASS | REFERENCE | HARDWARE | SOFTWARE | SUPPLEMENTAL |
0 Sep 10 |
![]() |
REPUTATION and RESPECT ACES Hall of Fame: E. McAuliffe ('18), E. Peterson ('18) M. Elia ('15), J. Gettings ('10) 2021-2022 ACES Program, Student Outline Mr. D's Schedule Distribution of |
![]() |
|



