Discovery Lab School of Computing & Information System Florida International University » » » » » » » » » First Day Lecture Review Introduction to Embedded Systems Digital I/O Serial Communication Lunch Discovery Lab Tour Analog I/O Practice Q&A » Raspberry Pi » Python » 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. » Consumer electronics » Automobiles, » Transportation systems » Medical equipment » Wireless sensor networking » Home Automation » Better Performance » More GPIOs » Accelerometer and Capacitive Slider Sensor » One RGB LED » Open SDA (Open-standard Serial and Debug Adapter) » Login ID : team00 » Password : pw00team » Plugin FRDM 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" » DigitalOut myled(LED1); » int main() { » while(1) { » myled = 1; » wait(0.2); » myled = 0; » wait(0.2); » } » } * 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) Vertically 5 pin Connected Bus (power line) » Busser ˃ Pin (-) (e , 1) ˃ Pin (+) (f , 6) » Ground & Power line Connection Dual Motor Driver LED Voltage Regulator » Power Connection between Bread Board and FRDM Power & Ground » Power Connection between Bread Board and FRDM Power & Ground » Connect 4 LEDs » » » » White PTC5 Green PTC6 Yellow PTC10 Red PTC16 » Make LEDs blink with below patterns W G R Y » Make a led-control program which can control 4 leds with different blinking time ˃ Using if else ˃ Using switch case » » » » » » » » » » » » » » » » » » » » » » » #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 » Applications ˃ Fans ˃ Pumps ˃ Robotic Servo ˃ Stepper Motor ˃ Telecommunication #include "mbed.h" PwmOut led(LED1); int main() { while(1) { for(float p = 0.0f; p < 1.0f; p += 0.1f) { led = p; wait(0.1); } } } #include "mbed.h" PwmOut led(LED1); int main() { while(1) { for(float p = 0.0f; p < 1.0f; p += 0.1f) { led = p; wait(0.1); } } } #include "mbed.h" PwmOut led(LED1); int main() { 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 #include "mbed.h" AnalogIn ain(p19); DigitalOut led(LED1); int main() { while (1){ if(ain > 0.3) { led = 1; } else { led = 0; } } } * Try to connect Buzzer and change delay #include "mbed.h" AnalogOut signal(p18); int main() { 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 » » » » » 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 .