打印

LaunchPad温度实验上位机改成摄氏度显示

[复制链接]
2103|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cuter_2000|  楼主 | 2012-7-30 18:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cuter_2000 于 2012-7-31 11:33 编辑

LaunchPad温度实验上位机程序是用processing做的,显示的是华氏温度,看着不顺眼
改成摄氏度显示也很容易,加一行即可。
/*
* LaunchPad_Temp_GUI.pde
*
* LaunchPad Temperature GUI
*
* Copyright (C) {YEAR} Texas Instruments Incorporated - http://www.ti.com/
*
*
*  Redistribution and use in source and binary forms, with or without
*  modification, are permitted provided that the following conditions
*  are met:
*
*    Redistributions of source code must retain the above copyright
*    notice, this list of conditions and the following disclaimer.
*
*    Redistributions in binary form must reproduce the above copyright
*    notice, this list of conditions and the following disclaimer in the
*    documentation and/or other materials provided with the   
*    distribution.
*
*    Neither the name of Texas Instruments Incorporated nor the names of
*    its contributors may be used to endorse or promote products derived
*    from this software without specific prior written permission.
*
*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
*  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
*  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
*  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
*  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
*  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
*  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
*  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
*  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/


/**
* LaunchPad GUI
*
* Select COM port that LaunchPad is connected to
* receive serial communication from LaunchPad for
* instantaneous temperature readings.
*
**/
PFont fontA;
char instruct;
color backColor;
int dataRead;
boolean portChosen = false;
int COMPort;
int [] keyIn = new int[3];
int i, keyIndex=0;



// The serial port:
Serial myPort;

void setup()
{
  //setup window

  size(1000, 500);
  smooth();
  //load font

  
  // Set the font, its size (in units of pixels), and alignment
  textAlign(CENTER);
  
  //Set background color
  color baseColor = color(70);
  backColor = baseColor;
  //import serial library
  import processing.serial.*;

  // List all the available serial ports, then give prompt
  println(Serial.list());
  println("Please type in the serial COM port that your LaunchPad is connected to.");
  
  background(backColor);
  stroke(255);
  textSize(13);
  text("Please, select the COM port that your LaunchPad is connected to.", 265, 20);
  textAlign(LEFT);
  for(i=0; i<Serial.list().length; i++){
    text("[" + i + "] " + Serial.list()[i], 215, 38+13*i);
  }
  textSize(30);
  text("# =",20, 350);
  //wait for keypress --> Refer to void keyPressed()
}

void draw()
{
  if(portChosen == true){
    dataRead= myPort.read();
    if(dataRead != -1){
      dataRead= (int)((dataRead - 32.0) * 5.0/9.0);//转成摄氏度
      
      //clear previous temperature reading from screen
      background(backColor);
      stroke(255);
      //Update console
      print("Temp: ");
      print(dataRead);
      println("°");
      
      //Update on screen GUI
      text("Current Temperature: ", 420, 60);
      text(dataRead, 835, 60);      
      text("°", 900, 60);      
      
    }
  }
}

//wait for key press. Once key is entered, initialize serial com port
void keyPressed() {
  if(portChosen == false){
   
    if (key != 10) //Enter
    {
      keyIn[keyIndex++] = key-48;
      textSize(30);
      text(keyIn[keyIndex-1],100 + (keyIndex*20), 350);
    }
    else
    {
      COMPort = 0;
      for (i = 0; i < keyIndex; i++)
        COMPort = COMPort * 10 + keyIn[i];      
      println(COMPort);
      myPort = new Serial(this, Serial.list()[COMPort], 2400);
      portChosen = true;
      textSize( 60); // change font size & alignment for temp readings
      textAlign(CENTER);
    }
  }
}


附件是编译好的

LaunchPad_Temp_GUI.rar

699.04 KB

评分
参与人数 1威望 +2 收起 理由
tianm + 2

相关帖子

沙发
figo20042005| | 2012-7-30 21:30 | 只看该作者
就是加了温度单位的转换公式么,可以尝试更大的改动

使用特权

评论回复
板凳
cuter_2000|  楼主 | 2012-7-31 12:42 | 只看该作者
还没想到有哪些可以改的
说说你的想法吧。给个意见

使用特权

评论回复
地板
vivilzb1985| | 2012-8-1 17:47 | 只看该作者
谢谢分享,该例程很有针对性的啊

使用特权

评论回复
5
cgd| | 2012-8-2 08:59 | 只看该作者
向楼上学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

12

帖子

0

粉丝