Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of FRDM_KL25_ADC_LCD by
main.cpp@5:b8f5c2de52c4, 2017-04-21 (annotated)
- Committer:
- AdrianMA
- Date:
- Fri Apr 21 18:35:39 2017 +0000
- Revision:
- 5:b8f5c2de52c4
- Parent:
- 4:a3e4bb2053cb
- Child:
- 6:2cbcc7411fd7
Pr?ctica para implementar el uso de un ADC a partir de un potenciometro y su despliegue en un LCD utilizando la libreria TextLCD, implementada con la tarjeta FRDM KL25
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| AdrianMA | 5:b8f5c2de52c4 | 1 | // Hello World! for the TextLCD |
| AdrianMA | 5:b8f5c2de52c4 | 2 | |
| wim | 0:a75049de1a82 | 3 | #include "mbed.h" |
| wim | 0:a75049de1a82 | 4 | #include "TextLCD.h" |
| wim | 4:a3e4bb2053cb | 5 | |
| AdrianMA | 5:b8f5c2de52c4 | 6 | //Declaración del periferico SPI con sus pines a utilizar |
| AdrianMA | 5:b8f5c2de52c4 | 7 | SPI spi_lcd(PTC6, NC, PTC5); // MOSI, MISO, SCLK:::::Datos del ejemplo |
| AdrianMA | 5:b8f5c2de52c4 | 8 | |
| AdrianMA | 5:b8f5c2de52c4 | 9 | //Configuración de la libreria del LCD |
| AdrianMA | 5:b8f5c2de52c4 | 10 | TextLCD_SPI lcd(&spi_lcd, PTC4, TextLCD::LCD16x2,TextLCD::HD44780); // SPI bus, CS pin, LCD Type ok |
| AdrianMA | 5:b8f5c2de52c4 | 11 | |
| AdrianMA | 5:b8f5c2de52c4 | 12 | AnalogIn an_pin(PTB1); //Creación de la entrada analogica |
| AdrianMA | 5:b8f5c2de52c4 | 13 | |
| AdrianMA | 5:b8f5c2de52c4 | 14 | PwmOut out_pwm(PTC1); //Creación de una salida PWM |
| wim | 0:a75049de1a82 | 15 | |
| AdrianMA | 5:b8f5c2de52c4 | 16 | float conv; |
| AdrianMA | 5:b8f5c2de52c4 | 17 | |
| AdrianMA | 5:b8f5c2de52c4 | 18 | int main() { |
| AdrianMA | 5:b8f5c2de52c4 | 19 | |
| AdrianMA | 5:b8f5c2de52c4 | 20 | lcd.cls(); |
| wim | 0:a75049de1a82 | 21 | |
| AdrianMA | 5:b8f5c2de52c4 | 22 | //Retardo de 0.5 segundos |
| AdrianMA | 5:b8f5c2de52c4 | 23 | wait(0.50); |
| AdrianMA | 5:b8f5c2de52c4 | 24 | |
| AdrianMA | 5:b8f5c2de52c4 | 25 | //Posicionar al LCD en el espacio 0,0 ORIGEN |
| AdrianMA | 5:b8f5c2de52c4 | 26 | lcd.locate(0,0); |
| wim | 4:a3e4bb2053cb | 27 | |
| AdrianMA | 5:b8f5c2de52c4 | 28 | //Escritura de prueba |
| AdrianMA | 5:b8f5c2de52c4 | 29 | lcd.printf("Start PowerTip"); |
| wim | 0:a75049de1a82 | 30 | |
| AdrianMA | 5:b8f5c2de52c4 | 31 | wait(1.0); |
| AdrianMA | 5:b8f5c2de52c4 | 32 | |
| AdrianMA | 5:b8f5c2de52c4 | 33 | lcd.cls(); |
| AdrianMA | 5:b8f5c2de52c4 | 34 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
| AdrianMA | 5:b8f5c2de52c4 | 35 | /* Asignación del periodo para la salida del PWM*/ |
| AdrianMA | 5:b8f5c2de52c4 | 36 | |
| AdrianMA | 5:b8f5c2de52c4 | 37 | out_pwm.period_ms(100); //Asignación de un periodo de 100 mili-segundos |
| wim | 3:f238b4f7874f | 38 | |
| AdrianMA | 5:b8f5c2de52c4 | 39 | /*Codigos de prueba*/ |
| AdrianMA | 5:b8f5c2de52c4 | 40 | |
| AdrianMA | 5:b8f5c2de52c4 | 41 | while(true){ |
| AdrianMA | 5:b8f5c2de52c4 | 42 | lcd.cls(); |
| AdrianMA | 5:b8f5c2de52c4 | 43 | |
| AdrianMA | 5:b8f5c2de52c4 | 44 | conv=an_pin.read(); //Lectura del Pin Analogico |
| AdrianMA | 5:b8f5c2de52c4 | 45 | //Impresión de información por medio del LCD |
| AdrianMA | 5:b8f5c2de52c4 | 46 | lcd.printf("Contador LCD: \ni= %f ", conv); |
| AdrianMA | 5:b8f5c2de52c4 | 47 | out_pwm.write(conv); //Asignación del ancho de pulso de la señal PWM |
| AdrianMA | 5:b8f5c2de52c4 | 48 | wait(0.5); //Retardo de 0.5 segundos |
| AdrianMA | 5:b8f5c2de52c4 | 49 | } |
| wim | 1:ef419b21167d | 50 | |
| AdrianMA | 5:b8f5c2de52c4 | 51 | //FIN DEL PROGRAMA |
| wim | 4:a3e4bb2053cb | 52 | } |
| wim | 3:f238b4f7874f | 53 | |
| wim | 3:f238b4f7874f | 54 |
