M.A.D. Dog. Nicholas Maddy Timothy Dayley Kevin Liou. ECE 189, 2013 UC Santa Barbara Mobile Area Defense

Size: px
Start display at page:

Download "M.A.D. Dog. Nicholas Maddy Timothy Dayley Kevin Liou. ECE 189, 2013 UC Santa Barbara Mobile Area Defense"

Transcription

1 Mobile Area Defense Nicholas Maddy Timothy Dayley Kevin Liou ECE 189, 2013 UC Santa Barbara 1 24

2 Table Of Contents Page Introduction... 3 Controls, Indicators, and Interconnects... 4 Device Description IR Sensor Sonar Compass PIR Sensor WiFi Motor Controller Motor Software Description Main Loop Interrupts Graphical User

3 Introduction is an autonomous robot that was designed to navigate various office environments. It does this with the help of two infrared range detectors, a sonar range finder, and its motor s built in hall encoders. As it navigates the office space, it will periodically detect for intruders using a set of passive infrared sensors, positioned to give it nearly 360 of view. Upon detection of an animate entity, it will use its WiFi module to contact a designated computer about the intrusion. While it is sending out the alert message, it will proceed to set off its own alarm by generating a siren on a speaker and flashing highluminosity LEDs, with the intent of deterring the intruder. This project also includes a custom GUI which would allow a user to observe the current location and status of, as well as set priorities and direct the robot to various locations. 3 24

4 Controls, Indicators, and Interconnects 1. Speaker Connect a speaker here. top 1 Speaker 2 PWM0[1] 185 Digital GND 2. Sonar Connect the SRF05 Sonar range finder here. top 1 Digital GND 2 Echo Capture CAP3[1] 16 3 Trigger P0[25] 14 P1[2] P0[24] P0[25] 4 24

5 4 Digital 5V 3. IR Ranger #1 Connect a Sharp GP2D120 infrared range detector here. lef 1 Analog GND 2 Vir AD0[5] 40 3 Analog 5V P1[31] 4. Motor Encoder #1 Connect a motor encoder here. top 1 Encoder A 2 Encoder B 3 4 P0[9] 158 P0[8] 160 Digital GND Digital 5V P0[9] P0[8] 5. Motor Controller Connect the Solarbotics L298 motor controller here. top 1 Enable L PWM0[5] L1 P0[7] L2 P0[6] L3 P0[5] L4 P0[4] Enable R PWM1[1] 154 P1[7] P0[7] P0[6] P0[5] P0[4] P2[0] 6. PIR #1 Connect one of the Zilog Z8FS040 PIR sensors here. top 1 Digital GND 2 Digital 3.3V 3 Recieve RXD Transmit TXD Motion Detect P0[18] Light Gate Digital 3.3V 7 Sleep P0[21] Digital GND 9 Digital 3.3V 10 Test Header P2[30] 31 P2[9] P2[8] P0[18] P0[21] P2[30] 5 24

6 7. Motor Encoder #2 Connect a motor encoder here. top 1 Encoder A 2 Encoder B 3 4 P0[11] 100 P0[10] 98 Digital GND Digital 5V 8. Connect a power source here. top 1 Analog GND 2 Board 7.4 V Battery 9. IR_Ranger #2 Connect a Sharp GP2D120 infrared range detector here. right 1 Analog GND 2 Vir AD0[4] 42 3 Analog 5V 10. GPIO Test s These (10) pins can be used for testing and alternative operations. left 1 Digital 3.3V 2 Digital 3.3V 3 P3[31] 25 4 RTC alarm ALARM 37 5 P2[25] 54 6 P3[26] 55 7 P3[25] 56 8 Digital GND 9 Digital GND 10 Digital GND 11. Compass Connect a compass here. top Optional No Connect No Connect P0[30] 62 P0[11] P0[10] P1[30] P3[31] ALARM P2[25] P3[26] P2[25] P0[30] 6 24

7 Optional Optional I2C Data I2C Clock P0[29] P0[31] SDA0 SCL0 Digital GND No Connect Digital 5V P0[29] P0[31] P0[27] P0[28] 12. PIR#2 Connect one of the Zilog Z8FS040 PIR sensors here. left 1 Digital GND 2 Digital 3.3V 3 Receive RXD Transmit TXD Motion Detect P0[19] Light Gate Digital 3.3V 7 Sleep P0[22] Digital GND 9 Digital 3.3V 10 Test/Optional P2[31] 39 P4[29] P4[28] P0[19] P0[22] P2[31] 13. GPIO Test s These (10) pins can be used to observe test signals on the processor. left 1 P2[26] 57 2 P3[24] 58 3 P2[23] 64 4 P3[23] 65 5 P1[18] 66 6 P2[19] 67 7 P1[19] 68 8 P1[20] 70 9 P1[21] P2[20] 73 P2[26] P3[24] P2[23] P3[23] P1[18] P2[19] P1[19] P1[20] P1[21] P2[20] 14. SDRAM Test s These (10) pins are used to observe test signals from the SDRAM. left 1 Digital 3.3V 2 Digital GND 7 24

8 3 Write Enable WE 4 Row strobe RAS 5 Column strobecas 6 (static) Chip select CS0 7 Clock enable CKEOUT0 8 Clock CLKOUT0 9 Data Mask L DQMOUT0 10 Data Mask H DQMOUT P4[25] P2]17] P2[16] P4[30] P2[24] P2[18] P2[28] P2[29] 15. Reset LED This LED, when lit, confirms that the processor is reset. This LED should light when the reset button (23) is pressed, setting the reset signal low. LED #1 Reset Notify RSTOUT 29 RSTOUT 16. Test LEDs These (8) LEDs are used to visually observe test output from the processor. left #1 Display P0[0] 94 P0[0] #2 Display P0[1] 96 P0[1] #3 Display P0[12] 41 P0[12] #4 Display P0[13] 45 P0[13] #5 Display P0[14] 69 P0[14] #6 Display P0[15] 128 P0[15] #7 Display P0[16] 130 P0[16] #8 Display P0[23] 18 P0[23] 17. GPIO Test s These (20) pins can be used to observe test signals on the processor. left 1 P1[22] 74 2 P1[23] 76 3 P1[24] 78 4 P1[25] 80 5 P2[21] 81 6 P1[26] 82 7 P2[22] 85 8 P1[27] 88 9 P1[28] P2[14] P1[29] 92 P1[22] P1[23] P1[24] P1[25] P2[21] P1[26] P2[22] P1[27] P1[28] P2[14] P1[29] 8 24

9 WiFi Connect a WiFi module here. bot.left 1 2 Transmit 3 Receive 4 GPIO 5 WiFi Reset 6 GPIO 7 8 GPIO 9 GPIO 10 top.right 11 GPIO P2[15] P4[16] P2[13] P4[17] P4[18] P2[12] P2[11] P4[20] P4[19] Digital 3.3V TXD1 137 RXD1 143 WiFi GPIO8 RESET GPIO5 GPIO7 GPIO9 GPIO1 Digital GND GPIO GPIO Test s These (20) pins can be used to observe test signals on the processor. right 1 P4[21] P4[26] P4[22] P4[23] 129 P2[15] P4[16] P2[13] P5[17] P5[18] P2[12] P2[11] P4[20] P4[19] P4[21] P4[26] P4[22] P4[23] 9 24

