330 likes | 557 Views
Discovery Lab School of Computing & Information System Florida International University . Computer Science for High School . Second Day Schedule. First Day Lecture Review Introduction to E mbedded Systems Digital I/O Serial Communication Lunch Discovery Lab Tour Analog I/O
E N D
Discovery Lab School of Computing & Information System Florida International University Computer Science for High School
SecondDay Schedule First Day Lecture Review Introduction to Embedded Systems Digital I/O Serial Communication Lunch Discovery Lab Tour Analog I/O Practice Q&A
First Day Lecture Review Raspberry Pi Python
Introduction to Embedded Systems • An embedded system is a computer system with a dedicated function • Embedded systems control many devices in common use today • Processing Cores • microcontrollers or digital signal processors (DSP) • ATMega, PIC, ARM, etc.
Variety of embedded systems Consumer electronics Automobiles, Transportation systems Medical equipment Wireless sensor networking Home Automation
Arduino & mBed FRDM Better Performance More GPIOs Accelerometer and Capacitive Slider Sensor One RGB LED Open SDA (Open-standard Serial and Debug Adapter)
mBed FRDM board Development Set up Login ID : team00 Password : pw00team PluginFRDM Board to USB port on PC https://mbed.org/handbook/Windows-serial-configuration http://mbed.org/handbook/mbed-FRDM-KL25Z-Getting-Started http://mbed.org/handbook/mbed-FRDM-KL25Z-Examples
#include "mbed.h" • DigitalOutmyled(LED1); • int main() { • while(1) { • myled = 1; • wait(0.2); • myled = 0; • wait(0.2); • } • } Digital Out * Try to change wait time
The most common function of a diode is to allow an electric current to pass in one direction, while blocking current in the opposite direction • Protect circuits from high voltage surges - Avalanche diodes • Regulate voltage - Zener diodes • Electronically tune radio and TV receivers - Varicap diodes • Generate radio frequency oscillations - Tunnel diodes, Gunn diodes, IMPATT diodes • Convert light into either current or voltage - Photodiode • Produce light - Light Emitting Diodes (LED) Diode
Vertically 5 pin Connected Vertically 5 pin Connected Bus (power line) Bread Board Set up
Busser • Pin (-) (e , 1) • Pin (+) (f , 6) Bread Board Set up
Ground & Power line Connection Dual Motor Driver LED Voltage Regulator Bread Board Set up
Power Connection between Bread Board and FRDM Power & Ground Bread Board Set up
Power Connection between Bread Board and FRDM Power & Ground Bread Board Set up
Connect 4 LEDs • White PTC5 • Green PTC6 • Yellow PTC10 • Red PTC16 Bread Board Set up
Make LEDs blink with below patterns • Make a led-control program which can control 4 leds with different blinking time • Using if else • Using switch case W G R Y Try to make patterns
Serial Communcation • #include "mbed.h" • Serial pc(USBTX, USBRX); // tx, rx • PwmOut led(LED1); • float brightness = 0.0; • int main() { • pc.printf("Press 'u' to turn LED1 brightness up, 'd' to turn it down\n"); • while(1) { • char c = pc.getc(); • if((c == 'u') && (brightness < 0.5)) { • brightness += 0.01; • led = brightness; • } • if((c == 'd') && (brightness > 0.0)) { • brightness -= 0.01; • led = brightness; • } • } • } Connect to your mbed Microcontroller with a Terminal program and uses the 'u' and 'd' keys to make LED1 brighter or dimmer
What is it? • Controlling power to inertial electrical devices • Average voltage and current controlled by turning switch • What for? • Modern electronic power switches • The main advantage of PWM is that power loss in the switching devices is very low • Relatively low cost Pulse-width Modulation
Applications • Fans • Pumps • Robotic Servo • Stepper Motor • Telecommunication Pulse-width Modulation
Pulse Width Modulation #include "mbed.h" PwmOutled(LED1); intmain() { while(1) { for(float p = 0.0f; p < 1.0f; p += 0.1f) { led = p; wait(0.1); } } }
Let’s Make a Ticker #include "mbed.h" PwmOutled(LED1); intmain() { while(1) { for(float p = 0.0f; p < 1.0f; p += 0.1f) { led = p; wait(0.1); } } }
Let’s Make a Ticker #include "mbed.h" PwmOutled(LED1); intmain() { while(1) { for(float p = 0.0f; p < 1.0f; p += 0.1f) { led = p; wait(0.1); } } } * Try to connect Buzzer and change delay
Analog In #include "mbed.h" AnalogInain(p19); DigitalOutled(LED1); intmain() { while (1){ if(ain> 0.3) { led = 1; } else { led = 0; } } } * Try to connect Buzzer and change delay
Analog Out #include "mbed.h" AnalogOutsignal(p18); intmain() { while(1) { for(float i=0.0; i<1.0; i+=0.1) { signal = i; wait(0.0001); } } } * Try to connect Buzzer and change delay
Dual-H-bridge motor driver: can drive two DC motors • Motor supply voltage: 2–11 V • Logic supply voltage: 2–7 V • Output current: 1.2 A continuous (1.5 A peak) per motor • One PWM and One DigitalOut per DC motor • Logic High for Enabling This Driver Motor Driver
Input voltage: 2.7 V to 11.8 V • Fixed 5 V output with +5/-3% accuracy • Typical continuous output current: 500 mA to 1 A • The SHDN pin can be driven low (under 0.4 V) to power down the regulator . Step-Up/Down Voltage Regulator