In aceasta a 3-a parte a tutorialului vom vedea ce alte feluri de cod sursa putem scrie in functia setup().

Vom incepe cu senzorul de temperatura DHT22/DHT11. Acest senzor necesita o librarie dedicata acestuia.  Iar codul sursa este cel de mai jos:

#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

void setup() {
   dht.begin();
}

Un alt senzor foarte uzual este DS18B20. Acesta necesita 2 librarii, mai multe informatii despre acestea se regasesc in acest articol. Codul sursa folosit este urmatorul:

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 22 
#define TEMPERATURE_PRECISION 9
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress senzor; 

void setup() {
   sensors.begin();
}

 Pe langa senzori putem folosi si servomotoare. Folosirea lor implica folosirea librariei Servo. Codul sursa folosit in acest caz fiind urmatorul:

#include <Servo.h>
Servo servo;
int motor = 7;

void setup() {
   servo.attach(motor);
}

Mai sunt si alti senzori si module care au nevoie de librarii dedicate si care necesita initializarea lor la pornirea microcontrolerului. 

Urmatorul tip de cod sursa care poate fi folosit este cel prin care declaram tipul unui pin daca este pin de intrare sau de iesire. In exemplul urmator vom  declara pinul digital 4 ca intrare si pinul digital 5 ca iesire:

pinMode(4, INPUT);
pinMode(5, OUTPUT);

Tot aici putem schimba nivelul logic al unui pin digital. Acesta poate fi setat ca nivel logic LOW (0 Volti) sau ca nivel logic HIGH (+5V). Un exemplu este cel de mai jos:

digitalWrite(4, LOW);
digitalWrite(5, HIGH);

 Tot in aceasta zona putem initializa intreruperile in Arduino. Codul sursa exemplu este cel de mai jos:

attachInterrupt(digitalPinToInterrupt(pinIntrerupere), functieIntrerupere, EVENIMENT);

Mai multe informatii despre folosirea intreruperilor se pot citi aici.

Tot aici putem folosi si functia delay(). Aceasta functie este utila atunci cand vrem sa afisam un mesaj la initializarea microcontrolerului si dorim sa avem o perioada in care acel mesaj sa ramana vizibil pentru a putea fi citit sau in cazul in care un anumit senzor are nevoie de o anumita durata de timp pana cand poate functiona optim. Un exemplu de intarziere este mai jos:

delay(1000);

unde parametrul 1000 inseamna timpul in milisecunde, sau, mai exact, 1 secunda.

In urmatorul articol vom vedea ce cod sursa putem scrie in functia loop()

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.