2回答

0收藏

关于gokit2 arduino针脚

机智云GoKit 机智云GoKit 3454 人阅读 | 2 人回复 | 2015-09-16

收到了gokit2开发板 很高兴 最近需要做个实时监控电压电流的功能所以买了电流电压检测模块接上a0 a1 gnd针脚
用智能宠物屋的2.2程序 修改后 发现数值输出有问题 空载时 数值 不为0

不知道怎么办~

#include <DHT.h>
#include <I2Cdev.h>
#include <MemoryFree.h>
#include <MsTimer2.h>
#include <SSD1306.h>
#include <ChainableLED.h>
#include <Arduino.h>
#include <SoftwareSerial.h>
#include "Wire.h"
#include "GoKit.h"
#define VT_PIN A0 //connect with VT
#define AT_PIN A1 //connect with AT

#define ARDUINO_WORK_VOLTAGE 5.0 //work voltage of Arduino

#define OLED_DC 9
#define OLED_CS 10
#define OLED_CLK 13
#define OLED_MOSI 11
#define OLED_RESET 8


#define RGB_LED_EN  A1

SSD1306 oled(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

void setup()
{
  Serial.begin(9600); // 打开串口,设置波特率为9600 bps
  Serial.println("Voltage(V) / Current(A) ");
  GoKit_Init();
  pinMode(RGB_LED_EN,OUTPUT);
  digitalWrite(RGB_LED_EN,HIGH);

  oled.ssd1306_init(SSD1306_SWITCHCAPVCC);
  oled.drawstring(0,3,"     Hello World!   ");
  oled.display();
  #if (DEBUG==1)
  Serial.println("GoKit init  OK!");
  Serial.print("freeMemory()=");
  Serial.println(freeMemory());
  #endif
}
void loop()
{
      int vt_temp = analogRead(VT_PIN);
      int at_temp = analogRead(AT_PIN);

      double voltage = vt_temp * (ARDUINO_WORK_VOLTAGE / 1023.0) * 5;
      double current = at_temp * (ARDUINO_WORK_VOLTAGE / 1023.0);

      Serial.print(voltage); Serial.print('/'); Serial.println(current);      
      delay(1000);
  GoKit_Handle();
}
分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

shaoziyang

发表于 2015-9-16 16:44:51 | 只看该作者

输入悬空,可能会有感应信号。
板凳

suoma

发表于 2015-9-16 23:47:46 | 只看该作者

电流电压检测模块是什么型号?霍尔传感器
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条