Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chips Ahoy! – The path to Programmable Components Brian P Smith.

Similar presentations


Presentation on theme: "Chips Ahoy! – The path to Programmable Components Brian P Smith."— Presentation transcript:

1 Chips Ahoy! – The path to Programmable Components Brian P Smith

2 Welcome Good morning and welcome to the Chips Ahoy! Workshop I’m Brian Smith and I have been teaching electronics and computing for 34 years and have created a number of commercial products – Kidschip, Learn & Go, eChip This session is sponsored by ICSAT and Technology Supplies In the next 2:45 hrs we will be taking a look at this update aspect of the D&T POS It will be a ‘hands on’ session

3 Aims of the Session To illustrate a pathway from simple electronics to programmable components To introduce programmable components, such as microcontrollers and Small Board Computers (SBCs). To show how microcontrollers can be used to apply computing principles and embed intelligence into pupil work at Key Stage 3 To have a practical experience of microcontrollers and SBCs To identify next steps in further developing your own use of programmable components in the classroom.

4 INTRODUCTION Chips Ahoy! – The path to programmable components

5 Electronics in the past Simple circuits with little complexity and functionality – low value Complex circuits and functionality difficult to achieve Didn’t match student expectations – could buy better for under £10.00 Focussed on ‘out of date’ technologies Often done very badly, not much success for learners Brian P Smith5 Sir – it doesn’t work! Frustrating for staff – lack of training, support, resources Limited scope in other D&T facets For schools seen as being very expensive, difficult to justify Seen as hard and not very fun! Limited use of PICs has made a small start, but education has got left behind Now it’s time to catch up

6 THE NEW POS Chips Ahoy! – The path to programmable components

7 The new requirements for 2014 Technical knowledge, the key requirement are: KS2 apply their understanding of computing to program, monitor and control their products. KS3 understand how more advanced electrical and electronic systems can be powered and used in their products, such as circuits with heat, light, sound and movement as inputs and outputs apply computing and use electronics to embed intelligence in products that respond to inputs such as sensors, and control outputs such as actuators, using programmable components such as microcontrollers. KS3 Brian P Smith7

8 What does it mean in practice? It translates into: ‘The need to teach more advanced electronics that embed intelligence into the products they design and make’ This doesn’t mean more difficult, as embedded electronics has moved on in terms of the development tools and support available We need to have high aspirations in this field of D&T to meet the challenges of the 21 st Century Designing & Making leading into world class manufacturing and engineering. Brian P Smith8

9 Access all areas Learners are still expected to design and make their own products containing PCBs using these devices / modules The products can be created in all facets of D&T: – Product Design – Graphic Products – Textiles – eTextiles – Food – packaging & tracking – Electronic Products – Systems & Control Brian P Smith9

10 Embedded electronics Embedded electronics is the term used to describe those processor based systems added to everyday products to improve their functionality Embedded systems are dedicated to specific tasks, design engineers can optimize it to reduce the size and cost of the product and increase the reliability and performance. Embedded systems are mass-produced, benefiting from economies of scale. Brian P Smith10

11 Embedded Systems The design and making of embedded systems makes full use of computing: – CADCAM – Programming Physically, embedded systems include such devices as: – Robots – MP3 players – Cookers – Fridges – Smartphones – Smart TV’s Embedded electronics enable the design and making of products with intelligence and high value matching the needs and demands of the learner. Brian P Smith11

12 1.Simple circuits with little complexity &functionality – low value 2.Complex circuits and functionality difficult to achieve 3.Simple PIC based systems: –PICAXE –Genie –Require PCBs / Programmed using flowcharts or BASIC, most are free 4.Next generation PIC systems: PIC Clicker and Click boards Matrix ECIO boards Requires PCBs / Programmed using flowcharts, BASIC and C, most are free [Computing link] What's out there?

13 5.Adding capacity and intelligence with Small Board Computers (SBC’s): –Raspberry Pi / BeagleBone / Vex Robotics –Arduino – Uno, LilyPad, TinyDuino etc –Programmed in ModKit, Python, C, most are free [Computing link] –Wide range of modules, shields / PCBs required for your additional electronics –Massive resource base on the web for help and support What's out there?

14 Microcontrollers