10 P2[7] P2[6] P4[27] P2[5] P2[4] P2[3] P1[13] P2[2] P3[18] P2[1] P1[5] P1[12] P4[12] P3[19] P1[11] P3[20] P2[7] P2[6] P4[27] P2[5] P2[4] P2[3] P1[13] P2[2] P3[18] P2[1] P1[5] P1[12] P4[12] P3[19] P1[11] P3[20] 20. GPIO Test s These (10) pins can be used to observe test signals on the processor. right 1 P1[6] 171 P1[6] 2 P4[15] 173 P4[15] 3 P3[21] 175 P3[21] 4 P1[3] 177 P1[3] 5 P1[17] 178 P1[17] 6 P1[16] 180 P1[16] 7 P1[15] 182 P1[15] 8 P4[24]183 P4[24] 9 P1[14] 184 P1[14] 10 P1[10] 186 P1[10] 21. GPIO Test s These (10) pins can be used to observe test signals on the processor. right 1 P1[9] P1[8] P1[4] P4[31] P1[1] P3[22] 195 P1[9] P1[8] P1[4] P4[31] P1[1] P3[22] 10 24

11 7 8 9 P1[10] P3[27] JTAG RTCK RTCK Digital GND P1[10] P3[27] RTCK 22. Bootloader Button (right) This button, when held during reset process, the processor will enter bootloader mode. UI/Bootloader P2[10] 110 P2[10] 23. Reset Button (left) This button, when pressed, resets the processor. Board reset RESET 35 RESET 24. Bootloader/PIR #3 UART Switch *Switch has been replaced by header pins* This switch has two possible configurations. Header pins PIR Configuration RS232 Configuration 25. RS232 Connector An RS232 cable is used to connect a computer to the board here for programming and debugging purposes. top.right 1 2 Receive RXD0 204 P0[3] 3 Transmit TXD0 202 P0[2] 4 5 Digital GND

12 PIR #3 Connect one of the Zilog Z8FS040 PIR sensors here. right 1 Digital GND 2 Digital 3.3V 3 Receive RXD Transmit TXD Motion Detect P0[17] Light Gate Digital 3.3V 7 Sleep P0[20] Digital GND 9 Digital 3.3V 10 Test/Optional P2[27] 47 P0[3] P0[2] P0[17] P0[20] P2[27] 27. GPIO Test s These (10) pins can be used to observe test signals on the processor. right 1 JTAG TDO 2 2 JTAG TDI 4 3 Test/Optional P3[28] 5 4 JTAG TMS 6 5 JTAG TRST 8 6 JTAG DBGEN 9 7 JTAG TCK 10 8 Test/Optional P3[29] 11 9 Audio? AOUT Test/Optional P3[30] 19 P3[28] P3[29] P0[26] P3[30] 12 24

13 Device Description IR Sensor The IR sensors we used were the Sharp GP2D120 Infrared Range Finders. They operated at 5 volts and constantly outputs an analog voltage that approximated O(1/distance). The output was at its maximum of about 3 volts at a distance of roughly 3 centimeters, dropping to around 0.2 volts. This device was used to provide course alterations that would keep from running into an obstacle from the side or allowing it to navigate along the wall at a safe but readable distance. We used these IR sensors in particular to create a bouncing effect off a wall M.A.D. Dog is approaching from the side, while also obtaining data for the map. The response time is extremely fast and we were able to use these with the sonar in order to avoid corners or other odd shaped obstacles. Sonar The sonar that was used was a Devantech SRF05 sonar range finder. This device operates by emitting a highfrequency sound pulse, setting its echo pulse pin high when at the start and back low when either 30 ms has passed or the echo returns. This happens when a falling edge signal is seen on the input trigger pin of the module. The echo pulse can be analyzed using a capture timer 13 24

14 on the processor in order to determine the amount of time it took the pulse to return, and thus how far the nearest obstruction is to the front of. While an IR sensor would have sufficed for this operation, we decided to use a sonar so that we can read objects that are farther away from, therefore giving us time to make decisions. The sonar would work together with the IR sensors in order to completely avoid any obstacle in its way and be able to map out its current environment. Compass The LSM303DLHC can provide our robot with a triaxial reading using its magnetometer, thus providing with a sense of direction. This uses an I2C interface that operates on an interrupt basis. Additionally, it has an accelerometer which would allow to determine if it is, or isn t, moving the way it intends. If runs into a wall somehow and our other sensors are not working properly, the compass would be able to figure out that the motors are moving but isn t, alerting the system of a faulty state. This module also adds another layer in tracking and mapping. We use the compass to confirm turn radius and distance traveled, and with the map, we can easily traverse our environment without having to rely on the other modules heavily

15 PIR Sensor uses three ZEPIR0AxS02MODG Passive Infrared Sensors for intruder detection. These three modules are placed in strategic places around the robots tower in order to provide them with an unobstructed view with nearly 360 of detection. This device uses a serial interface connected to uart0, uart2, and uart3, which allows for configuration and status messages, as well as the use of a motion detect pin that goes low when motion is detected. As these are passive infrared sensors, must come to a stop before beginning detection, otherwise it will set itself off. This is a feature that would be a good place to improve upon, should this robot be upgraded. WiFi The WiFi module on is used to communicate commands and data back to the server in order to keep the server updated while is running. This module automatically turns on, and has a configuration file that is set up to work with a specific router with a specific SSID and password. At the time of this project the SSID was SwellAlert and the password was swellalert. In order to change this, you need to access the WiFi command mode using UART and use the commands: 15 24

16 set wlan ssid [the SSID of your WiFi network] set wlan phrase [your wpa password] Also make sure that you are using the WPA2PSK WLAN authentication type. If there is something wrong with the connection of the WiFi to the server then you can read more about the WiFi commands using Roving Networks WiFly Command Reference, Advanced Features & Applications manual. We also set up a simple TCP server using Java with a user friendly GUI. All the user has to do is open the GUI using either Eclipse or through the Window's command prompt and type: java MADDogGUI If using the command prompt does not immediately work, then the user should make sure they are in the correct directory and that the java file has been previously compiled. With the GUI now running, the user just has to click on the button to open the desired port number and M.A.D. Dog should be able to connect using its WiFi functions. When we made this robot, we used the IP address and port number 4845 to run all our tests, and the software for M.A.D. Dog should have that port number hard coded into it. To change that number, all you would need to do is go in the WiFi initialization function and find where the command open xxxx is and change 'xxxx' to the port number you used with the server. We did not accomplish much on the robot side of the WiFi, although we left a lot of room for improvement open and it should not be to difficult to write more code to incorporate the server more regularly. We wanted to make our robot turn on through a WiFi command, and also be able to be controlled remotely from the server so that someone could tell where to go in it's patrol area

17 Motor Controller The motor controller we used was the Solarbotics L298. This motor controller acts as the gateway between the processor and the motors (the motors cannot be controlled directly by the processor). The motor controller uses PWM to control the speed of the motors and GPIO to control the direction of the motors. The PWM is applied directly to the motors in order to maintain the desired speed. The GPIO controls the forward and backward direction of the left and right motor, ultimately giving it full control to go forwards, backwards, and turn left and right. There are 10 total interconnects used to interface the motor controller with the motors, encoders, and the board. The two female header pins are used for communication between the board and motor controller, and the two blue connectors on either side of the controller are used to power the motors. The blue connector in the middle of the motor controller is used to power the motor controller and through it, the motors

