Temperature Control: NUCLEO-F334R8 + DS18B20 + LCD1602 shield + RELAY and see the results on the PC and on the LCD1602. For more info see here: http://www.emcu.it/NUCLEOevaBoards/mBed/QSG-Mbed-Library.pdf

Dependencies:   DS1820 mbed TextLCD

Fork of F334andDS18B20 by Enrico Marinoni

Committer:
emcu
Date:
Fri Dec 25 00:28:58 2015 +0000
Revision:
0:b6b929b7764c
Child:
1:5c2c3c1e5093
Temperature measurement made using an NUCLEO-F334R8 and DS18B20.; by: www.emcu.it

Who changed what in which revision?

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