555| GIT | ISPs | S&N | ACES_SMT.dru
ACES_THT.lbr (2021 01 02)| ACES_Generic.cam
2020-2021 ICS3U-E: AVR FOUNDATIONS
Chinese New Year: February 12. Year of the Ox...
Session 5 (10 Classes): Printed Circuit Board Design with AutoDesk's EAGLE, SPI, and the MSGEQ7
CLASS REFERENCE CONTENT & CONCEPTS SUPPLEMENTAL PROJECT
44
Jan 29

Online Tone Generator
AVR Foundations: LCDAnalogMeter


Terrific Tutorial: MSGEQ7 by Skoba
RSGC ACES MSGEQ7 Audio Equalizer Prototype
Custom LCD Character Function: createChar()

Tone Generator Sweep
Port Pin Summary (1:55)
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


MAX9814 and MSGEQ7
42
Jan 27
Low Pass Filters:
Good (Intuitive)
Low Pass Filters
Passive Low Pass Filters
The Briefest Introduction to ...
Passive Low and High Filtering
Passive Low-Pass Filter Design Tool
 
41
Jan 26
MAX9814
Mic/Amp with AGC


MAX9814 Tutorial
SPI continued ...
An SPI Bus: What Could Go Wrong?

MBv3SPIBus



Support Code:

MBv3SPIBus.ino
40
Jan 25
595 as SPI Device?

Communication Protocols
(
Serial, SPI, I2C, RF, IR, BT)
AVR Foundations Workbook: pp. 82-83
Arduino Workshop: SPI
SPIvsShiftoutV2.docx


SPI Library
SPIvsShiftOutV2.ino

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
The CAM Processor (.cam)
Generating the Gerber (Manufacturing) Files
Check & Rules
Error (ERC) Design (.dru, DRC),
Better PCBs in EAGLE
Board Houses
JLCPCBs, DirtyPCBs
2.10a
37
Jan 21

EAGLE Tutorials: 3. Board Layout
Creating the Board File (.brd)
Schematic: Replace (6mm for 12mm PB)
Layers

(Dimension, Holes, tOrigins, tSilk, 200bmp)
Tools
(Line, Miter, Hole, Mirror, Ratsnest, Show,
AutoRouter, Text)
Scripts: ripup; import-bmp.scr

ACES_THT.dru
Adafruit Mint PCB files
EAGLE Rules
2.10a

Jan 20
No Teaching By Order of the Management
36
Jan 19

EAGLE Tutorials: 2. Schematic
Creating the Schematic (.sch)
Convenient EAGLE Libraries (.lbr):
ACES_THT.lbr,
Sparkfun, Adafruit
Installing Sparkfun and Adafruit Libraries
RSGC ACES Common Parts:
THT, SMT, General


2.10a

35
Jan 18

EAGLE Tutorials: 1. Install and Setup
Holiday Challenge Results:
SquareWave to Sine Wave
Sinusoidal Bicolor LED, Plotter
Introduction to EAGLE PCB Design
Altoids Arduino PCB
PCB Gallery, EAGLE Home Page
Application Orientation
Projects, Preferences, Schematic, and Board


2.4.2 Perma-Proto 328P
LC, XC*, JC, JD, JG,
DL, CM, TS, FS, AS
SESSION 5.1: EAGLE PCB DESIGN
Parts4MintTinATmega328P (Deadline: Saturday January 2, 2021)
DECEMBER BREAK
Session 4. I2C Communication and Standalone Embedded System (ATmega328P) with In-System Programming (ISP) and (8 Classes)
CLASS REFERENCE CONTENT & CONCEPTS SUPPLEMENTAL PROJECT
34
Dec 16


Recorded


USART Progamming of the
Breadboard ATmega328P
with support for
Serial Monitor/Serial Plotter


Mint Tin LEDs: Photo, Video
Panel Mount 5mm LED Clip/Ring Holder



Video

Sketch:
BlinkwithSerialOUT.ino
2.4.1
Breadboard ATmega328P
OA, LC, XC, JC
JD, SGV, JG, DL*, CM
HM, JO, TS, FS, AS
33
Dec 15

UNO as Programmer
MCU Embedded Systems
Martyn Currey: ATmega328p on a Breadboard
Rheingold: Deep Crystal Discussion
2020/2021 Breadboard ATmega328P
Mint Tin ATmega328P

32
Dec 14

Recorded



Flashing AVR MCUs with the

AVR Pocket Programmer
Burning the Bootloader
Voltage Regulation
with the LM7805 (p. 34)
Recall J. Goodwin's
XTAL Oscillator


as


Would an ATtiny do?
BREADBOARD ATMEGA328P Project
Bonus
Day
:)