18 Motors is driven using two 6 V Pololu gearmotors with hall encoders. These, as mentioned above, are controlled by our Solarbotics L298 motor controller. The motors also have a direct interface with the board providing the processor with the motors encoder information. This allows to keep track of how far it has moved or turned. There are a total of five wires coming from each motor. Two are for power and are connected directly to the motor controller, and the other three are PWM and encoder information that are connected to molex connectors which snap onto the top of our board (as indicated in Controls, Indicators, and Interconnects). We used two 7.4V with 2200mAh to power our motor controller and board separately. It is extremely important that the grounds of the batteries are connected together, tying all the grounds together. When connecting the batteries, it is also important to not let the leads come in contact with the chassis or each other

19 Software Description has a large number of peripherals and controls that must be used concurrently in order to perform its functions. In order to achieve this, the sampling of sensors and the handling of communication are interrupt based while the main loop handles navigation and operation. Additionally, a GUI was setup to provide the security personnel an interface which provides location, error, and alert status. Each of these sections will be explained, followed by an explanation of the various functions being used. Main loop: The code that was submitted is a demo version which was designed to demonstrate the robots movement and alert functionalities. This demo sets the robot to move forward in a straight line, avoiding forward obstacles and maintaining the straightness using its motor encoders, for a set distance. It then turns 90 to the right and continues forward a new distance. Once it reaches its destination, it enters intruder detection mode triggering an alarm sequence and activating its highluminosity lights. The GUI was not interfaced with the demo as the server was not available to display, however there are functions available to communicate between the two systems. (simply calling uart1puts( string ) will transmit to the server after its initialization.) This section of code demonstrates the parts of the intended software structure, where M.A.D. dog will navigate to various points along a route to its destination. The motor drive speed is determined using a PID control loop with the front sonar module, allowing it to stop and reverse away from objects in front of the device. The encoders also provide a PID with a smaller level of influence in order to keep the robot straight while also keeping track of how far the robot has moved. During right and left turns, the encoder target difference is set to the degree of the turn and used from that point in order to correct for under and overshoots once the it starts moving forward in that direction. The following PID functions are meant to provide calculated pwm adjustments according to the sensors read. void pid_init(void); Initialize the tuning variables for each sensor s PID calculation. void pid_update(pid* sensor); Update integral and derivative terms and provide the PWM adjustment for the motors according to the sensor passed in the parameters list. The functions below are used to handle detection and alert sequences

20 void init_pir(void); This function will configure the PIRs to detect mode and will block if any of the PIRs are not connected. void detect_pir(int time); This functionality will set M.A.D. dog to watch its PIRs until a timer set to the passed in time expires. If it determines that any of the PIRs has an interrupt, then it will begin the alert sequence in the following function. void alarm(int time); This function will activate the highluminosity LEDs while sounding its alarm for the amount of time specified. Next, are the uart interrupt initialization functions and handlers. The functions provided for uart0 in the original hello world program were replicated for each of the other uarts as well. void UART0IntInit(void); void UART1IntInit(void); These functions will configure the board to call the Interrupt service routines whenever there is information in the receive buffer. The next set of functions used in the main loop are the motor control functions. void motor_set(int Lspeed, int Rspeed); This will set the speed and direction of both motors to the desired speeds(pulse widths). This uses the void pwm_set(int pwm0, int pwm1); which sets each of the PWMs at the same time. void turn_left(); and void turn_right(); These functions are designed to turn the robot 90 either left or right, and keeping this encoder difference so that straight is in that direction from then on. This allows any mistakes in the turn to be corrected once the robot continues forward. The following functions are designed to configure the peripherals in question for operation. void adc_init(); void dac_init(); void pwm_init(); The program can use adc_sample(char chan); to sample the desired adc channel, though this is done in the interrupt section below. Interrupts: The various sensors and peripherals used on our robot are configured to provide information as it becomes available or be controlled on a timed basis. The encoders use edge triggered interrupts to keep track of the rising and falling edges of the encoder bits allowing it to 20 24

21 update the encoder count for each motor asynchronously. The WiFi module also uses interrupts to grab data from the uart buffer as it becomes available. s other sensors are controlled using a timer interrupt in order to trigger sample acquisitions. The timer will interrupt at the start to trigger a sonar echo, resulting in two edge triggered interrupts that capture the start and return of the echo allowing M.A.D. dog to determine forward distance. The next timer interrupt samples both of the IR range detectors in order to provide distance data on the sides of M.A.D. dog. Each of these interrupts update globally accessible variables that are used for PID controls in the main loop. Next are the functions used to set up timed interrupts and handle sampling of the sensors. void prox_sense_init(void); This function will set up a timer with two match registers (two interrupts). The two interrupts will switch the handler from one to the other so that the one timer can have two functionalities. The first interrupt is to trigger the sonar echo and capture. void snr_echo_trig(void); This function will clear any recent sonar calculations that weren t completed and set the sonar trigger pin low, which will trigger the sonar range detection. It will then switch the interrupt handler to void sensor_sample(void) for the second timer interrupt. void snr_echo_isr(void); This function will capture the rising edge and then the falling edge time, where it will calculate the difference and update the sonars position variable (snr.position) void sensor_sample(void); In this function, the two infrared range finders are sampled using int adc_sample(chan). The values are stored in the ir_l.position and ir_r.position variables. It will also reset the timer and switch the interrupt handler back to snr_echo_trig(void) for the first interrupt. Another source of interrupts key to this design is the motor encoders. The following two functions are used to asynchronously keep track of the wheel s movements. void setup_mtr_int(void); This function will set up the interrupts and handler for the motor encoders which will keep track of the robots movement. void gpioisr(void); This function will trigger on every rising and falling edge of either encoder bits and will determine which wheel has moved and which direction it has moved in. It will then clear the interrupt and increment/decrement that wheels counter variable. (r_mtr_cnt or l_mtr_cnt)

22 Lastly, the uart communication interrupt service routines. These were not yet integrated into our design, though they are available to use. The intention was to allow communication to proceed without blocking the processor in order to retrieve all of the data coming in with a 9600 baud. void UART0ISR (void); void UART1ISR (void); Each of these functions has an associated circular char buffer which will hold data for the main loop to use. This will set the data available flag in the MAD_flags global variable. At present, both of these functions will put the character to the screen over uart

23 Graphical User : has the ability to communicate with the Graphical User implemented in the server through the Roving Networks WiFi module. The GUI provides the functionality needed to receive and send messages to, and provides an interactive map of the robot s current environment. The interactive map is a two dimensional grid of clickable buttons that visually represents the environment that is current patrolling. Walls and obstacles are represented by grey icons, and open floor is represented as white icons. s location is represented by a red dot. As the robot patrols, it continuously sends updates to the server with changes in its location. These changes are reflected in real time as the red dot travels across the grid. Should the user wish to take control over s next destination, he may click on any white button, and a green dot will appear where the user has selected. The coordinates will be sent to, who will then proceed to travel to the selected location in lieu of it s own target. The GUI also provides the ability to manually input messages to and transmit them. These transmissions are recorded in the message log of the GUI. can be programmed to accept many different messages to call a variety of functions. Some of these functions include starting and stopping the robot, to modifying some of the variables that control it. Currently the robot is only accepting messages in the format: [PID_Sensor] [PID_Variable] [Value] An example of this usage is, ir_r position 200. By inputting this command, the variable ir_r.position is assigned a value of 200, modifying the behavior of the PID feedback controller. This allowed for dynamic reprogramming of the robot s motor behaviors, which simplified the fine tuning and measuring aspects of testing PID values. Messages sent from are received by the server and are displayed in the message log on the GUI. Messages include location, status, and intruder detection updates, and much more functionality can be implemented with this regard. The relevant files for the GUI and server are: Server.java This file contains the functionality for the server. It is a multithreaded server, capable of communicating with multiple clients at once. This allows for the potential for one server to manage multiple s. It contains the functionality to receive connections and send and receive messages. MadDogGUI.java This file contains the GUI for the server. It contains all of the layout components of the GUI, and communicates through the server