15 What is a Microcontroller? A microcontroller is programmable component widely used in schools and in industry It is a small computer on a chip – a microprocessor specifically designed for control based work Can be programmed to perform different tasks – therefore ideal for a range of different projects The PIC made by Microchip and is a very common microcontroller along with the AVR made by Amtel

16 What can microcontrollers do? Produce timed sequences with output devices Play sounds, tunes and music Respond to sensors Wait for sensors to change Produce ‘random’ effects Count Respond to analogue sensors Do several things at the same time

17 Starting point Before deciding upon the type of hardware you would like to work with it is important to look at the various options available many of which are free or free to teachers on application. What do you need to do? Decide on the type of format that you like to work with Direct control (basic input and output commands) Flow Charts Line based code Software Platform No Computer…… MAC Windows MAC & Windows Several can be obtained in schools for free

18 Basic starting point No access to computers, look at using a programmable your board with the built in input and output buttons attached to the board to react to light, temperature and a range of switches and outputs such as LED’s, motors…. This would allow a basic link into the new POS apply their understanding of computing to program, monitor and control their products embed intelligence in products that respond to inputs such as sensors, and control outputs such as actuators IQ4 Programmable Controller

19 A Good Place to Start using programming 8 pin microcontroller such as the PICAXE 08M2 or GENIE C08 has enough functionality for KS3 and even some GCSE work Kits available that make use of either (e.g. PICAXE cyberpet which has a push switch and LDR as inputs and LED/piezo sounder as outputs) Surface mount versions available for use in e- textiles work Can play tunes which add an extra dimension to work Download socket for connection to download cable GENIE C08 Kit

20 PIC Work in Schools To undertake PIC based work in school you will need: Hardware (the PIC itself and associated circuitry) Software (for writing programs) Download cables (for downloading programs to the PIC – serial and USB available) Main options for the above: PICAXE (www.picaxe.com)www.picaxe.com GENIE (www.genieonline.com)www.genieonline.com

21 GETTING STARTED Chips Ahoy! – The path to programmable components

22 Where to start Simple PIC based systems: – PICAXE – Genie – Programmed using flowcharts or BASIC, most are free – Require PCBs How to build them in to products – Projects that work What knowledge and skills will I need? Brian P Smith22

23 Moving up a gear Next generation PIC systems: – PIC Clicker and Click boards – Matrix ECIO boards – Programmed using flowcharts, BASIC and C, most are free [Computing link] – Requires PCBs How to build them in to products – Projects that work What knowledge and skills will I need? Brian P Smith23 £18.00 £16.00 Both have free versions of their IDE’s and use USB for programming

24 How to aiming higher Adding more capacity and intelligence with Small Board Computers (SBC’s): – Raspberry Pi – Arduino – Uno, LilyPad, TinyDuino etc – BeagleBone – Programmed in Python, C, most are free [Computing link] – Wide range of modules, shields – PCBs required for your additional electronics – Massive resource base on the web for help and support Brian P Smith24

25 What’s out there The range of SBC modules is vast, here are some examples: – GPS – Accelerometers – LCD / LED displays – Motor drivers (DC, stepper, servo) – WiFi – Bluetooth – RGB LEDs – RGB LED matrixs – Audio playback (wav files) Some of these are available in micro sizes, waterproof etc. Brian P Smith25

26 Positive points: SBCs are not difficult to use or to design into products across all facets of D&T. Due to the nature of these systems and their add-ons complex system can easily and quickly be created offering bespoke solutions to specific design briefs or scenarios. The combination of built SBCs with own designed electronics is a very powerful one, but one that is easily understood and developed by teachers and learners alike. Provide good linkages with Computing – mutual support? Negative points: What are the issues with open source SBCs? –Costs / Copying / Complexity? 26 Are SBCs the way forwards?

27 Coding your product Coding or programming is an area we share with Computing Learners have to: use two or more programming languages, at least one of which is textual,.. design and develop modular programs that use procedures or functions The development of a coded solution is an example of iterative design: The cyclic process of prototyping, testing, analyzing, and refining a product or process Writing code isn’t difficult, all code is made up from standard sections. These standard sections are known and are freely available online It’s like using Lego – the blocks of code just need to click together in the right order. Brian P Smith27