WireLevelRTCLCD
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)
31
Dec 11
DS1307 as UNO Appliance
Behind the curtain...
Wire-Level RTC Exercises (cont'd)
4. DS1307 Square Wave Exploration
Video Support: DateTime
DS1307RTC BoB

DS1307 Block Diag...

SQW Control Reg...

30
Dec 10


Review Homework ...
StructsandConversions.ino

Behind the curtain ...
Wire-Level RTC Exercises
2. TC74 Tiny Serial Temperature Sensor


Mr. D's Soldering Tip ...
Let it Wick!
29
Dec 9


ACES Gold: Vassos'...
Capacitor Visualizer Soldering
PJRC: Stoffregen's
DS1307RTC Library Discussion


TimeLib.h, DS1307RTC.h
BCD: Binary Coded Decimal
Two utility functions:

uint8_t dec2BCD(uint8_t dec)
uint8_t BCD2dec(uint8_t bcd)

Create a project from:
StructsandConversions.ino
tmElements_t

DS1307 RTC Assembly Tutorial

Please have BoBs soldered...
AVRISPProgrammer and DS1307 RTC
DS1307 Registers



C++ Operator Precedence
(p. 140)
28
Dec 8



Wire-Level RTC Exercises (cont'd)
1. How I2C Communication Works


I2C 'Hot Swapping' Demonstration


Arduino Core Library: Wire
Install Margolis/Stoffregen
DS1307RTC Library (above)
Library Examples:
SetTime.ino and ReadTest.ino

I2C Tutorial
DS1307RTC
DS1307RTC Excerpt...

TC74 Temp Sensor

DS1307 Real-Time Clock (RTC)
27
Dec 7

Communication Protocols
(Serial, SPI, I2C, RF, IR, BT)
NXP: What is an I2C Bus: An Introduction

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
26
Nov 18

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 ProcessingtoRGB.ino
First look at the ATmega328p's GPIO Ports
Recall #include iom328p.h (hardware)
Arduino Language Reference::Bits 'n Bytes
TimerOne::Interrupts Revisited (Improved?)
What is a Bootloader?
ISP Idea?

Ask UNO
OA, LC, XC**, JC, JD
SGV, JG, DL**, CM
HM, JO, TS, FS, AS
2.3
25
Nov 17

GPS, NMEA Decoder
SoftwareSerial Library
SerialMastermind
Chat.ino
LCD Appliance

EAGLE Board View
5V Power Pins
2.3
24
Nov 16
(Re)Download
AVR Foundations



Communication Protocols
(Serial,
SPI, I2C, RF, IR, BT)

Serial Communicaton (UART)
Part 1. AUTONOMOUS ARDUINO


Processing, Wiring

ProcessingtoRGB
RGBColorPicker


JoyStickSerialFeed
CircularTrigFunctions
Industrial Joystick
(Possible ISP Idea?)


NOVEMBER BREAK
CLASS REFERENCE CONTENT & CONCEPTS PROJECT SUPPLEMENTAL
23
Nov 12

HD44780U
LCD Technology: How it Works
DIY (?) Custom LCD
Your 16x2 Character Liquid Crystal Display
Hello, World!
Library, Constructors
RSGC ACES' LCD Examples:
Reaction, Temperature, Time, Keypad, Audio

Digikey's LCD Inventory Sampler
ACES' Advanced LCD Project:
Direct Drive
LCDAnalogMeter


Tip: The F() Macro
Day 1 Exercises
(continued)
C: null-terminated array of char, as in,
char name [] = "RSGC ACES"; or,
String (Class and Objects)
Strings:
Examples & Exercises
StringExercises
Arduino's
Core Libraries
Classes:
Static (Serial)
vs
Instantiated (String)
21
Nov 10

Day 1 Exercises
(continued)

Endianness Day 2
Function Concepts:
Overloading
Parameter Passing:
Call By Value
vs
Call By Reference
20
Nov 9
Review of PoVWord Exemplar
The & Operator
RAM Allocation
Modular Programming: Functions (p. 45)

Day 1 Function Concepts:
Stubs, Scope, Predicates,
Call by Value vs Call by Reference
Parameter Passing
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
19
Oct 23

'Tis the season...
Ghosting and Masking
Introduction to EEPROM
#include Arduino.h (software)
#include iom328p.h (hardware)

MatrixMadeEZ Kit Components
Power Logic 8-bit Shift Register: TPIC6C595
Small 8x8 Matrix: BL-M07C881UR-11
Adafruit Alternative: KWM-20882CUGB
19/20 ICS3U: PB*, HD*, MM*, RM*,


Persistence of Vision
OA, LC, XC**, JC, JD*,
SGV, JG*, DL**, CM*,
HM, JO, TS*, FS, AS
18
Oct 22

Write7SegUpperCaseCharacters.ino
Write14SegUpperCaseCharacters.ino
Write14SegASCIIEEPROMKWA-541XPGB.ino
Serial Library Functions:
String
17
Oct 21

RSGC ACES:
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)
?
16
Oct 20

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
15
Oct 19
Exploring/Exploiting your MBV3
Timed Counting, Dimming
highByte(), lowByte()
1D Scrolling Technique



Bitshifting
Solder Up Your Morland Bargraph V3 This Weekend And Have Ready for Service on Monday
14
Oct 16
The THT
Morland Bargraph V3
The SMT
Morland Bargraph V4

13
Oct 15

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)
12
Oct 14
Curr. Night
7:30 PM
EC: 4020, 4060