24 CapstoneMap.java This file contains a simple class definition of the map layout of the HFH 4th floor CE lab. It contains the coordinates of the ground, the walls, and the tables of the lab. This class is called when the GUI is created, loaded into the two dimensional button grid. To compile and run the server and GUI, the three files above can be compiled in Eclipse, by running MadDogGui.java

Critical Design Review: M.A.D. Dog. Nicholas Maddy Timothy Dayley Kevin Liou

Critical Design Review: M.A.D. Dog. Nicholas Maddy Timothy Dayley Kevin Liou Critical Design Review: M.A.D. Dog Nicholas Maddy Timothy Dayley Kevin Liou Project Description M.A.D. Dog is an autonomous robot with the following functionalities: - Map and patrol an office environment.

More information

Brian Hanna Meteor IP 2007 Microcontroller

Brian Hanna Meteor IP 2007 Microcontroller MSP430 Overview: The purpose of the microcontroller is to execute a series of commands in a loop while waiting for commands from ground control to do otherwise. While it has not received a command it populates

More information

3.3V regulator. JA H-bridge. Doc: page 1 of 7

3.3V regulator. JA H-bridge. Doc: page 1 of 7 Cerebot Reference Manual Revision: February 9, 2009 Note: This document applies to REV B-E of the board. www.digilentinc.com 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The

More information

Introduction. Theory of Operation

Introduction. Theory of Operation Mohan Rokkam Page 1 12/15/2004 Introduction The goal of our project is to design and build an automated shopping cart that follows a shopper around. Ultrasonic waves are used due to the slower speed of

More information

Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor

Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor Recommended Due Date: By your lab time the week of February 12 th Possible Points: If checked off before

More information

GE423 Laboratory Assignment 6 Robot Sensors and Wall-Following

GE423 Laboratory Assignment 6 Robot Sensors and Wall-Following GE423 Laboratory Assignment 6 Robot Sensors and Wall-Following Goals for this Lab Assignment: 1. Learn about the sensors available on the robot for environment sensing. 2. Learn about classical wall-following

More information

Experiment 4.B. Position Control. ECEN 2270 Electronics Design Laboratory 1

Experiment 4.B. Position Control. ECEN 2270 Electronics Design Laboratory 1 Experiment 4.B Position Control Electronics Design Laboratory 1 Procedures 4.B.1 4.B.2 4.B.3 4.B.4 Read Encoder with Arduino Position Control by Counting Encoder Pulses Demo Setup Extra Credit Electronics

More information

Autonomous Following RObot Critical Design Review

Autonomous Following RObot Critical Design Review Autonomous Following RObot Critical Design Review James Tse (Leader) Wei Dai Travis Frecker Peter Verlangieri Professor John Johnson ECE 189A Fall 2012 Critical Design Review: Project Description A robot

More information

Tarocco Closed Loop Motor Controller

Tarocco Closed Loop Motor Controller Contents Safety Information... 3 Overview... 4 Features... 4 SoC for Closed Loop Control... 4 Gate Driver... 5 MOSFETs in H Bridge Configuration... 5 Device Characteristics... 6 Installation... 7 Motor

More information

Project Final Report: Directional Remote Control

Project Final Report: Directional Remote Control Project Final Report: by Luca Zappaterra xxxx@gwu.edu CS 297 Embedded Systems The George Washington University April 25, 2010 Project Abstract In the project, a prototype of TV remote control which reacts

More information

Microwave click PID: MIKROE Weight: 30 g

Microwave click PID: MIKROE Weight: 30 g Microwave click PID: MIKROE-2781 Weight: 30 g Microwave click detects movement, thanks to the PD-V11 a 24GHz microwave motion sensor. The typical use for Microwave click is a proximity or motion detector

More information

ECE 477 Digital Systems Senior Design Project Rev 8/09. Homework 5: Theory of Operation and Hardware Design Narrative

ECE 477 Digital Systems Senior Design Project Rev 8/09. Homework 5: Theory of Operation and Hardware Design Narrative ECE 477 Digital Systems Senior Design Project Rev 8/09 Homework 5: Theory of Operation and Hardware Design Narrative Team Code Name: _ATV Group No. 3 Team Member Completing This Homework: Sebastian Hening

More information

Project Name Here CSEE 4840 Project Design Document. Thomas Chau Ben Sack Peter Tsonev

Project Name Here CSEE 4840 Project Design Document. Thomas Chau Ben Sack Peter Tsonev Project Name Here CSEE 4840 Project Design Document Thomas Chau tc2165@columbia.edu Ben Sack bs2535@columbia.edu Peter Tsonev pvt2101@columbia.edu Table of contents: Introduction Page 3 Block Diagram Page

More information

Mars Rover: System Block Diagram. November 19, By: Dan Dunn Colin Shea Eric Spiller. Advisors: Dr. Huggins Dr. Malinowski Mr.

Mars Rover: System Block Diagram. November 19, By: Dan Dunn Colin Shea Eric Spiller. Advisors: Dr. Huggins Dr. Malinowski Mr. Mars Rover: System Block Diagram November 19, 2002 By: Dan Dunn Colin Shea Eric Spiller Advisors: Dr. Huggins Dr. Malinowski Mr. Gutschlag System Block Diagram An overall system block diagram, shown in

More information

Design Project Introduction DE2-based SecurityBot

Design Project Introduction DE2-based SecurityBot Design Project Introduction DE2-based SecurityBot ECE2031 Fall 2017 1 Design Project Motivation ECE 2031 includes the sophomore-level team design experience You are developing a useful set of tools eventually

More information

Training Schedule. Robotic System Design using Arduino Platform

Training Schedule. Robotic System Design using Arduino Platform Training Schedule Robotic System Design using Arduino Platform Session - 1 Embedded System Design Basics : Scope : To introduce Embedded Systems hardware design fundamentals to students. Processor Selection

More information

EE 314 Spring 2003 Microprocessor Systems

EE 314 Spring 2003 Microprocessor Systems EE 314 Spring 2003 Microprocessor Systems Laboratory Project #9 Closed Loop Control Overview and Introduction This project will bring together several pieces of software and draw on knowledge gained in

More information

Sten-Bot Robot Kit Stensat Group LLC, Copyright 2013

Sten-Bot Robot Kit Stensat Group LLC, Copyright 2013 Sten-Bot Robot Kit Stensat Group LLC, Copyright 2013 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and documentation. There is a 90 day warranty for the

More information

Citrus Circuits Fall Workshop Series. Roborio and Sensors. Paul Ngo and Ellie Hass

