Saltatu nabigazioa

Sketch programatzea

Sketch: programazioa

Koadro honetan ikus dezakezu liburutegia kargatu ondoren Arduino MKR Wifi 1010 plakara bidaliko dugun programa (Kasu honetan euri alarma bat):

/*

Sketch generated by the Arduino IoT Cloud Thing "p05"
https://create.arduino.cc/cloud/things/27103226-dabf-4b68-993b-af39e25170df

Arduino IoT Cloud Variables description

The following variables are automatically generated and updated when changes are made to the Thing

int sensorValue;

Variables which are marked as READ/WRITE in the Cloud Thing will also have functions
which are called when their values are changed from the Dashboard.
These functions are generated with the Thing and added at the end of this sketch.
*/

#include "thingProperties.h"

#define PIN_RAIN_SENSOR A1 // Euri-sentsorearen seinalerako sarrera analogikoa

#define PIN_ALERT 6 // Seinalizaziorako irteera digitala
#define MAX_COUNTER 30 
#define ALERT_LEVEL 300 

int curCounter= 0; // "Estatistikak" kontagailua, sentsorea aktibatu ondoren segundo bakoitzean 1 handitzen dena

void setup() {

// Hasieratu seriea eta itxaron ataka ireki arte:

Serial.begin(9600);
pinMode(PIN_ALERT, OUTPUT);
pinMode(PIN_RAIN_SENSOR, INPUT); // Ez duzu zehaztu beharrik balio lehenetsia delako

//Atzerapen honek Serial Monitor bat blokeatu gabe itxaroteko aukera ematen du, ez bada aurkitu

delay(1500);

// thingProperties.h-n definitua
initProperties();

// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);

/*
The following function allows you to obtain more information
related to the state of network and IoT Cloud connection and errors
the higher number the more granular information you’ll get.
The default is 0 (only errors).
Maximum is 4
*/
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();

}

void loop() {
ArduinoCloud.update();
// Your code here

// probatu Arduino Cloud plataformarako konexioa

if (ArduinoCloud.connected() == 0) {
// Ez dago konexiorik
Serial.println("Ez dago konexiorik Arduino Cloud plataformarekin");
Serial.println();
digitalWrite(LED_BUILTIN, LOW); // 0 - dena gainezka dago edo zaparrada bat dago, sentsorea oso hezea dago, 1023 - eguraldi lehorra.

} else {
// Konexiorik badago
Serial.println("Arduino Cloud plataformarako konexiorik badago");
Serial.println();
digitalWrite(LED_BUILTIN, HIGH);
}

//sentsore kodea

//IRTEERA ANALOGIKOA

sensorValue = analogRead(PIN_RAIN_SENSOR); // Irteera balioa serieko ataka monitoreari
Serial.println("Valor del sensor: ");
Serial.println(sensorValue);
delay(300); // short delay

// Alarma bat aktibatzeko arrazoi nahikoak badaude

/*

Jarraian aipatutako 6. irteera digitalean seinale akustikoa aktibatzen duen kode bat da, denbora-atzerapenarekin, ura sentsorearekin ustekabean ukituta dagoenean alarma faltsuak saihesteko.

Lana aldagai baten bidez inplementatzen da, segundoero eguneratzen dena eta atalase gisa jokatzen du - curCounter.
Alarma aktibatzen da sentsoretik transmititutako balioa 300 baino txikiagoa denean.
Hezetasuna detektatzeko eta soinu-seinalearen arteko atzerapena 30 segundo pasatxokoa da.

*/

if (curCounter >= MAX_COUNTER){
digitalWrite(PIN_ALERT, HIGH); // Alarma aktibatuta
curCounter = MAX_COUNTER; // Gainerako babes aldakorra
}

// Hezetasun maila zehaztu
if (sensorValue < ALERT_LEVEL){

curCounter++;
}else {
// Prezipitazioaren intentsitateak ez du atalasea gainditzen
digitalWrite(PIN_ALERT, LOW); // Desaktibatu alarma
curCounter = 0; // Zeroaren kontrakoa

}

Serial.println("--------------------------------");
delay(1000);

}

Adi!

Gogoratu: 

  1. Google Chrome nabigatzailearekin lan egin behar dugu.
  2. Programa plakara bidaltzeko, goiko aldean ageri den gezia sakatu behar da. 
Botón enviar el programa a la placa Arduino
Mercedes Jimeno Badiola (Jabari publikoa)

Creado con eXeLearning (Ventana nueva)