28 THE PATH TO.... Chips Ahoy! – The path to programmable components

29 The path to Programmable Components I have been working on a pathway to link the new POS for KS2 & 3 with those of Computing & Science This pathway is intended to illustrate the progression from KS2 to 3, and the linkages with supporting aspects from Computing & Science The pathway is a suggestion what electronics within D&T might progress like in 2/3 years time

30 KS2/3 Electronic active Introducing active electronic components and devices

31 Practical session 1 Lets have a break and make a typical electronic project in this Electronic active zone. Touch Torch / Light Two different kits: Torch version & Light version

32 Key points from your experience Positives What are your concerns? Things to target / develop

33 CONFIGURABLE ELECTRONICS Chips Ahoy! – The path to programmable components

34 KS3 Configurable Electronics As a stepping stone from conventional components to programmable ones, I have add a new category called Configurable Electronics The are chips (PICs) that contain Firmware (a control program) which allows the chip to function in a variety of ways depending upon the connections made to one of more pins

35 SpinIt© a configurable chip SpinIt© is a configurable chip that contains 8 different games The games are selected by the student by making or not making a link(s) The outputs take on different functions depending upon the game selected The information for SpinIt is supplied as a datasheet Using the datasheet and a base PCB, students can select a game, create a supporting circuit and gameboard or housing An introduction to programmable components without programming Benefits for students Straight forward circuit Allows a wide range of products from one chip Allows for individual solutions Benefits for staff Same basic circuit Easy to fault find All students are essentially using the same one No programs to troubleshoot Allows a wide range of solutions, but you are not running around trying to sort 20+ different ones

36 Practical session 2 Lets take another break and use a configurable chip – no programming as yet

37 Key points from your experience Positives What are your concerns? Things to target / develop

38 Time for a break 38Brian P Smith

39 PROGRAMMABLE COMPONENTS Chips Ahoy! – The path to programmable components

40 KS3 Programmable Components This is the big one, with a number of ways to achieve its delivery, with plenty in reserve to hit high aspirations, student progress and attainment

41 Practical session 3 Now its time to have a go with some programmable components I have: 10 x Game boards with embedded components 6 x PICAXE 14M2 systems 6 x Arduino systems We are going to add some ‘intelligence’ to the board using these devices

42 Intelligent Board Game In this session we are going to make an Intelligent Board Game using the PICAXE & Arduino The board is 250mm x 250mm and is a 3 part construction: – Top & bottom – display card – Inner – 6mm foam board Electronic parts: – R, G, B, Y and W mounted SMD LEDs (E-Textiles) – Sub Min Microswitches – Sub Min Reed switches (E-Textiles) – Piezo transducer – Vibe motor (E-Textiles) – Arduino 10 pin connector – +5V, 0V, and 8 user connections (to & from SBC) 42Brian P Smith

43 Game board information The 10 way connector has the following layout (top to bottom): 1.Magnetic switch 2.X 3.Neopixel 4.Yellow LED 5.Blue LED 6.Green LED 7.Red LED 8.Piezo Tx 9.+V (3V – 5V only) 10.0V

44 Starter for 10 Repeat loop Pick a random number Do task 1 if number = 1 Do task 2 if number = 2 If magnetic switch = 1 do task 3 Wait for 1 second Loop back to start

45 Key points from your experience Positives What are your concerns? Things to target / develop

46 IT’S A WRAP! Chips Ahoy! – The path to programmable components

47 The challenges ahead In developing this area the following will be needed: – New subject knowledge – Skills Training – Teacher support – Curriculum materials Schemes of Work How to guides Example Projects Case studies – Advice to SLT – Developing links with Computing/ICT – Developing a support network Brian P Smith47

48 Connecting with Computing D&T contributes to the Computing POS: – Developing algorithms / methods for problem solving – Apply IT technologies such as CADCAM, web-based researching – Control and programming of products that have been design and made – Be creative users of IT for the development of new products There is a clear synergy between D&T and Computing, they are both applied Technologies and as such support and feed upon each other, we see this in everyday in the products we use and rely upon. We need to develop this linkage in the projects and work we do, for our mutual benefit and that of the learner. Brian P Smith48