Citrus Circuits Fall Workshop Series. Roborio and Sensors. Paul Ngo and Ellie Hass Citrus Circuits Fall Workshop Series Roborio and Sensors Paul Ngo and Ellie Hass Introduction to Sensors Sensor: a device that detects or measures a physical property and records, indicates, or otherwise

More information

TCSS 372 Laboratory Project 2 RS 232 Serial I/O Interface

TCSS 372 Laboratory Project 2 RS 232 Serial I/O Interface 11/20/06 TCSS 372 Laboratory Project 2 RS 232 Serial I/O Interface BACKGROUND In the early 1960s, a standards committee, known as the Electronic Industries Association (EIA), developed a common serial

More information

Debugging a Boundary-Scan I 2 C Script Test with the BusPro - I and I2C Exerciser Software: A Case Study

Debugging a Boundary-Scan I 2 C Script Test with the BusPro - I and I2C Exerciser Software: A Case Study Debugging a Boundary-Scan I 2 C Script Test with the BusPro - I and I2C Exerciser Software: A Case Study Overview When developing and debugging I 2 C based hardware and software, it is extremely helpful

More information

Embedded Robotics. Software Development & Education Center

Embedded Robotics. Software Development & Education Center Software Development & Education Center Embedded Robotics Robotics Development with ARM µp INTRODUCTION TO ROBOTICS Types of robots Legged robots Mobile robots Autonomous robots Manual robots Robotic arm

More information

Unit-6 PROGRAMMABLE INTERRUPT CONTROLLERS 8259A-PROGRAMMABLE INTERRUPT CONTROLLER (PIC) INTRODUCTION

Unit-6 PROGRAMMABLE INTERRUPT CONTROLLERS 8259A-PROGRAMMABLE INTERRUPT CONTROLLER (PIC) INTRODUCTION M i c r o p r o c e s s o r s a n d M i c r o c o n t r o l l e r s P a g e 1 PROGRAMMABLE INTERRUPT CONTROLLERS 8259A-PROGRAMMABLE INTERRUPT CONTROLLER (PIC) INTRODUCTION Microcomputer system design requires

More information

Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett

Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett Anatomy of a Program Programs written for a microcontroller have a fairly repeatable format. Slight variations exist

More information

Today s Menu. Near Infrared Sensors

Today s Menu. Near Infrared Sensors Today s Menu Near Infrared Sensors CdS Cells Programming Simple Behaviors 1 Near-Infrared Sensors Infrared (IR) Sensors > Near-infrared proximity sensors are called IRs for short. These devices are insensitive

More information

Embedded Systems & Robotics (Winter Training Program) 6 Weeks/45 Days

Embedded Systems & Robotics (Winter Training Program) 6 Weeks/45 Days Embedded Systems & Robotics (Winter Training Program) 6 Weeks/45 Days PRESENTED BY RoboSpecies Technologies Pvt. Ltd. Office: W-53G, Sector-11, Noida-201301, U.P. Contact us: Email: stp@robospecies.com

More information

Lab 7 Remotely Operated Vehicle v2.0

Lab 7 Remotely Operated Vehicle v2.0 Lab 7 Remotely Operated Vehicle v2.0 ECE 375 Oregon State University Page 51 Objectives Use your knowledge of computer architecture to create a real system as a proof of concept for a possible consumer

More information

Lab 1: Testing and Measurement on the r-one

Lab 1: Testing and Measurement on the r-one Lab 1: Testing and Measurement on the r-one Note: This lab is not graded. However, we will discuss the results in class, and think just how embarrassing it will be for me to call on you and you don t have

More information

New Sensors for Ridgesoft Robot

New Sensors for Ridgesoft Robot New Sensors for Ridgesoft Robot Joanne Sirois CEN 3213 Embedded Systems Programming Dr. Janusz Zalewski FGCU April 9, 2008 Sirois, 2 1. Introduction 1.1 Basics of IntelliBrain TM Robot The IntelliBrain

More information

ZKit-51-RD2, 8051 Development Kit

ZKit-51-RD2, 8051 Development Kit ZKit-51-RD2, 8051 Development Kit User Manual 1.1, June 2011 This work is licensed under the Creative Commons Attribution-Share Alike 2.5 India License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.5/in/

More information

The light sensor, rotation sensor, and motors may all be monitored using the view function on the RCX.

