久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1549|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

Arduino lora code

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:366005 發(fā)表于 2018-7-6 02:28 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
#include <SPI.h>
#include "LoRa.h"
#include <Wire.h>

LoRaClass LoRa1;


#define DOOR 8
#define TBV A0
#define TBV1 A7
#define BUTTON A6
#define ADC_ADDRESS 104
#define NUKE A3
#define LED A1

Int counter = 0;
Char getstr[255];
Int flag=0;

Int pay_load=0;
Byte address, Hi, Lo, Config;
Long ADVal;
Char float_str[20];
//LCD
Int sensorValue;
Double tbvValue;
Double tbvValue1;
Double tbvAdcValue;
Int rfm_version;
Int rfm_version1;
Unsigned long cmdpreviousMillis = 0;  
Unsigned long previousMillis = 0; // will store last time LED was updated
Unsigned long serialTimeOut=0;
Const long serialinterval=6000;
Int ledState = LOW; // ledState used to set the LED
Const long interval = 1000; // interval at which to blink (milliseconds)
Const long cmdinterval =500;
Bool doorStatus=0;

//SSD1306AsciiAvrI2c oled;

char *ftoa(char *a, double f, int precision)
{
long p[] = {0,10,100,1000,10000,100000,1000000,10000000,100000000};

char *ret = a;
long heiltal = (long)f;
itoa(heiltal, a, 10);
while (*a != '\0') a++;
*a++ = '.';
long desimal = abs((long)((f - heiltal) * p[precision]));
itoa(desimal, a, 10);
return ret;
}

double get_adc_tbv()
{   
      address =0x68;
      Wire.beginTransmission(address);
      Wire.write(0x88);   // config register %1000 1000
                         // /RDY = 1, One Conversion, 15 samples per, PGA = X1

      Wire.endTransmission();

      delay(1000);
      Wire.requestFrom((int)address, (int) 3);
      Hi = Wire.read();
      Lo = Wire.read();
      Config = Wire.read();
      Wire.endTransmission();

      ADVal = Hi;
      ADVal = ADVal * 256 + Lo;
      double value= (ADVal+423.75)/448.4;
      Serial.println();
      Serial.print("ADC Value: ");
      Serial.print(ADVal, DEC);
      Serial.print("  ");
      Serial.print(value);
      Serial.println(" Volts");
      return value;
}

void check_nuke()
{

    if(analogRead(BUTTON)>900)
        {

            digitalWrite(NUKE, HIGH);
        }
        else
            digitalWrite(NUKE, LOW);
}

void setup()
{
  delay(5000);
  pinMode(DOOR,INPUT);
  pinMode(LED, OUTPUT); // LED D4 Blink
  pinMode(TBV, INPUT); //V_IN_Sense
  pinMode(TBV1, INPUT); // V_IN_SEnse
  pinMode(NUKE,OUTPUT);
  digitalWrite(NUKE,LOW);
  pinMode(BUTTON, INPUT);// Button input of arduino
  Serial.begin(38400);

  while (!Serial);
  delay(1000);
  Serial.println("LoRa Sender");
  LoRa.setPins(10,9,2);
  if (!LoRa.begin(434E6))
  {
    Serial.println("Starting LoRa failed!");
  }
  LoRa1.setPins(6,7,4);
  delay(1000);

  if (!LoRa1.begin(434E6))
  {
    Serial.println("Starting LoRa 1 failed!");  
  }
  LoRa1.setSpreadingFactor(10);
  LoRa1.setSignalBandwidth(125E3);
  LoRa1.setPreambleLength(16);
  LoRa1.setSyncWord(0x12);
  LoRa1.setCodingRate4(5);

  LoRa.setSpreadingFactor(10);
  LoRa.setSignalBandwidth(125E3);
  LoRa.setPreambleLength(16);
  LoRa.setSyncWord(0x12);
  LoRa.setCodingRate4(5);

  Serial.print("================================================");

  delay(1000);
  LoRa.idle();
  for (int i = 0; i < 128; i++)
  {
    Serial.print("0x");
    Serial.print(i, HEX);
    Serial.print(": 0x");
    Serial.print(LoRa.readRegister(i), HEX);
    Serial.print(" ");
  }
  // put the radio into receive mode

  LoRa.receive();
  LoRa1.receive();

  delay(1000);
  Wire.begin();
  for (uint8_t add = 0X0; add < 0X80; add++) {
    Wire.requestFrom(add, (uint8_t)1);
    If (Wire.available()) {
      Serial.print("Add: ");
      Serial.println(add, HEX);
    }
  }
}


Void LED_blink()
{

  Unsigned long currentMillis = millis();
  If (currentMillis - previousMillis >= interval)
  {
    previousMillis = currentMillis;

  // if the LED is off turn it on and vice-versa:
    If (ledState == LOW) {
      ledState = HIGH;
    }
    Else {
        ledState = LOW;
    }
    // set the LED with the ledState of the variable:
    digitalWrite(LED, ledState);
  }
}

Void loop() {
  Check_nuke();
  LED_blink();
  sensorValue = analogRead(TBV); // Read Voltage
  tbvValue = (sensorValue/20.0)+0.85; //compute value
  sensorValue = analogRead(TBV1); // Read Voltage
  tbvValue1 = (sensorValue/20.0)+0.85; //compute value
  doorStatus =digitalRead(DOOR);
  tbvAdcValue= get_adc_tbv();
  Serial.print("$$$");
  Serial.print(tbvValue);
  Serial.print(",");
  Serial.print(tbvValue1);
  Serial.print(",");
  Serial.print(tbvAdcValue);
  Serial.print(",");
  Serial.print(doorStatus);
  Serial.println("$$$");

}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产传媒视频在线观看 | 欧美男人亚洲天堂 | 国外成人在线视频 | 精品天堂| 国产极品车模吞精高潮呻吟 | 毛片一区二区三区 | 日韩午夜一区二区三区 | 欧美日韩在线一区 | 久久久精品久 | 久久天天综合 | 三极网站 | 日韩综合网 | 欧美二区三区 | 欧美日韩一区二区三区不卡视频 | 精品一区二区久久久久久久网精 | 午夜电影福利 | 日韩精品一区二区三区视频播放 | 日日夜夜视频 | 青娱乐自拍| 久久久久久久久久久久久9999 | 欧美一级精品片在线看 | 综合第一页 | jav成人av免费播放 | 免费在线精品视频 | 91天堂网 | 免费成人高清在线视频 | 毛片一区二区 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 国产精品免费一区二区三区 | 欧美成人激情 | 日韩免| 欧美日韩一区二区电影 | 欧洲成人午夜免费大片 | 国产丝袜一区二区三区免费视频 | 国产免费一区二区三区网站免费 | 中文一区| 中文成人在线 | 日本久久网 | 成人在线视 | 可以在线看的黄色网址 | 99re在线视频观看 |