Your kit contains...
32kHz XTal, 15MΩ Res
Software: Iteration (aka Repetition, Looping)
while, for, arrays
Logical (Bitwse) & Operator (p. 42)
File > Examples > Display > barGraph
Inspired by J. Goodwin:
Pierce Oscillator ' Counting? '

Bicolor Bargraph


11
Oct 13

(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)

if if..else ternary
switch...case, break
ACES' RGBLED Scripting Language V1
Online TA Support
10-LED Blue Bargraph

SIP Resistor Network
Session Break
Session 1. Arduino Fundamentals (10 Classes)
CLASS REFERENCE HARDWARE SOFTWARE SUPPLEMENTAL
10
Sep 25

Hand in your DER Right Now!
Please have your
Hardware Debounce PCB
soldered up for the start of class, please.
First Look at...
Serial Input: read()
ACES' RGBLED Scripting Language V1 ?
R5r1G4g1B2b1O3o.mp4

switch...case
break
2.1
Traffic Light
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
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...:(

7
Sep 22

pp. 16-17
Base Conversion Algorithm
using Binary Decomposition
The to...
Analog Input?
Successive Approximation
Cooperative Code Session: VoltageDivider.ino

ADC Successive Approximation

6
Sep 21

pp. 14-15
LED Power Performance
A possible late start due to Prefect Speeches?
The to...

Analog Output?
Pulse Width Modulation (PWM)
Cooperative Code Session: BreathingLED.ino
Faux Fire Effect
File > Examples > Basics > Fade



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

DataTypes.ino

First Look at...
Serial Output: println()
Learn HTML:
W3Schools
Code for DER:
Copy as HTML
Example
AVRFoundations
2.1
4
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)
3
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 :)
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: Foosball Scoreboard

The Arduino IDE: Software Download
Power, Programming Ports
'Programming' an
ICS2O-E Version of a...
555/4017TrafficLight
(based on this Project)



0
Sep 9
REPUTATION and RESPECT
ACES Hall of Fame:
E. McAuliffe ('18), E. Peterson ('18)
M. Elia ('15), J. Gettings ('10)
2020-2021 ACES Program
, Student Outline
Mr. D's Schedule
20/21 ICS3U-E ACES Toolkit

For our second Field Trip of the year we have been invited to visit a factory that is developing solar panels. Since this device is an integral part of our Greenhouse Project this year, early familiarity with this technology will be advantageous.
What better way is there to start the year than with a walking field trip to acquire the electronic components that we will make good use of? You'll also be aware of its location for your own personal projects.
I have no formal training in electronics or electrical engineering - I'm just really interested in this field. The knowledge and skill I have has been largely acquired over the last few years from learning alongside many talented Georgians and I look forward to expanding my capabilities by working with you this year.
I ask six things of my ACES (for most other things I'm usually flexible):
1. SHORTCUTS. The world has enough corner-cutters. This is includes cheating, plagiarizing, or lying.
2. SHARED SPACE. Show respect for others that use the lab by putting your projects away and leaving your bench area tidy when you leave.
3. DES VISITORS. Show respect for adult visitors that enter the lab by immediately stopping what you are doing, standing and facing the individual(s).
4. NO EATING. Show respect for the lab by not eating in the DES. You may go into the hallway for a quick bite if you need to.
5. AVOID WASTE. Show respect for the lab's resources by not wasting or misusing them.
6. REPUTATION. Show respect for yourself by looking (and speaking) your best. It's the little things keep the doors of opportunity open.
Growing Success, p. 29
Responsibility, Organization, Independent Work, Collaboration, Initiative, Self-Reliant Growing Success. p.11.

It is worth noting, right from the start, that assessment is a human process, conducted by and with human beings, and subject inevitably to the frailties of human judgement.
However crisp and objective we might try to make it, and however neatly quantifiable may be our "results", assessment is closer to art than science.
It is, after all, an exercise in human communication.
Knowledge: Subject-specific content acquired in each course (knowledge), and the comprehension of its meaning and significance (understanding).
Thinking: The use of critical and creative thinking skills and/or processes, as follows:
Communication: The conveying of meaning through various forms, as follows:
Application: The use of knowledge and skills to make connections within and between various contexts.