49 Key points from the workshop Positives What are your concerns? Things to target / develop

50 Plans for the future List your key action points for the next academic year

51 Key points New requirement for Sept 2014 – DATA will be offering guidance courses Can be delivered in all aspects of D&T – Product Design, Graphics, Food, Textiles, Electronics, Systems & Control Range of starting points – But the newer SBC systems offer the best way to move forward – PIC Clicker, Matrix ECIO, Arduino, Raspberry Pi Embedded electronics allows learners to aim high – this is the expectation – Learners can develop their own projects and solutions Links with Computing can be developed to share the development of coding skills – Discussions with Computing and SLT might be needed Allows learners to develop projects using a wide range of modules that add lift them from the mundane to outstanding – Just take a look at any Arduino, Rasp Pi, Maker forums Allows the use of other advanced technologies – Laser cutting, 3D printing etc 51Brian P Smith

52 ICSAT We are here for you Look on our website: If you don’t see what you want talk to us, we can tailor course and meetings to suit your needs. We can help with KS1, 2 & 3 for September We have produced Departmental audits and individual student trackers. Tell your colleagues about us.

53

54 RESOURCES Chips Ahoy! – The path to programmable components

55 Arduino Book list: 30 Arduino projects for the evil genius – Simon Monk Programming Arduino – Simon Monk Programming Arduino Next Steps – Simon Monk Arduino Projects for Dummies Arduino for Dummies Arduino Cookbook Websites: Software: Arduino IDE – free download Hardware: Win PC Mac’s Linux Websites cont’d: Rapid Maplin RS Farnell Technology Supplies Ltd 55Brian P Smith

56 Programmable Software Links Yenka Genie Picaxe Arduino Logicator Flowol4

57 BOOKLIST Chips Ahoy! – The path to programmable components

58 Useful Books BookAuthorISBNComments 30 Arduino projectsSimon Monk A source of ideas Programming Arduino – Getting started Simon Monk A good starter for coding Programming Arduino – Next steps Simon Monk More coding with advanced circuits Dr Monk’s Arduino Shield Projects Vol 1 - LEDs Simon Monk Lots of LEDs circuits & ideas Arduino CookbookMichael Margolis Arduino Bible of code and circuits Mastering Microcontrollers – Helped by Arduino Clemens Valens Advanced coding & projects Arduino for DummiesJohn Nussey Getting started Arduino Projects for DummiesBrock Craft A range of fully worked projects Exploring ArduinoJeremy Blum Advanced coding & projects Arduino Circuits & Projects Guide Gunter Spanner Introduction + some interesting projects

59 EQUIPMENT SUPPLIERS Chips Ahoy! – The path to programmable components

60 Useful Suppliers NameWebsiteParts Proto-Pichttp://proto-pic.co.uk/Full range of Arduino + parts + robotics etc Sparkfunhttps://www.sparkfun.com/Full range of Arduino + shields & interesting parts Adafruithttps://www.adafruit.com/Full range of Arduino + shields, innovative parts, good learning & support sections Arduinohttp://arduino.cc/en/Arduino official site with shop and software etc Kitronikhttp://www.kitronik.co.uk/Arduino + other electronic parts & projects TinyDuinohttp://tiny-circuits.com/TinyDuino official site with shop & distributors TinkerKithttp://www.tinkerkit.com/ ICSAT eShophttp://eshop.icsat.co.uk/TinyDuino Reseller Rapid Electronicshttp://rapidonline.comFull range of parts + PICAXE, GENIE, Arduino

61 ARDUINO 101 Chips Ahoy! – The path to programmable components

62 Arduino 101 Bare Minimum code needed to get started This example contains the bare minimum of code you need for an Arduino sketch to compile: the setup() method and the loop() method. Hardware Required Arduino Board Circuit Only your Arduino Board is needed for this example. Code The setup() function is called when a sketch starts. Use it to initialize variables, pin modes, start using libraries, etc. The setup function will only run once, after each powerup or reset of the Arduino board. After creating a setup() function, the loop() function does precisely what its name suggests, and loops consecutively, allowing your program to change and respond as it runs. Code in the loop() section of your sketch is used to actively control the Arduino board. The code below won't actually do anything, but it's structure is useful for copying and pasting to get you started on any sketch of your own. It also shows you how to make comments in your code. void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: } 62Brian P Smith

