Presentation is loading. Please wait.

Presentation is loading. Please wait.

Robotics Research Laboratory Louisiana State University.

Similar presentations


Presentation on theme: "Robotics Research Laboratory Louisiana State University."— Presentation transcript:

1 Robotics Research Laboratory Louisiana State University

2  Analog to Digital (ADC, A/D or A to D) ◦ Converting an analog voltage to a digital value that can be used by a microcontroller. ◦ There are many sources of analog signals to be measured such as light intensity, temperature, distance, position, etc.  ATMega128 ADC has 10 bits resolution (0~1024) ◦ Has 8 channels through a multiplexer ◦ 8 pins on PORTF ◦ Need to set PORTF as input without pull-up ◦ Has own power supply (labeled AVCC) ◦ Allows measuring voltages from 0 to 5 volts with a resolution of 5/1024 volts, or 4.88 mV

3 S1 = 0 ~ 20000 Ω R2 = 1000 Ω - + 5 V X V drop = Xi mA x S1 Ω X v+ restV drop = Xi mA x 1000Ω 0V drop = Xi mA x 0 Ω 5 V Connect to ADC 0 V Resistance value of S1(IR sensor) can be changed by sensing

4 uint16_t a2d_10( uint8_t Channel ){ // Select the channel in a manner which leaves REFS0 and REFS1 un touched. ADMUX = ( ADMUX & (( 1 << REFS1 ) | ( 1 << REFS0 ))) | Channel; // Start the conversion ADCSR = ADCSR | ( 1 << ADSC ); // Wait for it to complete while ( ADCSR & ( 1 << ADSC )); return ADC; // ADC defined at avr/iom128.h ( special function register: SFR_IO16) } // a2d_10 /home/csc2700/csc2700/40-ADC-01

5  Translates data between parallel and serial forms  UARTs are commonly used in conjunction with communication standards ◦ ex) EIA RS-232, RS-422 or RS-485  Character framing ◦ Start bit: logic low ◦ Stop bit : logic high ( 1 or 2 bits) ◦ Parity bit : optional (even or odd)  Important Setting for Serial UART : ◦ Baud Speed, Flow control, Port

6  Minimum required connection ◦ RX(yellow),TX(green), and Ground(black)  Our programmer has 2 serial port ◦ ttyACM0 : ISP programming port ◦ ttyACM1 : UART serial port  Wire connection ◦ PE0  Yellow wire ◦ PE1  Green wire ◦ GND  Black wire  Open Gtk-term ◦ Set port : /dev/ttyACM1 ◦ Speed: 57600 for ttyACM1 9600 for Bluetooth connection

7  Config.h ◦ Set : #define CFG_USE_UART0 1  Hardware.h ◦ Set : #define UART0_BAUD_RATE57600  ADC_test.c ◦ Add : #include "UART.h” ◦ Create file pointer : FILE *u0;// for UART0 ◦ Open u0  if defined( __AVR_LIBC_VERSION__ )  u0 = fdevopen( UART0_PutCharStdio, UART0_GetCharStdio );  #else  u0 = fdevopen( UART0_PutCharStdio, UART0_GetCharStdio, 0 );  #endif ◦ Send values using fprintf(u0,”your message %d”, variable) ; /home/csc2700/csc2700/40-ADC-02

8  Check the UART buffer first ◦ int UART0_IsCharAvailable()  Read a character from UART buffer ◦ int UART0_GetChar() int counter; char tmpChar; While(1){ if ( UART0_IsCharAvailable() ) { tmpChar = UART0_GetChar(); if ( tmpChar == ‘s'){ // start moving }else if ( tmpChar == ‘c'){ // clear counter }else if ( tmpChar == ‘r’){// report counter number }

9  Make a led0 on when ‘0’ message is received from UART  Make a led0 off when button0 is pressed  Make a led1 on when ‘1’ message is received from UART  Make a led1 off when button1 is pressed  Send “!!!good bye!!!” message to UART tx when “bye” message is received from UART rx

10  Make a led0 ON and a motor clockwise spin when ‘4’ message is received from UART  Make a led1 ON and a motor anti-clockwise spin when ‘6’ message is received from UART  Make a led2 ON and speed of the motor increase when ‘8’ message is received from UART  Make a led3 ON and speed of the motor decrease when ‘2’ message is received from UART


Download ppt "Robotics Research Laboratory Louisiana State University."

Similar presentations


Ads by Google