This blog explores issues related to the use of information technology in high school as well as the use of microcontrollers and electronics in Technology courses.
Saturday, December 24, 2011
Will the Tech. Design lab be the new Library?
As I think about the robotics lab in our new school, Craig Kielburger Secondary, I've been thinking about how neat it would be to add a 3D printer to the mix. That's why this weeks Spark episode really grabbed my attention. Have a listen. Maybe 'Hacker Space' would make a better name for shop?
.... I wonder!
Monday, November 14, 2011
ACSE Arduino Presentation notes
1 Cover
2 Why Arduino? Demise of OOPic made me look around and start comparing.
Aside OOPic Raptor currently under development.
3 Chart side by side comparison.
- all similar
- all basic von neuman, single step ALU
- some pipelining and more modern characteristics but basically all one instruction per clock tick
- Arduino development board (currently UNO) price very competitive
- sparked international interest due to open source nature
4 Why Microcontrollers are a great fit with curriculum and broad-based philosophy
- can teach basic electronics
- can teach interfacing
- can teach robotics
- opportunity for students to explore and design projects
5 Why Arduino? - cheap, robust, open source,
- started Microcontroller Investigation thread on blog in June 2010
- spent time at home playing and learning
- OOpic and electronics experience helped me
- have introduced OOPic into OISE AQ courses with excellent results
- all candidates able to expand their knowledge and skills using this platform
6 7 8 On line community: Make, Instructables, Arduino.cc
- grade 12 students able to take ideas and projects and apply in the classroom
- examples of Arduino daughter boards manufactered in class
9 Open source, exciting range of 3rd party developers
- 2 examples: 1 driving LCD another driving the Pong game
10 Getting started - plug it in, Load the driver - in drivers folder
- may be difficult depending on admin. restrictions on computer
- Mac, PC or Linux
11 Start the software
- work through learning and playground ideas
- try blink, fading and LED bar graph (if you have one)
- many youTube videos
12 C, J all the same
13 Main Arduino.cc page organization
14 Learning example - uses Fritzing
15 Fritzing.org for great graphics software to go along with Arduino and breadboards
- free software - produces jpg. files like slide 14
16 - a line follower robot built during the 2 week AQ this summer
- one built by Igor Kourinnyi on display
17 - novices able to complete stepper motor driver
- improved confidence and understanding
18 - sources for Hardware:
- Creatron Inc, 255 College St. Toronto, creatroninc.com
- Robotshop.ca
- Abra
- CanaKit
- Deal Extreme (rev 1 with a different USB to serial chip)
Sunday, September 11, 2011
What does "Tech Savy" mean to you?
Wednesday, August 3, 2011
Arduino bot
This is an Arduino based bot built by the OISE Computer Technology Grade 11-12 teachers in July.
Top view.
Side ViewBottom viewFront view.
Thanh Nguyen
Paresh Christian
George Goutziomitros
Esteban De Los Santos Lezama
Richard Davies
Jackie Griffith
Course: TEJAQ Grade 11/12
Teacher: Mike Druiven
OISE
August 3, 2011
Robotics - Lesson Plan
Topic: Computer Technology TEJ4M – How to Create a Robot
|
Notes |
Context: Approximately 20 – 25 Instructional Days
| |
Learning Outcomes:
A3.1 use technical terminology to accurately describe the specifications for electronic components and computer interfaces; A3.2 describe the function and operation of various input devices, output devices, and electronic circuits used in interface and control systems; A3.5 research and select components based on circuit requirements; B1.3 construct and test connection media for interfacing a computer with an external device; B3.1 use a design process and appropriate software design circuits; B3.3 safely construct electronic circuits for interfacing or robotic applications using appropriate materials, tools, and techniques, including soldering; B3.4 test and troubleshoot electronic circuits, using appropriate methods and test equipment and modify the circuits to meet design requirements if necessary; B5.2 apply programming concepts including subroutines, parameter passing, decision and repetition structures, arrays, and character representation; B5.3 use a design process to create a program that interacts with a real-world device; B5.4 write a low-level program that runs on a real or simulated controller device.
| |
References:
Part Supplier in Montreal - http://robotshop.com/ca
Servo Specifications - http://www.servocity.com/html/hs-311_standard.html One was for specifications and the other was for programming. http://www.robotshop.com/world/sfe-digital-ir-line-sensor-qre1113-2.html
| |
Tools Required:
Phillips screw driver, soldering iron, pliers, wire cutters, wire strippers, multi meter, super glue, safety glasses, drill press, band saw machine, needle nose pliers, scissor, electrical tape.
|
Step-by-Step Instructions:
|
|
Extension Activity:
Addition of two antennas in order to transform the robot in a light seeking vehicle.
We can connect 2 antennas to the robot. Each antenna has an LDR at the end connected as the diagram illustrates below. When there is more light hitting the voltage read in the Analog pin increases. The idea is simple.
If the difference between the absolute value of the two LDR readings is smaller or equal than a pre-tested value d, then continue moving forward (the value d has to be found through experimentation). Else, if the reading from LDR1 is smaller than the reading from LDR2, then turn right. Else turn left.
The pseudo code for the main loop would be the following:
if (|LDRVal1 - LDRVal2|<=d) { // continue moving forward } else if (LDRVal1 < LDRVal2) { // turn right } else { // turn left }
|
| ||
Parts List:
|
| ||
Item | Part # | Quantity |
|
Standard Servo motor | HS-311 | 2 |
|
Microcontroller board, i.e Arduino Uno board with 14 digital input/output pins and 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button |
| 1 |
|
Breadboard |
| 1 |
|
Line sensor | QRE 1113 | 2 |
|
Wires solid | # 22 size | 3m |
|
Nut and bolts | (4-40, 6-32) | lots |
|
Battery Holder (for 4 AA 1.5 v batteries) |
| 1 |
|
AA battery 1.5 |
| 4 |
|
9 volt Battery cap |
| 1 |
|
USB A / B cable |
| 1 |
|
Wheel SW 2-5/8” Diameter | RB-Sbo-86 | 2 |
|
Velcro |
| 15cm |
|
Plastic board |
| 14cm x 8cm |
|
LDR (for extension activity) |
| 2 |
|
Resistor (for extension activity) | 100 kilo ohms | 2 |
|
(used) AC/DC Power Adaptor |
| 1 |
|
| |||
| |||
| |||
| |||
| |||
|
RUBRIC | ||||
Categories | Level 1 50% | Level 2 60% | Level 3 70% | Level 4 80% |
Knowledge of content |
demonstrates limited understanding of functionality of parts and proper wiring |
demonstrates some understanding of functionality of parts and proper wiring |
demonstrates considerable understanding of functionality of parts and proper wiring
|
demonstrates thorough understanding of functionality of parts and proper wiring |
Thinking |
uses creative thinking processes in the design and layout of the robot with limited effectiveness |
uses creative thinking processes in the design and layout of the robot with some effectiveness |
uses creative thinking processes in the design and layout of the robot with considerable effectiveness
|
uses creative thinking processes in the design and layout of the robot with high degree of effectiveness |
Communication |
the layout and organization of the robot allows debugging with limited effectiveness |
the layout and organization of the robot allows debugging with some effectiveness |
the layout and organization of the robot allows debugging with considerable effectiveness
|
the layout and organization of the robot allows debugging with high degree of effectiveness |
Application |
the line following test of the robot was successful with limited effectiveness |
the line following test of the robot was successful with some effectiveness |
the line following test of the robot was successful with considerable effectiveness
|
the line following test of the robot was successful with high degree of effectiveness |
Sunday, July 17, 2011
Thursday, May 12, 2011
Inspire high school students’ career aspirations and goals
Do you enjoy your career and find real value in the work you do? Do you feel that your ICT skills play a key part in your current and future success? If so, perhaps you would be interested in giving a career talk to high school students, providing inspiration about your job and the many other opportunities available in ICT-related careers.
As a member of the Canadian Coalition for Tomorrow’s ICT Skills (CCICT), we are helping recruit role models to visit schools in the Toronto area for CCICT’s CareerMashup initiative. Planned for the last two weeks of October, CareerMashup is a week-long festival of events and activities raising awareness about today’s interesting and varied ICT-related careers.
We are also looking for individuals willing to talk about their careers for video profiles on CareerMash, a new online career network developed by the CCICT.
Why your help is needed
Employing more than one million Canadians, ICT activities are the foundation of our knowledge economy. More Canadians work in ICT than in agriculture, forestry, fishing, mining, oil and gas, utilities and auto-manufacturing combined. The demand for employees with specialized ICT-related skills continues to grow. Despite this, there is an alarming decline in ICT-related post-secondary enrolments.
Research has shown that when considering careers and post-secondary options, many high school students are unaware of the exciting new jobs and opportunities out there. If they think of these jobs at all, they think of them as desk-bound and boring. As you are well aware, this is not the case.
An industry-led coalition, CCICT was formed to address this urgent issue and help reverse the trend.
Training provided
The role model training will take place on Tuesday, September 13th. CCICT will manage all of the logistics, provide training and assist with presentation content. If you are interested in being a role model and/or participating in a video profile, please contact me.
CCICT is looking for many different role models, but especially entrepreneurial types and those in a wide variety of specialized fields like digital media, health informatics, product innovation, medical research, green infrastructure, mobile technologies and applications etc. Here is a list of characteristics (keeping in mind these are just loose guidelines):
- lively, engaging personalities
- comfortable speaking to groups
- diverse range of ethnic backgrounds
- strong female representation
- wide range of industries with an emphasis on ICT, finance, business, environment, health and wellness, media, manufacturing, arts and culture, and transportation
- wide range of career types from those working in large organizations to entrepreneurs and the self-employed
In addition to organizing the school visits, CCICT will provide each role model with training and help preparing their presentation. We are looking for role models who will commit to visiting at least one school (for 1/2 to a whole day) in October, and who will come to a training session on September 13th in Toronto.
Wednesday, April 27, 2011
Cleaning house part 3
This is a temperature probe that uses op-amps and an A to D converter for rather accurate T measurements. The probe is a 2n2222 epoxied into the end of a pen barrel.
.... not sure but lots of familiar parts!
Digital dice made using wire wrap technology.
A binary number game. The black header holds a 7 segment display driven by a random number generator. The student would set the DIP switches to make the same number in binary and push the button. The circuit will indicate Too High, Correct or Too Low.
These circuits are now trash but the memory of making and using them in classes remains.
Sniff :(
Cleaning house part 2
These experimenter boards gave the students 8 LEDs, a 7 segment display, 8 DIP switches mounted on the white header and access to 8 i/o pins via the terminal strip to connect external circuits and experiments.
Part 3 shows some interface circuits and other random circuits made in the 90s.
Cleaning house part 1
.... to connect to a hand made experimenter board like this.
Here students could control the LEDs or read the position of DIP switches mounted on the white header.
In part 2 I'll look at the next generation . . . PC interface cards.
Saturday, March 19, 2011
Possible return of the OOPic
Thursday, March 3, 2011
Analog to Digital
Arduino Analog Inputs - 6
Stamp Analog Inputs - 0
Score one for Arduino!
Wednesday, February 16, 2011
Computer Engineering ABQ - First Day
What's an ABQ? This is an Additional Basic Qualification course offered by the University of Toronto Ontario Institute for Studies in Education (OISE). An ABQ qualifies a teacher to teach a particular subject at a particular level.
Saturday, January 29, 2011
Great Summative project
The seniors capped off the year writing a version of the old Snakes and Ladders game. The program had to use a GUI input and show the postion of the players (person vs computer) by printing out the board, a grid of numbers, with symbols showing the player positions.
Printing out the game board lends itself to using a 2 dimensional array, lets call it board.
board[j][i] where j represents the row and i represents the number in the row. If all the rows in a Snakes and Ladders game counted up from left to right then it would be easy to fill up the array with a nested loop. The outer loop counts from zero to 9 - the rows. The inner loop counts from 1 to 10, 11 to 20, 21 to 30 etc to fill up the rows.
int i, j
for (j = 0; j<=9; j++)
{
for (i = 1; i<=10; i++)
{
board [j][i] = j*10 + i;
}
}
But in reality the Snakes and Ladders board counts up in a serpentine fashion so that 11 is above 10 and 21 is above 20 etc. Writing the code for the Snakes and Ladders board is only a little more complicated. The odd rows count up and the even rows count down.
for (int even = 0; even <=8; even +=2)
/** This for loop fills up rows 0, 2, 4, 6 & 8
* in the array. These rows represent
* the rows that count up from left to right**/
{
for (i = 0; i<=9;i++)
{
board[even][i] = count;
count++;
}
count+=10;
} // even
count = 11;
for (int odd = 1; odd <=9; odd +=2)
/** This for loop fills up rows 1,3,5,7,9
* in the array. These rows represent
* the rows that count up from right to left**/
{
for (i=9; i>=0; i--)
{
board [odd][i] = count;
count++;
}
count+=10;
} // odd
Now all we need to do is print out the array starting at row 9 and counting down to zero.
for (j=9; j>=0; j--)
{
for (i=0; i<=9; i++)
{
System.out.print(board[j][i] + " ");
}
}
Output:
100 99 98 97 96 95 94 93 92 91
81 82 83 84 85 86 87 88 89 90
80 79 78 77 76 75 74 73 72 71
61 62 63 64 65 66 67 68 69 70
60 59 58 57 56 55 54 53 52 51
41 42 43 44 45 46 47 48 49 50
40 39 38 37 36 35 34 33 32 31
21 22 23 24 25 26 27 28 29 30
20 19 18 17 16 15 14 13 12 11
1 2 3 4 5 6 7 8 9 10