63 Blinking a LED Blink This example shows the simplest thing you can do with an Arduino to see physical output: it blinks an LED. Hardware Required Arduino Board LED Circuit To build the circuit, attach a 220-ohm resistor to pin 13. Then attach the long leg of an LED (the positive leg, called the anode) to the resistor. Attach the short leg (the negative leg, called the cathode) to ground. Then plug your Arduino board into your computer, start the Arduino program, and enter the code below. Most Arduino boards already have an LED attached to pin 13 on the board itself. If you run this example with no hardware attached, you should see that LED blink. Code /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } 63Brian P Smith

64 Fading an LED Fading Demonstrates the use of the analogWrite() function in fading an LED off and on. AnalogWrite uses pulse width modulation (PWM), turning a digital pin on and off very quickly, to create a fading effect.analogWrite() Hardware Required Arduino board Breadboard a LED a 220 ohm resistor Circuit Connect the anode (the longer, positive leg) of your LED to digital output pin 9 on your Arduino through a 220-ohm resistor. Connect the cathode (the shorter, negative leg) directly to ground. Code /* Fade This example shows how to fade an LED on pin 9 using the analogWrite() function. This example code is in the public domain. */ int led = 9; // the pin that the LED is attached to int brightness = 0; // how bright the LED is int fadeAmount = 5; // how many points to fade the LED by // the setup routine runs once when you press reset: void setup() { // declare pin 9 to be an output: pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { // set the brightness of pin 9: analogWrite(led, brightness); // change the brightness for next time through the loop: brightness = brightness + fadeAmount; // reverse the direction of the fading at the ends of the fade: if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } // wait for 30 milliseconds to see the dimming effect delay(30); } 64Brian P Smith

65 Checking a button Button Pushbuttons or switches connect two points in a circuit when you press them. This example turns on the built-in LED on pin 13 when you press the button. Hardware Arduino Board momentary button or switch 10K ohm resistor breadboard hook-up wire Circuit Code /* Button Turns on and off a light emitting diode(LED) connected to digital pin 13, when pressing a pushbutton attached to pin 2. This example code is in the public domain. */ // constants won't change. They're used here to // set pin numbers: const int buttonPin = 2; // the number of the pushbutton pin const int ledPin = 13; // the number of the LED pin // variables will change: int buttonState = 0; // variable for reading the pushbutton status void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT); } void loop(){ // read the state of the pushbutton value: buttonState = digitalRead(buttonPin); // check if the pushbutton is pressed. // if it is, the buttonState is HIGH: if (buttonState == HIGH) { // turn LED on: digitalWrite(ledPin, HIGH); } else { // turn LED off: digitalWrite(ledPin, LOW); } } 65Brian P Smith

66 Reading an analogue value Analog Input A potentiometer is a simple knob that provides a variable resistance, which you can read into the Arduino board as an analogue value. In this example, you'll connect a potentiometer to one of the Arduino's analog inputs to control the rate at which the built-in LED on pin 13 blinks. Hardware Required Arduino Board Potentiometer built-in LED on pin 13 Circuit Code The analogRead() command converts the input voltage range, 0 to 5 volts, to a digital value between 0 and This is done by a circuit inside the Arduino called an analogue-to-digital converter or ADC. /* Analog Input Demonstrates analog input by reading an analog sensor on analog pin 0 and turning on and off a light emitting diode(LED) connected to digital pin 13. The amount of time the LED will be on and off depends on the value obtained by analogRead(). */ int sensorPin = A0; // select the input pin for the potentiometer int ledPin = 13; // select the pin for the LED int sensorValue = 0; // variable to store the value coming from the sensor void setup() { // declare the ledPin as an OUTPUT: pinMode(ledPin, OUTPUT); } void loop() { // read the value from the sensor: sensorValue = analogRead(sensorPin); // turn the ledPin on digitalWrite(ledPin, HIGH); // stop the program for milliseconds: delay(sensorValue); // turn the ledPin off: digitalWrite(ledPin, LOW); // stop the program for for milliseconds: delay(sensorValue); } 66Brian P Smith

