• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

problem z kodem arduino

VPS Starter Arubacloud
0 głosów
134 wizyt
pytanie zadane 4 lipca 2018 w Mikrokontrolery przez mikoh81 Obywatel (1,260 p.)

Witam, pracuję nad komunikacją pomiędzy dwoma arduino, który to ma wysyłać dane z czujnika piorunów. Lecz nadajnik nie chce pracować nadawać informacji. O to kod nadajnika:

#include "I2C.h" //I2C Library can be downloaded below
#include "AS3935_I2C.h" //Include AS393_i2C Library can be downloaded below
#include <Wire.h> 
volatile int8_t ISR_Trigger = 0; // interrupt trigger global var     

#define SI_PIN               9     //Set SI pin here
#define IRQ_PIN              2     // digital pins 2 and 3 are available for interrupt capability
#define AS3935_ADD           0x02  // x03 <-- you can use i2C scanner to see the i2c address
#define AS3935_CAPACITANCE   72    // <-- SET THIS VALUE TO THE NUMBER LISTED ON YOUR BOARD 
#define AS3935_INDOORS       1     // Set to enabled for Indoor Used
#define AS3935_OUTDOORS      0     // Set to enabled for Outdoor Used
#define AS3935_DIST_DIS      0
#define AS3935_DIST_EN       1

void AS3935_ISR();
AS3935_I2C  lightX((uint8_t)IRQ_PIN, (uint8_t)SI_PIN, (uint8_t)AS3935_ADD);


void setup()
{
    Wire.begin(); 
  Serial.begin(9600);
  Serial.println("14CPRE | AS3935 Lightning Sensor Test");
  Serial.println("Starting...................");
  delay(2000);
  I2c.begin(); // Set i2C Libr Enable pullups set to 400kHz speed
  I2c.pullup(true); //Set i2C pUll up 
  I2c.setSpeed(1);  //Set speed to 1
  delay(2); // Delay 
  lightX.AS3935_DefInit();   // set registers to default  
  lightX.AS3935_ManualCal(AS3935_CAPACITANCE, AS3935_OUTDOORS, AS3935_DIST_EN); //
  attachInterrupt(0, AS3935_ISR, RISING);
  lightX.AS3935_PrintAllRegs();
  ISR_Trigger = 0;           // clear trigger

}

void loop()
{

  while(0 == ISR_Trigger){ 
             char piorun[6] = {0x7E, 'k','k','k','k',0x7F};
    } 
  delay(5);
  ISR_Trigger = 0;  // reset interrupt flag
  uint8_t int_src = lightX.AS3935_GetInterruptSrc();
  if(0 == int_src)
  {
    Serial.println("IRQ source result not expected");
  }
  else if(1 == int_src)
  {
    uint8_t lightning_dist_km = lightX.AS3935_GetLightningDistKm();
    if(lightning_dist_km > 10){
     char piorun[6] = {0x7E, '1',lightning_dist_km,'k','k',0x7F};
    }
  }
  else if(2 == int_src)
  {
         char piorun[6] = {0x7E, '1','3','k','k',0x7F};

  }
  else if(3 == int_src)
  {
         char piorun[6] = {0x7E, '1','3','k','k',0x7F};

  }
  lightX.AS3935_PrintAllRegs(); // Set for debug
}
void AS3935_ISR() //IRQ Handler for AS3935 Interrupts, set to return void take no arg.
{
  ISR_Trigger = 1;
}
void turn(byte fn[6])
{
  byte chk = 0;
  byte i;
  for(i = 0;i<4;i++)chk ^=fn[i];
  fn[4] = chk;
  for(i=0;i<6;i++)Serial.write(fn[i]);
}

 

1 odpowiedź

+1 głos
odpowiedź 6 lipca 2018 przez profesorek96 Szeryf (91,420 p.)
Czójniki piorunów ?

Co to takiego?

Arduino komunikujesz po UART jeśli tak to skrzyzuj Rx z TX i na odwrót.

Podobne pytania

0 głosów
1 odpowiedź 388 wizyt
pytanie zadane 13 lutego 2020 w Mikrokontrolery przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
1 odpowiedź 189 wizyt
pytanie zadane 24 września 2020 w Mikrokontrolery przez ChiriChiri Obywatel (1,260 p.)
0 głosów
1 odpowiedź 255 wizyt
pytanie zadane 1 maja 2020 w Mikrokontrolery przez Mavimix Dyskutant (8,390 p.)

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...