![]() ![]() ![]() |
![]() ![]() ![]() ![]() ![]() ![]() |
||||
2020-2021 ICS3U-E: AVR FOUNDATIONS | |||||
---|---|---|---|---|---|
Chinese New Year: February 12. Year of the Ox... | |||||
CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT | |
44 Jan 29 |
![]() Online Tone Generator |
![]() Terrific Tutorial: MSGEQ7 by Skoba RSGC ACES MSGEQ7 Audio Equalizer Prototype Custom LCD Character Function: createChar() |
![]() ![]() |
![]() |
|
43 Jan 28 |
![]() Secure your own M/M 3.5 mm Audio cable (consider length) |
Audio Input with Adafruit's ... Electret Microphone/Amplifier Analyzing the Audio Input The MSGEQ7 The 7-Band Spectrum Analyzer (Mr. D's favourite 8-pin IC) |
pp. 109-110![]() ![]() |
![]() ![]() |
|
42 Jan 27 |
Low Pass Filters:![]() ![]() ![]() |
The Briefest Introduction to ... Passive Low and High Filtering Passive Low-Pass Filter Design Tool |
![]() |
||
41 Jan 26 |
![]() Mic/Amp with AGC ![]() ![]() |
SPI continued ... An SPI Bus: What Could Go Wrong? ![]() |
![]() ![]() |
![]() ![]() ![]() MBv3SPIBus.ino |
|
40 Jan 25 |
595 as SPI Device?![]() |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) AVR Foundations Workbook: pp. 82-83 ![]() ![]() |
![]() |
![]() ![]() Arduino C Toolchain... pins_arduino.h |
|
SESSION 5.2: SPI and an Introduction to Audio |
|||||
39 Jan 22 |
![]() |
EAGLE Loose Ends: Silk-screen Borders, Mitered Corners Milling Layer (46) and Reference Layer (49) |
![]() |
2.10a |
|
38 Jan 22 |
![]() ACES_Generic.cam |
![]() Generating the Gerber (Manufacturing) Files Check & Rules Error (ERC) Design (.dru, DRC), ![]() |
Board Houses JLCPCBs, DirtyPCBs |
2.10a |
|
![]() ![]() |
![]() Schematic: Replace (6mm for 12mm PB) Layers (Dimension, Holes, tOrigins, tSilk, 200bmp) Tools (Line, Miter, Hole, Mirror, Ratsnest, Show, AutoRouter, Text) ![]() |
![]() ACES_THT.dru ![]() ![]() |
2.10a![]() |
||
No Teaching By Order of the Management
|
|||||
![]() ![]() |
![]() Convenient EAGLE Libraries (.lbr): ![]() ![]() ![]() ![]() RSGC ACES Common Parts: THT, SMT, General |
![]() ![]() |
2.10a![]() |
||
![]() ![]() |
Holiday Challenge Results: SquareWave to Sine Wave ![]() ![]() Introduction to EAGLE PCB Design ![]() ![]() Application Orientation Projects, Preferences, Schematic, and Board |
![]() ![]() |
![]() 2.4.2 Perma-Proto 328P ![]() DL, CM, TS, FS, AS |
||
SESSION 5.1: EAGLE PCB DESIGN |
|||||
![]() |
|||||
DECEMBER BREAK |
|||||
CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT | |
![]() ![]() |
USART Progamming of the Breadboard ATmega328P with support for Serial Monitor/Serial Plotter Mint Tin LEDs: Photo, |
![]() ![]() ![]() BlinkwithSerialOUT.ino |
2.4.1
Breadboard ATmega328P ![]() JD, SGV, JG, DL*, CM HM, JO, TS, FS, AS ![]() |
||
![]() ![]() |
MCU
Embedded Systems Martyn Currey: ATmega328p on a Breadboard Rheingold: Deep Crystal Discussion 2020/2021 Breadboard ATmega328P Mint Tin ATmega328P |
![]() ![]() |
![]() |
||
|
![]() ![]() ![]() |
![]() Flashing AVR MCUs with the ![]() Burning the Bootloader Voltage Regulation with the LM7805 (p. 34) |
Recall J. Goodwin's XTAL Oscillator ![]() ![]() |
![]() ![]() Would an ATtiny do? |
|
BREADBOARD ATMEGA328P Project | |||||
![]() ![]() |
Behind the curtain... Wire-Level RTC Exercises (cont'd) 3. DS1307 RTC Timekeeping Registers Remember ... Great code is Modular: Arduino C Functions |
![]() sprintf, Format Codes |
![]() C++ Operator Precedence (p. 140) |
||
![]() |
DS1307 as UNO Appliance Behind the curtain... Wire-Level RTC Exercises (cont'd) 4. DS1307 Square Wave Exploration Video Support: ![]() ![]() |
DS1307 Block Diag...![]() |
SQW Control Reg...![]() |
||
![]() ![]() |
Review Homework ...![]() Behind the curtain ... Wire-Level RTC Exercises 2. TC74 Tiny Serial Temperature Sensor |
![]() |
![]() Mr. D's Soldering Tip ... ![]() |
||
![]() ![]() ![]() Capacitor Visualizer Soldering |
PJRC: Stoffregen's DS1307RTC Library Discussion ![]() ![]() ![]() ![]() Two utility functions: uint8_t dec2BCD(uint8_t dec) uint8_t BCD2dec(uint8_t bcd) ![]() StructsandConversions.ino |
tmElements_t![]() ![]() Please have BoBs soldered... ← AVRISPProgrammer and DS1307 RTC→ |
DS1307 Registers![]() ![]() C++ Operator Precedence (p. 140) |
||
![]() |
|||||
![]() ![]() ![]() |
Wire-Level RTC Exercises (cont'd)
|
![]() ![]() DS1307RTC Excerpt... ![]() ![]() |
![]() ![]() |
||
![]() ![]() |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) ![]() Behind the curtain... Wire-Level RTC Exercises 1. How I2C Communication Works Breadboard an I2C Bus with the DS1307RTC |
![]() ![]() |
![]() 2.4.? ![]() |
||
PARENT-TEACHER INTERVIEWS - SESSION BREAK | |||||
Session 3. Code Modularity, Libraries and Serial Rx/Tx Communication I (7 Classes)
|
|||||
CLASS | REFERENCE | CONTENT & CONCEPTS | SUPPLEMENTAL | PROJECT | |
![]() ![]() |
In-Circuit Serial Programming (p. 95)
Sparkfun's AVR Pocket Programmer First Look at Interrupts Recall the ATmega328p's Pinout (p. ii) TimerOne::Interrupts Stoffregen's TimerOne Library Documentation Recall ![]() First look at the ATmega328p's GPIO Ports Recall #include iom328p.h (hardware) ![]() TimerOne::Interrupts Revisited (Improved?) |
![]() ISP Idea? ![]() |
![]() OA, LC, XC**, JC, JD SGV, JG, DL**, CM HM, JO, TS, FS, AS 2.3 ![]() |
||
![]() GPS, NMEA Decoder |
LCD Appliance![]() EAGLE Board View 5V Power Pins |
2.3![]() |
|||
24 Nov 16 |
![]() AVR Foundations ![]() ![]() ![]() |
Communication Protocols (Serial, SPI, I2C, RF, IR, BT) Serial Communicaton (UART) Part 1. AUTONOMOUS ARDUINO ![]() ![]() ![]() |
![]() ![]() Industrial Joystick (Possible ISP Idea?) |
![]() ![]() ![]() |
|
NOVEMBER BREAK | |||||
CLASS | REFERENCE | CONTENT & CONCEPTS | PROJECT | SUPPLEMENTAL | |
![]() ![]() ![]() |
LCD Technology: How it Works ![]() Your 16x2 Character Liquid Crystal Display ![]() ![]() RSGC ACES' LCD Examples: ![]() Digikey's LCD Inventory Sampler ![]() |
![]() ![]() |
![]() Tip: The F() Macro |
||
![]() |
Day 1 Exercises (continued) C: null-terminated array of char, as in, char name [] = "RSGC ACES"; or, ![]() |
Strings: Examples & Exercises ![]() |
![]() Core Libraries Classes: Static (Serial) vs Instantiated (String) |
||
![]() |
Day 1 Exercises |
Endianness | Day 2 Function Concepts: Overloading Parameter Passing: Call By Value vs Call By Reference |
||
![]() |
Review of PoVWord Exemplar ![]() ![]() ![]() Day 1 Function Concepts: Stubs, Scope, Predicates, Call by Value vs Call by Reference ![]() Overloading ( as in Serial.print() ) |
Functions: Examples, Exercises Session 3 Loot... ![]() |
![]() |
||
SESSION BREAK | |||||
Session 2. Extending the Arduino's Output Pins and Persistence of Vision (PoV) (9 Classes)
|
|||||
CLASS | REFERENCE | CONTENT & CONCEPTS | PROJECT | SUPPLEMENTAL | |
![]() ![]() |
'Tis the season... Ghosting and Masking Introduction to EEPROM #include Arduino.h (software) #include iom328p.h (hardware) MatrixMadeEZ Kit Components |
![]() ![]() |
![]() OA, LC, XC**, JC, JD*, SGV, JG*, DL**, CM*, HM, JO, TS*, FS, AS ![]() |
||
![]() ![]() |
![]() |
![]() |
|||
![]() Dual 7-Segment POV ![]() |
Arduino Time Functions:
millis(), micros() Persistence of Vision (PoV) Dual CC 14-Segment Alphanumeric Display KWA-541CPGB Datasheet LPT-3748G Datasheet (2019/2020) |
![]() |
![]() |
||
![]() ![]() |
![]() ![]() First Look at (Arduino) C's... Preprocessor Directives ![]() Grade 10 Counting Circuit Revisited: Dual 7-Segments: 5011AS Datasheet |
![]() ![]() |
![]() ![]() ![]() |
||
![]() |
![]() |
1D
Scrolling Technique![]() ![]() |
|||
Solder Up Your Morland Bargraph V3 This Weekend And Have Ready for Service on Monday | |||||
The THT Morland Bargraph V3 ![]() Morland Bargraph V4 |
![]() |
![]() |
|||
![]() ![]() |
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) |
![]() |
![]() |
||
EC: 4020, 4060![]() Your kit contains... 32kHz XTal, 15MΩ Res |
Software: Iteration (aka Repetition, Looping) ![]() ![]() ![]() Logical (Bitwse) & Operator (p. 42) ![]() Inspired by J. Goodwin: ![]() |
![]() ![]() |
![]() ![]() |
||
![]() (No-charge) Supplements: Resistor Networks Morland PCB 50' Red Hookup Wire ABRA-Nano |
Review of
Traffic Light
Appendix E. C Operators and Precedence (p. 140) Conditional Decisions (Branching) ![]() ![]() ![]() ![]() ![]() ![]() |
Online TA Support
10-LED Blue Bargraph ![]() |
![]() SIP Resistor Network ![]() |
||
Session Break | |||||
Session 1. Arduino Fundamentals (10 Classes) |
|||||
CLASS | REFERENCE | HARDWARE | SOFTWARE | SUPPLEMENTAL | |
![]() ![]() |
Hand in your DER Right Now! Please have your Hardware Debounce PCB soldered up for the start of class, please. First Look at... ![]() ACES' RGBLED Scripting Language V1 ? ![]() |
![]() ![]() ![]() |
2.1![]() OA, LC, XC*, JC, JD, SGV*, JG, DL*, CM, HM*, JO, TS, FS, AS |
||
9 Sep 24 |
![]() Curriculum Night for (Day 1) Parents @ 7 |
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... ![]() |
![]() |
|
8 Sep 23 |
![]() |
![]() The ![]() (Mechanical) Digital Input? ![]() Controlling Bounce ![]() |
Button or Switch contacts can lead to false readings...:( ![]() |
![]() |
|
7 Sep 22 |
![]() pp. 16-17 |
Base Conversion Algorithm using Binary Decomposition The ![]() Analog Input? Successive Approximation Cooperative Code Session: VoltageDivider.ino |
![]() ![]() |
![]() ![]() |
|
6 Sep 21 |
![]() pp. 14-15 LED Power Performance |
A possible late start due to Prefect Speeches?
The ![]() Analog Output? Pulse Width Modulation (PWM) Cooperative Code Session: BreathingLED.ino ![]() ![]() |
![]() ![]() |
![]() ![]() |
|
5 Sep 18 |
![]() 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 ![]() ![]() |
2.1![]() |
|
4 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) |
|
3 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 :) |
![]() |
![]() |
|
2 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 |
![]() ![]() |
||
1 Sep 14 |
p. 0![]() |
AVR Foundations' Cover Video... S. Atkinson's: ![]() ![]() ![]() Power, Programming Ports |
![]() ![]() |
||
0 Sep 9 |
![]() |
![]() |