67 Playing a tune Play a Melody using the tone() function This example shows how to use the tone() command to generate notes. It plays a little melody you may have heard before. Hardware Required Arduino board 8 ohm small speaker or piezo transducer 100 ohm resistor hook-up wire Circuit Code The code below uses an extra file, pitches.h. This file contains all the pitch values for typical notes. /* Melody circuit: * 8-ohm speaker on digital pin 8 This example code is in the public domain. */ #include "pitches.h" // notes in the melody: int melody[] = { NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4}; // note durations: 4 = quarter note, 8 = eighth note, etc.: int noteDurations[] = {4, 8, 8, 4,4,4,4,4 }; void setup() { // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 8; thisNote++) { // to calculate the note duration, take one second // divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1000/noteDurations[thisNote]; tone(8, melody[thisNote],noteDuration); // to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(8); } } void loop() { // no need to repeat the melody. } 67Brian P Smith

68 Light to sound generator Pitch follower using the tone() function This example shows how to use the tone() command to generate a pitch that follows the values of an analog input Hardware Required 8-ohm speaker 1 photocell 4.7K ohm resistor 100 ohm resistor breadboard hook up wire Circuit Code The code for this example is very simple. Just take an analog input and map its values to a range of audible pitches. Humans can hear from ,000Hz, but usually works pretty well for this sketch. The sketch is as follows: /* Pitch follower Plays a pitch that changes based on a changing analog input circuit: * 8-ohm speaker on digital pin 9 * photoresistor on analog 0 to 5V * 4.7K resistor on analog 0 to ground */ void setup() { // initialize serial communications (for debugging only): Serial.begin(9600); } void loop() { // read the sensor: int sensorReading = analogRead(A0); // print the sensor reading so you know its range Serial.println(sensorReading); // map the analog input range (in this case, from the photoresistor) // to the output pitch range ( Hz) // change the minimum and maximum input numbers below // depending on the range your sensor's giving: int thisPitch = map(sensorReading, 400, 1000, 120, 1500); // play the pitch: tone(9, thisPitch, 10); delay(1); // delay in between reads for stability } 68Brian P Smith

69 LED Bar graph LED Bar Graph The bar graph - a series of LEDs in a line, such as you see on an audio display - is a common hardware display for analog sensors. It's made up of a series of LEDs in a row, an analog input like a potentiometer, and a little code in between. The sketch works like this: first you read the input. You map the input value to the output range, in this case ten LEDs. Then you set up a for loop to iterate over the outputs. If the output's number in the series is lower than the mapped input range, you turn it on. If not, you turn it off. Hardware Required Arduino Board (1) LED bar graph display or 10 LEDs (10) 220 ohm resistors hook-up wire breadboard Circuit Code /* LED bar graph Turns on a series of LEDs based on the value of an analog sensor. This method can be used to control any series of digital outputs that depends on an analog input. The circuit: LEDs from pins 2 through 11 to ground */ const int analogPin = A0; // the pin that the potentiometer is attached const int ledCount = 10; // the number of LEDs in the bar graph int ledPins[] = { 2, 3, 4, 5, 6, 7,8,9,10,11 }; // an array of LED pins void setup() { // loop over the pin array and set them all to output: for (int thisLed = 0; thisLed < ledCount; thisLed++) { pinMode(ledPins[thisLed], OUTPUT); } } void loop() { // read the potentiometer: int sensorReading = analogRead(analogPin); // map the result to a range from 0 to the number of LEDs: int ledLevel = map(sensorReading, 0, 1023, 0, ledCount); // loop over the LED array: for (int thisLed = 0; thisLed < ledCount; thisLed++) { // if the array element's index is less than ledLevel, // turn the pin for this element on: if (thisLed < ledLevel) { digitalWrite(ledPins[thisLed], HIGH); } // turn off all pins higher than the ledLevel: else { digitalWrite(ledPins[thisLed], LOW); } } } 69Brian P Smith

70 PICAXE 101 Chips Ahoy! – The path to programmable components

71 PICAXE 14M2 Pinouts Below is the pinout for the PICAXE 14M2 and the pin names (note new format PORT.PIN)

72 THE BASICS Electronics getting started Brian P Smith

73 Systems Approach Brian P Smith INPUTSPROCESSOUTPUTS OPEN LOOP CLOSED LOOP

74 Input Components / Systems Sensors – Temperature – Light – Position – Touch – Wet/dry – Accelerometer – Compass – Humidity Switches – Toggle – Slide – Microswitch – Push to make (PTM) – Push to break (PTB) – Membrane – Magnetic Brian P Smith

75 Sensor examples Brian P Smith

76 Process Components / Systems Digital – Combinational Logic gates – Sequential Counters Decoders – Configurable Preprogrammed PICs / AVR – Programmable PICs (PICAXE, Genie) SBCs (Arduino, Rpi, PIC Clicker) Analogue – Transistors – Op-amps Amplifier Comparator Brian P Smith

77 The Transistor Brian P Smith

78 Transistor circuits Brian P Smith

79 Designing with Transistors Brian P Smith

80 Output Components / Systems Displays – LEDs Standard Bi-colour RGB Neopixel – Bulbs – LCDs – Electroluminescent panels Sound – Speakers – Buzzers – Piezo transducers Motors – DC motor – Servo motor Standard 180° Continuous rotation – Stepper Brian P Smith

81 Systems ‘Glue’ Monostables Astables Latches PSU’s – Type Battery AA, AAA, PP3 Coin / button cells LiPo – Voltage regulator Interface devices – Transistors NPN MOSFET – Relays – Drivers Standard – ULN2803A (8 drivers) – ULN2003 (7 drivers) H-Bridge – L293D – NE Brian P Smith

82 Monostables Brian P Smith

83 More monostables Brian P Smith

84 Smart monostables Brian P Smith

85 Astable timers Brian P Smith

86 Logic gate astables Brian P Smith

87 Other astables Brian P Smith

88 Relays Brian P Smith

89 Relay ratings Brian P Smith

90 Power Supplies Brian P Smith

91 Electronic Building Blocks Brian P Smith

92 Support CADCAM PCB manufacture Veroboard / Stripboard Breadboards 3D Printing – Cases – Fitments / holders etc. Brian P Smith

93 THE MATHS FOR DESIGN Electronics getting started Brian P Smith

94 Basic Calculations 1 Ohms Law Used to calculate the voltage across a component, the current flowing through it or it’s resistance. Vital for some components such as LEDs, otherwise too much current destroys them! V = I x R Voltage = current x resistance Brian P Smith Voltage – volts Current – amps Resistance - ohms

95 Basic Calculations 2 Power Law Used to calculate the energy (heat) generated by a component. If the heat generated is greater than it’s rating it will fail due to over heating. Used to ensure resistors or transistors have the correct rating. Brian P Smith Power – Watts Resistance – Ohms Current - Amps

96 Resistor Colour code Brian P Smith

97 Preferred values Brian P Smith

98 Resistor in series Brian P Smith

99 PROJECT IDEAS Electronics getting started Brian P Smith

100 NITE LIGHT Electronics getting started Brian P Smith

101 Nite Light Brian P Smith

102 Investigation Brian P Smith

103 Which blocks? Brian P Smith

104 Circuit diagram Brian P Smith

105 Assembly Brian P Smith

106 Testing Brian P Smith

107 Evaluation Brian P Smith

108 Manufacture Brian P Smith

109 Mass manufacture Brian P Smith

110 Improvements to the project Brian P Smith

111 MICROLIGHT Electronics getting started Brian P Smith

112 μLight (Microlight) Brian P Smith

113 Project Analysis Brian P Smith

114 Investigate Brian P Smith

115 Disassembly Brian P Smith

116 Building Blocks Brian P Smith

117 Circuit Design Brian P Smith

118 Circuit Assembly Brian P Smith

119 Circuit testing Brian P Smith

120 Plan of manufacture Brian P Smith

121 Mass manufacture Brian P Smith

122 Evaluation Brian P Smith

123 Case Designs Brian P Smith

124 Case detailing Brian P Smith

125 Project review Brian P Smith

126 Improvements to the project Brian P Smith


Download ppt "Chips Ahoy! – The path to Programmable Components Brian P Smith."

Similar presentations


Ads by Google