Simple temperature measurement using the DS18B20 and NUCLEO-F334R8 For more info see here: http://www.emcu.it/NUCLEOevaBoards/mBed/QSG-Mbed-Library.pdf

Dependencies:   DS1820 mbed

Committer:
emcu
Date:
Sun Dec 27 02:12:03 2015 +0000
Revision:
0:8f239b2d2a0e
Simple temperature measurement using the DS18B20 and NUCLEO-F334R8; By: www.emcu.it

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emcu 0:8f239b2d2a0e 1
emcu 0:8f239b2d2a0e 2 /**
emcu 0:8f239b2d2a0e 3
emcu 0:8f239b2d2a0e 4 NUCLEO-F334R8
emcu 0:8f239b2d2a0e 5 DS18B20
emcu 0:8f239b2d2a0e 6
emcu 0:8f239b2d2a0e 7 By: www.emcu.it
emcu 0:8f239b2d2a0e 8 Date: Dec.2015
emcu 0:8f239b2d2a0e 9 Version: 1.0
emcu 0:8f239b2d2a0e 10 Name: F334-DS18B20
emcu 0:8f239b2d2a0e 11 NOTE: For more info see here: http://www.emcu.it/NUCLEOevaBoards/mBed/QSG-Mbed-Library.pdf
emcu 0:8f239b2d2a0e 12
emcu 0:8f239b2d2a0e 13 THE SOFTWARE AND HARDWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
emcu 0:8f239b2d2a0e 14 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
emcu 0:8f239b2d2a0e 15 FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
emcu 0:8f239b2d2a0e 16 OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
emcu 0:8f239b2d2a0e 17 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
emcu 0:8f239b2d2a0e 18 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
emcu 0:8f239b2d2a0e 19
emcu 0:8f239b2d2a0e 20 UART Configuration (It is necessary for see the results, we suggest to use TeraTerm on PC)
emcu 0:8f239b2d2a0e 21 Baud Rate: 9600
emcu 0:8f239b2d2a0e 22 Data Bit: 8
emcu 0:8f239b2d2a0e 23 Parity: NONE
emcu 0:8f239b2d2a0e 24 Stop Bit: 1
emcu 0:8f239b2d2a0e 25 Flow Control: NONE
emcu 0:8f239b2d2a0e 26
emcu 0:8f239b2d2a0e 27 This SW is ready to use on the NUCLEO-F334R8.
emcu 0:8f239b2d2a0e 28 Connect to the NUCLEO-F334R8 the DS18B20 sensor (see the schematic below).
emcu 0:8f239b2d2a0e 29 The temperature sampling time is 1 sec.
emcu 0:8f239b2d2a0e 30
emcu 0:8f239b2d2a0e 31 DS18B20 front view
emcu 0:8f239b2d2a0e 32 __________
emcu 0:8f239b2d2a0e 33 | |
emcu 0:8f239b2d2a0e 34 | DS |
emcu 0:8f239b2d2a0e 35 | 18B20 |
emcu 0:8f239b2d2a0e 36 | |
emcu 0:8f239b2d2a0e 37 |__________|
emcu 0:8f239b2d2a0e 38 | | |
emcu 0:8f239b2d2a0e 39 1 2 3
emcu 0:8f239b2d2a0e 40 GND DQ VCC (3V3)
emcu 0:8f239b2d2a0e 41 | | |______________ to VCC (3.3V on the NUCLEO-F334R8)
emcu 0:8f239b2d2a0e 42 | | _|_
emcu 0:8f239b2d2a0e 43 | | | |
emcu 0:8f239b2d2a0e 44 | | | | 4K7
emcu 0:8f239b2d2a0e 45 | | | |
emcu 0:8f239b2d2a0e 46 | | -|-
emcu 0:8f239b2d2a0e 47 | |___|______________ to A1 (on the NUCLEO-F334R8)
emcu 0:8f239b2d2a0e 48 |
emcu 0:8f239b2d2a0e 49 |
emcu 0:8f239b2d2a0e 50 |______________________ to GND (on the NUCLEO-F334R8)
emcu 0:8f239b2d2a0e 51
emcu 0:8f239b2d2a0e 52 This SW is just for only one DS18B20
emcu 0:8f239b2d2a0e 53 This SW is a derivative of:: https://developer.mbed.org/users/Sissors/code/DS1820_HelloWorld/
emcu 0:8f239b2d2a0e 54 On the: https://developer.mbed.org/users/Sissors/code/DS1820_HelloWorld/ there is a multi sensor (DS18B20) example.
emcu 0:8f239b2d2a0e 55
emcu 0:8f239b2d2a0e 56 */
emcu 0:8f239b2d2a0e 57
emcu 0:8f239b2d2a0e 58 #define DATA_PIN A1
emcu 0:8f239b2d2a0e 59
emcu 0:8f239b2d2a0e 60 #include "mbed.h"
emcu 0:8f239b2d2a0e 61 #include "DS1820.h"
emcu 0:8f239b2d2a0e 62
emcu 0:8f239b2d2a0e 63 // Define the PC serial Port
emcu 0:8f239b2d2a0e 64 Serial pc(SERIAL_TX, SERIAL_RX);
emcu 0:8f239b2d2a0e 65
emcu 0:8f239b2d2a0e 66 DS1820 probe(DATA_PIN);
emcu 0:8f239b2d2a0e 67
emcu 0:8f239b2d2a0e 68
emcu 0:8f239b2d2a0e 69 int main()
emcu 0:8f239b2d2a0e 70 {
emcu 0:8f239b2d2a0e 71 pc.printf("\n\r\n\rBy: www.emcu.it - simple temperature measurement using the DS18B20\n\r");
emcu 0:8f239b2d2a0e 72 while(1)
emcu 0:8f239b2d2a0e 73 {
emcu 0:8f239b2d2a0e 74 probe.convertTemperature(true, DS1820::all_devices); //Start temperature conversion, wait until ready
emcu 0:8f239b2d2a0e 75 pc.printf("The temperature is %3.3f Celsius\r\n", probe.temperature());
emcu 0:8f239b2d2a0e 76 wait(1);
emcu 0:8f239b2d2a0e 77 }
emcu 0:8f239b2d2a0e 78 }