The light sensor, rotation sensor, and motors may all be monitored using the view function on the RCX. Review the following material on sensors. Discuss how you might use each of these sensors. When you have completed reading through this material, build a robot of your choosing that has 2 motors (connected

More information

Portland State University MICROCONTROLLERS

Portland State University MICROCONTROLLERS PH-315 MICROCONTROLLERS INTERRUPTS and ACCURATE TIMING I Portland State University OBJECTIVE We aim at becoming familiar with the concept of interrupt, and, through a specific example, learn how to implement

More information

EdPy app documentation

EdPy app documentation EdPy app documentation This document contains a full copy of the help text content available in the Documentation section of the EdPy app. Contents Ed.List()... 4 Ed.LeftLed()... 5 Ed.RightLed()... 6 Ed.ObstacleDetectionBeam()...

More information

Standard single-purpose processors: Peripherals

Standard single-purpose processors: Peripherals 3-1 Chapter 3 Standard single-purpose processors: Peripherals 3.1 Introduction A single-purpose processor is a digital system intended to solve a specific computation task. The processor may be a standard

More information

DASL 120 Introduction to Microcontrollers

DASL 120 Introduction to Microcontrollers DASL 120 Introduction to Microcontrollers Lecture 2 Introduction to 8-bit Microcontrollers Introduction to 8-bit Microcontrollers Introduction to 8-bit Microcontrollers Introduction to Atmel Atmega328

More information

ESE 350 Microcontroller Laboratory Lab 5: Sensor-Actuator Lab

ESE 350 Microcontroller Laboratory Lab 5: Sensor-Actuator Lab ESE 350 Microcontroller Laboratory Lab 5: Sensor-Actuator Lab The purpose of this lab is to learn about sensors and use the ADC module to digitize the sensor signals. You will use the digitized signals

More information

MD04-24Volt 20Amp H Bridge Motor Drive

MD04-24Volt 20Amp H Bridge Motor Drive MD04-24Volt 20Amp H Bridge Motor Drive Overview The MD04 is a medium power motor driver, designed to supply power beyond that of any of the low power single chip H-Bridges that exist. Main features are

More information

The Robot Builder's Shield for Arduino

The Robot Builder's Shield for Arduino The Robot Builder's Shield for Arduino by Ro-Bot-X Designs Introduction. The Robot Builder's Shield for Arduino was especially designed to make building robots with Arduino easy. The built in dual motors

More information

Lab 2.2 Custom slave programmable interface

Lab 2.2 Custom slave programmable interface Lab 2.2 Custom slave programmable interface Introduction In the previous labs, you used a system integration tool (Qsys) to create a full FPGA-based system comprised of a processor, on-chip memory, a JTAG

More information

Arduino Control of Tetrix Prizm Robotics. Motors and Servos Introduction to Robotics and Engineering Marist School

Arduino Control of Tetrix Prizm Robotics. Motors and Servos Introduction to Robotics and Engineering Marist School Arduino Control of Tetrix Prizm Robotics Motors and Servos Introduction to Robotics and Engineering Marist School Motor or Servo? Motor Faster revolution but less Power Tetrix 12 Volt DC motors have a

More information

EVDP610 IXDP610 Digital PWM Controller IC Evaluation Board

EVDP610 IXDP610 Digital PWM Controller IC Evaluation Board IXDP610 Digital PWM Controller IC Evaluation Board General Description The IXDP610 Digital Pulse Width Modulator (DPWM) is a programmable CMOS LSI device, which accepts digital pulse width data from a

More information

GNSS 5 click PID: MIKROE Weight: 30 g

GNSS 5 click PID: MIKROE Weight: 30 g GNSS 5 click PID: MIKROE-2670 Weight: 30 g Determine your current position with GNSS 5 click. It carries the NEO M8N GNSS receiver module from u blox. GNSS 5 click is designed to run on a 3.3V power supply.

More information

Servo click. PID: MIKROE 3133 Weight: 32 g

Servo click. PID: MIKROE 3133 Weight: 32 g Servo click PID: MIKROE 3133 Weight: 32 g Servo click is a 16-channel PWM servo driver with the voltage sensing circuitry. It can be used to simultaneously control 16 servo motors, each with its own programmable

More information

The µbotino Microcontroller Board

The µbotino Microcontroller Board The µbotino Microcontroller Board by Ro-Bot-X Designs Introduction. The µbotino Microcontroller Board is an Arduino compatible board for small robots. The 5x5cm (2x2 ) size and the built in 3 pin connectors

More information

Designing an Embedded System for Autonomous Building Map Exploration Robot

Designing an Embedded System for Autonomous Building Map Exploration Robot Designing an Embedded System for Autonomous Building Map Exploration Robot V. Ramya Assist. Prof, Dept of CSE Annamalai University Annamalai Nagar T. Akilan Dept. of CSE Annamalai University Annamalai

More information

Master Thesis Presentation Future Electric Vehicle on Lego By Karan Savant. Guide: Dr. Kai Huang

Master Thesis Presentation Future Electric Vehicle on Lego By Karan Savant. Guide: Dr. Kai Huang Master Thesis Presentation Future Electric Vehicle on Lego By Karan Savant Guide: Dr. Kai Huang Overview Objective Lego Car Wifi Interface to Lego Car Lego Car FPGA System Android Application Conclusion

More information

Internet of Things (Winter Training Program) 6 Weeks/45 Days

Internet of Things (Winter Training Program) 6 Weeks/45 Days (Winter Training Program) 6 Weeks/45 Days PRESENTED BY RoboSpecies Technologies Pvt. Ltd. Office: W-53g, Sec- 11, Noida, UP Contact us: Email: stp@robospecies.com Website: www.robospecies.com Office: +91-120-4245860

More information

CALIFORNIA SOFTWARE LABS

CALIFORNIA SOFTWARE LABS Pulse Shaping on the Palm Pilot With serial, infrared and remote control applications CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite 100

More information

More about the ICs in Snap Circuits

More about the ICs in Snap Circuits More about the ICs in Snap Circuits Although Snap Circuits includes several parts that are called integrated circuits, they are actually modules containing a number of parts. The modules contain specialized

More information

Hello, and welcome to this presentation of the STM32 Infrared Timer. Features of this interface allowing the generation of various IR remote control

Hello, and welcome to this presentation of the STM32 Infrared Timer. Features of this interface allowing the generation of various IR remote control Hello, and welcome to this presentation of the STM32 Infrared Timer. Features of this interface allowing the generation of various IR remote control protocols will be presented. 1 The Infrared Timer peripheral

More information

Using Z8 Encore! XP MCU for RMS Calculation

Using Z8 Encore! XP MCU for RMS Calculation Application te Using Z8 Encore! XP MCU for RMS Calculation Abstract This application note discusses an algorithm for computing the Root Mean Square (RMS) value of a sinusoidal AC input signal using the

More information

Hello, and welcome to this presentation of the STM32L4 comparators. It covers the main features of the ultra-lowpower comparators and some

Hello, and welcome to this presentation of the STM32L4 comparators. It covers the main features of the ultra-lowpower comparators and some Hello, and welcome to this presentation of the STM32L4 comparators. It covers the main features of the ultra-lowpower comparators and some application examples. 1 The two comparators inside STM32 microcontroller

More information

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet Lab : Computer Engineering Software Perspective Sign-Off Sheet NAME: NAME: DATE: Sign-Off Milestone TA Initials Part 1.A Part 1.B Part.A Part.B Part.C Part 3.A Part 3.B Part 3.C Test Simple Addition Program

More information

ECE 511: FINAL PROJECT REPORT GROUP 7 MSP430 TANK

ECE 511: FINAL PROJECT REPORT GROUP 7 MSP430 TANK ECE 511: FINAL PROJECT REPORT GROUP 7 MSP430 TANK Team Members: Andrew Blanford Matthew Drummond Krishnaveni Das Dheeraj Reddy 1 Abstract: The goal of the project was to build an interactive and mobile

More information

Quantizer step: volts Input Voltage [V]

Quantizer step: volts Input Voltage [V] EE 101 Fall 2008 Date: Lab Section # Lab #8 Name: A/D Converter and ECEbot Power Abstract Partner: Autonomous robots need to have a means to sense the world around them. For example, the bumper switches

More information

Measuring Distance Using Sound

Measuring Distance Using Sound Measuring Distance Using Sound Distance can be measured in various ways: directly, using a ruler or measuring tape, or indirectly, using radio or sound waves. The indirect method measures another variable

More information

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs 10-11 Introduction to Arduino In this lab we will introduce the idea of using a microcontroller as a tool for controlling

More information

EEL5666C IMDL Spring 2006 Student: Andrew Joseph. *Alarm-o-bot*

EEL5666C IMDL Spring 2006 Student: Andrew Joseph. *Alarm-o-bot* EEL5666C IMDL Spring 2006 Student: Andrew Joseph *Alarm-o-bot* TAs: Adam Barnett, Sara Keen Instructor: A.A. Arroyo Final Report April 25, 2006 Table of Contents Abstract 3 Executive Summary 3 Introduction

More information

Servo Sequencer Servo Robot motion controller & General Purpose microcontroller board

Servo Sequencer Servo Robot motion controller & General Purpose microcontroller board Robot Construction Component Servo Sequencer Servo Robot motion controller & General Purpose microcontroller board The servo sequencer is in reality a general purpose reprogrammable microcontroller board

More information

Lab 5: Inverted Pendulum PID Control

Lab 5: Inverted Pendulum PID Control Lab 5: Inverted Pendulum PID Control In this lab we will be learning about PID (Proportional Integral Derivative) control and using it to keep an inverted pendulum system upright. We chose an inverted

More information

WWVB Receiver/Decoder With Serial BCD or ASCII Interface DESCRIPTION FEATURES APPLICATIONS

WWVB Receiver/Decoder With Serial BCD or ASCII Interface DESCRIPTION FEATURES APPLICATIONS Linking computers to the real world WWVB Receiver/Decoder With Serial BCD or ASCII Interface DESCRIPTION General The Model 321BS provides computer readable time and date information based on the United

More information

Final Report. by Mingwei Liu. Robot Name: Danner

Final Report. by Mingwei Liu. Robot Name: Danner ! " Final Report by Mingwei Liu Robot Name: Danner Course Name: EEL5666 Intelligent Machine Design Lab Instructors: Dr. A. Antonio Arroyo, Dr. Eric M. Schwartz TAs: Devin Hughes, Tim Martin, Ryan Stevens,

More information

Embedded Controls Final Project. Tom Hall EE /07/2011

Embedded Controls Final Project. Tom Hall EE /07/2011 Embedded Controls Final Project Tom Hall EE 554 12/07/2011 Introduction: The given task was to design a system that: -Uses at least one actuator and one sensor -Determine a controlled variable and suitable

More information

DESCRIPTION DOCUMENT FOR WIFI / BT HEAVY DUTY RELAY BOARD HARDWARE REVISION 0.1

DESCRIPTION DOCUMENT FOR WIFI / BT HEAVY DUTY RELAY BOARD HARDWARE REVISION 0.1 DESCRIPTION DOCUMENT FOR WIFI / BT HEAVY DUTY RELAY BOARD HARDWARE REVISION 0.1 Department Name Signature Date Author Reviewer Approver Revision History Rev Description of Change A Initial Release Effective

More information

Electronics Design Laboratory Lecture #9. ECEN 2270 Electronics Design Laboratory

Electronics Design Laboratory Lecture #9. ECEN 2270 Electronics Design Laboratory Electronics Design Laboratory Lecture #9 Electronics Design Laboratory 1 Notes Finishing Lab 4 this week Demo requires position control using interrupts and two actions Rotate a given angle Move forward

More information

UNIT 4 VOCABULARY SKILLS WORK FUNCTIONS QUIZ. A detailed explanation about Arduino. What is Arduino? Listening

UNIT 4 VOCABULARY SKILLS WORK FUNCTIONS QUIZ. A detailed explanation about Arduino. What is Arduino? Listening UNIT 4 VOCABULARY SKILLS WORK FUNCTIONS QUIZ 4.1 Lead-in activity Find the missing letters Reading A detailed explanation about Arduino. What is Arduino? Listening To acquire a basic knowledge about Arduino

More information

DESCRIPTION DOCUMENT FOR WIFI SINGLE DIMMER ONE AMPERE BOARD HARDWARE REVISION 0.3

DESCRIPTION DOCUMENT FOR WIFI SINGLE DIMMER ONE AMPERE BOARD HARDWARE REVISION 0.3 DOCUMENT NAME: DESIGN DESCRIPTION, WIFI SINGLE DIMMER BOARD DESCRIPTION DOCUMENT FOR WIFI SINGLE DIMMER ONE AMPERE BOARD HARDWARE REVISION 0.3 Department Name Signature Date Author Reviewer Approver Revision

More information

Hello, and welcome to this presentation of the STM32G0 digital-to-analog converter. This block is used to convert digital signals to analog voltages

Hello, and welcome to this presentation of the STM32G0 digital-to-analog converter. This block is used to convert digital signals to analog voltages Hello, and welcome to this presentation of the STM32G0 digital-to-analog converter. This block is used to convert digital signals to analog voltages which can interface with the external world. 1 The STM32G0

More information

Part 1: Determining the Sensors and Feedback Mechanism

Part 1: Determining the Sensors and Feedback Mechanism Roger Yuh Greg Kurtz Challenge Project Report Project Objective: The goal of the project was to create a device to help a blind person navigate in an indoor environment and avoid obstacles of varying heights

More information

the Board of Education

the Board of Education the Board of Education Voltage regulator electrical power (V dd, V in, V ss ) breadboard (for building circuits) power jack digital input / output pins 0 to 15 reset button Three-position switch 0 = OFF

More information

Robotics & Embedded Systems (Summer Training Program) 4 Weeks/30 Days

Robotics & Embedded Systems (Summer Training Program) 4 Weeks/30 Days (Summer Training Program) 4 Weeks/30 Days PRESENTED BY RoboSpecies Technologies Pvt. Ltd. Office: D-66, First Floor, Sector- 07, Noida, UP Contact us: Email: stp@robospecies.com Website: www.robospecies.com

More information

Quick Start Guide. TWR-MECH Mechatronics Board TOWER SYSTEM

Quick Start Guide. TWR-MECH Mechatronics Board TOWER SYSTEM TWR-MECH Mechatronics Board TOWER SYSTEM Get to Know the Tower Mechatronics Board Primary Connector / Switch MCF52259 Connectors for Up to Eight Servos SW4 (Reset) USB OTG 5V Supply Touch Panel Socket

More information

RY836AI. High Performance GPS & Glonass / GPS & BeiDou Parallel mode antenna module with Compass, Gyroscope, Accelerometer, Pressure Sensor.

RY836AI. High Performance GPS & Glonass / GPS & BeiDou Parallel mode antenna module with Compass, Gyroscope, Accelerometer, Pressure Sensor. 27-OCT-2017 56312E31 High Performance GPS & Glonass / GPS & BeiDou Parallel mode antenna module with Compass, Gyroscope, Accelerometer, Pressure Sensor Datasheet PRODUCT DESCRIPTION The REYAX GNSS receiver

More information

Momo Software Context Aware User Interface Application USER MANUAL. Burak Kerim AKKUŞ Ender BULUT Hüseyin Can DOĞAN

Momo Software Context Aware User Interface Application USER MANUAL. Burak Kerim AKKUŞ Ender BULUT Hüseyin Can DOĞAN Momo Software Context Aware User Interface Application USER MANUAL Burak Kerim AKKUŞ Ender BULUT Hüseyin Can DOĞAN 1. How to Install All the sources and the applications of our project is developed using

More information

PIC Functionality. General I/O Dedicated Interrupt Change State Interrupt Input Capture Output Compare PWM ADC RS232

PIC Functionality. General I/O Dedicated Interrupt Change State Interrupt Input Capture Output Compare PWM ADC RS232 PIC Functionality General I/O Dedicated Interrupt Change State Interrupt Input Capture Output Compare PWM ADC RS232 General I/O Logic Output light LEDs Trigger solenoids Transfer data Logic Input Monitor

More information

AN ARDUINO CONTROLLED CHAOTIC PENDULUM FOR A REMOTE PHYSICS LABORATORY

AN ARDUINO CONTROLLED CHAOTIC PENDULUM FOR A REMOTE PHYSICS LABORATORY AN ARDUINO CONTROLLED CHAOTIC PENDULUM FOR A REMOTE PHYSICS LABORATORY J. C. Álvarez, J. Lamas, A. J. López, A. Ramil Universidade da Coruña (SPAIN) carlos.alvarez@udc.es, jlamas@udc.es, ana.xesus.lopez@udc.es,

More information

Blue Point Engineering

Blue Point Engineering Blue Point Engineering Instruction I www.bpesolutions.com Pointing the Way to Solutions! Animatronic Wizard - 3 Board (BPE No. WAC-0030) Version 3.0 2009 Controller Page 1 The Wizard 3 Board will record

More information

Motor Control Demonstration Lab

Motor Control Demonstration Lab Motor Control Demonstration Lab JIM SIBIGTROTH and EDUARDO MONTAÑEZ Freescale Semiconductor launched by Motorola, 8/16 Bit MCU Division, Austin, TX 78735, USA. Email: j.sibigtroth@freescale.com eduardo.montanez@freescale.com

More information

1 Lab + Hwk 4: Introduction to the e-puck Robot

1 Lab + Hwk 4: Introduction to the e-puck Robot 1 Lab + Hwk 4: Introduction to the e-puck Robot This laboratory requires the following: (The development tools are already installed on the DISAL virtual machine (Ubuntu Linux) in GR B0 01): C development

More information

CMU232 User Manual Last Revised October 21, 2002

CMU232 User Manual Last Revised October 21, 2002 CMU232 User Manual Last Revised October 21, 2002 Overview CMU232 is a new low-cost, low-power serial smart switch for serial data communications. It is intended for use by hobbyists to control multiple

More information

B RoboClaw 2 Channel 30A Motor Controller Data Sheet

B RoboClaw 2 Channel 30A Motor Controller Data Sheet B0098 - RoboClaw 2 Channel 30A Motor Controller (c) 2010 BasicMicro. All Rights Reserved. Feature Overview: 2 Channel at 30Amp, Peak 60Amp Battery Elimination Circuit (BEC) Switching Mode BEC Hobby RC

More information

STELLARIS ERRATA. Stellaris LM3S8962 RevA2 Errata

STELLARIS ERRATA. Stellaris LM3S8962 RevA2 Errata STELLARIS ERRATA Stellaris LM3S8962 RevA2 Errata This document contains known errata at the time of publication for the Stellaris LM3S8962 microcontroller. The table below summarizes the errata and lists

More information

I 2 C RedBot & DC Motor Servo Motor Control

I 2 C RedBot & DC Motor Servo Motor Control ECE3411 Fall 2016 Lecture 6c. I 2 C RedBot & DC Motor Servo Motor Control Marten van Dijk Department of Electrical & Computer Engineering University of Connecticut Email: marten.van_dijk@uconn.edu Slides

More information

Exercise 3: Sound volume robot

Exercise 3: Sound volume robot ETH Course 40-048-00L: Electronics for Physicists II (Digital) 1: Setup uc tools, introduction : Solder SMD Arduino Nano board 3: Build application around ATmega38P 4: Design your own PCB schematic 5:

More information

Programming and Interfacing

Programming and Interfacing AtmelAVR Microcontroller Primer: Programming and Interfacing Second Edition f^r**t>*-**n*c contents Preface xv AtmelAVRArchitecture Overview 1 1.1 ATmegal64 Architecture Overview 1 1.1.1 Reduced Instruction

More information

A servo is an electric motor that takes in a pulse width modulated signal that controls direction and speed. A servo has three leads:

A servo is an electric motor that takes in a pulse width modulated signal that controls direction and speed. A servo has three leads: Project 4: Arduino Servos Part 1 Description: A servo is an electric motor that takes in a pulse width modulated signal that controls direction and speed. A servo has three leads: a. Red: Current b. Black:

More information

University of Toronto. Companion Robot Security. ECE1778 Winter Wei Hao Chang Apper Alexander Hong Programmer

University of Toronto. Companion Robot Security. ECE1778 Winter Wei Hao Chang Apper Alexander Hong Programmer University of Toronto Companion ECE1778 Winter 2015 Creative Applications for Mobile Devices Wei Hao Chang Apper Alexander Hong Programmer April 9, 2015 Contents 1 Introduction 3 1.1 Problem......................................

More information

Design of double loop-locked system for brush-less DC motor based on DSP

Design of double loop-locked system for brush-less DC motor based on DSP International Conference on Advanced Electronic Science and Technology (AEST 2016) Design of double loop-locked system for brush-less DC motor based on DSP Yunhong Zheng 1, a 2, Ziqiang Hua and Li Ma 3

More information

JTAG pins do not have internal pull-ups enabled at power-on reset. JTAG INTEST instruction does not work

JTAG pins do not have internal pull-ups enabled at power-on reset. JTAG INTEST instruction does not work STELLARIS ERRATA Stellaris LM3S2110 RevA2 Errata This document contains known errata at the time of publication for the Stellaris LM3S2110 microcontroller. The table below summarizes the errata and lists

More information

Single-wire Signal Aggregation Reference Design

Single-wire Signal Aggregation Reference Design FPGA-RD-02039 Version 1.1 September 2018 Contents Acronyms in This Document... 4 1. Introduction... 5 1.1. Features List... 5 1.2. Block Diagram... 5 2. Parameters and Port List... 7 2.1. Compiler Directives...

More information

2D Floor-Mapping Car

2D Floor-Mapping Car CDA 4630 Embedded Systems Final Report Group 4: Camilo Moreno, Ahmed Awada ------------------------------------------------------------------------------------------------------------------------------------------

More information

RC-WIFI CONTROLLER USER MANUAL

RC-WIFI CONTROLLER USER MANUAL RC-WIFI CONTROLLER USER MANUAL In the rapidly growing Internet of Things (IoT), applications from personal electronics to industrial machines and sensors are getting wirelessly connected to the Internet.

More information

Revision WI.232FHSS-25-FCC-R and RK-WI.232FHSS-25-FCC-R USER S MANUAL

Revision WI.232FHSS-25-FCC-R and RK-WI.232FHSS-25-FCC-R USER S MANUAL Revision 1.0.3 WI.232FHSS-25-FCC-R and RK-WI.232FHSS-25-FCC-R USER S MANUAL RADIOTRONIX, INC. WI.232FHSS-25-FCC-R/ RK-WI.232FHSS-25-FCC-R USER S MANUAL Radiotronix 905 Messenger Lane Moore, Oklahoma 73160

More information

Abstract Wireless technology is an integral part of

Abstract Wireless technology is an integral part of The Wi-Fi Seeker Christina Leichtenschlag, Adrian Morgan, Jimmy Wong Department of Electrical Engineering and Computer Science, University of Central Florida, Orlando, Florida, 32816-2450 Abstract Wireless

More information

TMS320F241 DSP Boards for Power-electronics Applications

TMS320F241 DSP Boards for Power-electronics Applications TMS320F241 DSP Boards for Power-electronics Applications Kittiphan Techakittiroj, Narong Aphiratsakun, Wuttikorn Threevithayanon and Soemoe Nyun Faculty of Engineering, Assumption University Bangkok, Thailand

More information

Two Hour Robot. Lets build a Robot.

Two Hour Robot. Lets build a Robot. Lets build a Robot. Our robot will use an ultrasonic sensor and servos to navigate it s way around a maze. We will be making 2 voltage circuits : A 5 Volt for our ultrasonic sensor, sound and lights powered

More information

WheelCommander Wizard User s Manual

WheelCommander Wizard User s Manual WC-132 WheelCommander WheelCommander Wizard User s Manual Differential Drive Motion Controller for Standard RC Servos and DC Gearhead Motors ---DRAFT--- Copyright 2009, Noetic Design, Inc. 1.01 3/10/2009

More information

Autonomous Following RObot Initial Design Review

Autonomous Following RObot Initial Design Review Autonomous Following RObot Initial Design Review James Tse (Leader) Wei Dai Travis Frecker Peter Verlangieri Professor John Johnson ECE 189A Fall 2012 Initial Design Review: Project Description Original

More information

Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN)

Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN) Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN) 217-3367 Ordering Information Product Number Description 217-3367 Stellaris Brushed DC Motor Control Module with CAN (217-3367)

More information

LDOR: Laser Directed Object Retrieving Robot. Final Report

LDOR: Laser Directed Object Retrieving Robot. Final Report University of Florida Department of Electrical and Computer Engineering EEL 5666 Intelligent Machines Design Laboratory LDOR: Laser Directed Object Retrieving Robot Final Report 4/22/08 Mike Arms TA: Mike

More information