2021-2022 ICS3U-E: AVR FOUNDATIONS | ||||
---|---|---|---|---|
CLASS | REFERENCE | CONTENT & CONCEPTS | SOFTWARE | PROJECT |
Everyone | 2.20b Long ISPs DA, SA, TA, FC, AD, AE TL, HMS*, RM, JR*, ES, JS |
|||
END OF CLASSES | ||||
Future ISP? RF Controller |
2.20b |
|||
Nordic Semiconductor
Nordic nRF24L01+ 14Core: nrf24 Projects eg. nRF24L01+ |
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 RxTest.ino, TxTest.ino |
ACES' nRF24L01+ BoB... |
|
|
Manage Libraries: 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 → → → IR Communication with... Sparkfun Supporting Video |
F. Folarin's (ACES' 20, Waterloo '25) IR Remote ISP... Your 3mm Emitter: LTE-3206 |
GP1UX51QS Datasheet |
Distance vs Voltage SharpDistanceSensor.ino |
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 Arduino Workshop: SPI ShiftOutvsSPI.docx |
SPI Library 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 Chat.ino, Serial Mastermind |
||||
61a Apr 13 |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) Serial Library 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: M. McCutcheon (ACES '20) Mini CNC Plotter |
MUST WATCH!! MOT-28BYJ-48 with ULN2003 Driver Arduino Stepper Library can be problematic! Stepper Library (Examples) Unipolar vs Bipolar Stepper Motors MOT-28BYJ-48 Datasheet RSGC ACES' Library-free Stepper Motor Example... Stepper28BYJ48Example.ino Video support for this Example
|
|
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 |
59 Apr 11 |
ACES' Servo Gem: J. Schaffer's (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 K. Shirriff: Secrets of Arduino PWM Github: Servo.h |
In your kits:
SN754410 Quad Half-H Motor IC (Last Frame) Polish (but Inspiring!) How a Servo Motor Works (build your own?) Servo Connections Servo Controller |
Deeper Considerations: Open vs Closed Loop PID Device Control |
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: Josh Dolgin's Bi-Wheeled Rover |
Sparkfun's ROB-11696 Hobby Motor - Geared Datasheet: M260 |
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 Medium ISPs 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 |
|
Design Paper |
||
ACES' Fusion 360 J. Dyson, S. Jobs, Braun: #1, #2, #3 |
||||
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
Embedded ATmega328P 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 |
|||
RSGC ACES 1/2 Perma-Proto+ +Onboard Blue 0603 SMT LED |
2.5 |
|||
Wiring your LCD to your 328P... HD44780U |
Integration of your RTC with Your 16x2 Character Liquid Crystal Display (pp. 99-...) Hello, World! Library, Constructors RSGC ACES' LCD Examples: Reaction, Keypad, Audio Digikey's LCD Inventory Sampler ACES' Advanced LCD Project: Direct Drive |
LCDAnalogMeter |
2.4 Submit to ACESHandin Standalone ATmega328P DA, SA, TA, FC, AD AE, TL, HMS**, RM JR, ES, JS* |
|
CLASS | REFERENCE | CONTENT & CONCEPTS | SOFTWARE | PROJECT |
for 2022... Confirmation |
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) |
||||
ECE190... Goldman & Atkinson's Clue Capturer |
ONLINE TODAY (9:30 for a 9:45 start) Flashing AVR MCUs with the AVR Pocket Programmer 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 | |||
HD44780U |
LCD Technology: How it Works DIY (?) Custom LCD Your 16x2 Character Liquid Crystal Display Hello, World! Library, Constructors RSGC ACES' LCD Examples: Reaction, Keypad, Audio 3D Designers/Printers: Thingiverse LCD Holders Digikey's LCD Inventory Sampler ACES' Advanced LCD Project: Direct Drive |
LCDAnalogMeter I2C Display |
RSGC ACES PCB: LCD UNO Appliance I2C LCD Backpack |
|
Behind the curtain ... Wire-Level RTC Access Day 2 and, if time permits... The I2C TC74 Thermal Sensor |
2.10a Arduino Serial Monitor employs Unicode UTF-8 Encoding |
|||
Behind the curtain ... Wire-Level RTC Access Arduino Core Library: Wire Day 1 RTC Square Wave Frequencies |
2.10a | |||
Additional discussions? |
Software Techniques: FIVE Ways to Create Intervals Within Execution (each one has ad-/dis-advantages) TimerOne Library |
|
||
|
2.3
A Breadboard RTC 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 | |
A Breadboard Clock Prototype Thorough review of coding concepts in yesterday's EchoBrightness Sketch "Wait, What?" ONE-wire POV ??? Oh, yeah! Modular Iteration through Arrays |
2.3 | |||
Always Current Control! |
A Breadboard Clock Prototype 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 constrain() and map() |
|
2.3 switch...case |
||||
From your DS1307 RTC RAM to... ... your MCU's SRAM |
A Breadboard Clock Prototype
Required Libraries: Wire, TimeLib, DS1307RTC Day 1. EchoRTCTest.ino (Echo your ACES' DS1307RTC to the Serial Monitor) |
Arrays and Structs |
||
Friday November 19. No Class. Parent-Teacher Interviews | ||||
"Open Collector" TYpe of IC Pin |
|
2.10a
DS103RTC BoB Assembly Guide |
||
NXP: I2C Introduction
Wire Library |
2.10a
Sparkfun's: COM-09481 |
|||
|
|
DS1307RTC |
||
MID-TERM BREAK (FRIDAY and MONDAY) | ||||
CLASS | REFERENCE | HARDWARE | SOFTWARE | SUPPLEMENTAL |
After School today: Persistence of Vision Project: Software Concepts 2 highByte(), lowByte() |
Second Look at... Serial Library: available() parseInt() readString() String Library: charAt() |
2.2
Persistence of Vision 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
|
||
RSGC ACES: 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 |
1D Scrolling Bargraph 8_16 Scrolling First Look at (Arduino) C's... Preprocessor Directives The Beast: PoV Delay and PWM Dimming Grade 10 Counting Circuit Revisited: Dual 7-Segments: 5011AS Datasheet |
to Scrolling? MaskingExemplar |
|||
1D
Scrolling Technique Bitshifting |
||||
The THT Morland Bargraph V3 The SMT Morland Bargraph V4 |
Iteration II (aka Repetition, Looping) for |
|
||
|
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) while Conditional Decisions (Branching) if if..else ternary switch...case, break |
||
EC: 4020, 4060 Your kit contains... 32kHz XTal, 15MΩ Res File > Examples > Display > barGraph Inspired by J. Goodwin: Pierce Oscillator ' Counting? ' |
Binary Challenge: Game C Octal (Base 8) BCD Integer Constants Download ACES' Zip file: GitHub: AVR Foundations Logical (Bitwse) & Operator (p. 42) Bitwise Operators Appendix E. C Operators and Precedence (p. 140) |
Bicolor Bargraph |
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) ACES' RGBLED Scripting Language V1 |
10-LED Blue Bargraph First Look at... Serial Input: read() |
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 |
switch...case break |
||
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 |
First Look at Operators
The to accurate... (Mechanical) Digital Input? File>Examples>Basic>DigitalReadSerial Controlling Bounce DebounceTest |
Button or Switch contacts can lead to false readings...:( |
ADC Successive Approximation |
|
Arduino Uno Specs
pp. 16-17 |
Thorough Review of Traffic Light Feedback Base Conversion Algorithm using Binary Decomposition The to... Analog Input? Successive Approximation Cooperative Code Session: VoltageDivider.ino |
B.
Hex BCD |
||
CLASS | REFERENCE | HARDWARE | SOFTWARE | SUPPLEMENTAL |
Sep 24 | TERRY FOX DAY | |||
The to... (Simulated) Analog Output? Pulse Width Modulation (PWM) Writing GREAT Code |
A.
Unsigned Binary |
2.1
Traffic Light DA, SA, TA, FC, AD AE, TL, HMS, RM JR*, ES*, JS |
||
The to... (Simualted) Analog Output? Pulse Width Modulation (PWM) Writing GREAT Code |
A.
Unsigned Binary |
2.1 | ||
pp. 14-15 |
The to... Analog Output? Pulse Width Modulation (PWM) Cooperative Code Session: BreathingLED.ino Faux Fire Effect File > Examples > Basics > Fade |
|
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 AVRFoundations DataTypes.ino First Look at... Serial Output: println() |
Learn HTML: W3Schools Code for DER: Copy as HTML Example 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: Variables Constants and Data Types Cooperative Code Session: 5mmRGBLED.ino (let's improve yesterday's code) |
File>Preferences: verbose compilation & upload Tools > Auto Format |
Arduino Language Reference Digital Output pinMode(pin,mode) and diigitalWrite (pin,value) |
|
4 Sep 16 |
Arduino UNO Tech Specs Comparison of (External) Resistance: 0 Ω vs 220 Ω Schaffer Traffic Light 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: Foosball Scoreboard The Arduino IDE: Software Download 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 Introduction to Soldering Counting Circuit Encased |
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 and Workbooks |