Dzień 8 Czujniki analogowe

Dzień 8 Czujniki analogowe
Photo by Jorge Ramirez / Unsplash

Typu czujnika ultrasonic

// C++ code
//
int state = 0;

int odczyt = 0;

long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT); // Clear the trigger
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// Sets the trigger pin to HIGH state for 10 microseconds
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
// Reads the echo pin, and returns the sound wave travel time in microseconds
return pulseIn(echoPin, HIGH);
}

void setup()
{
Serial.begin(9600);
}

void loop()
{
odczyt = 0.01723 * readUltrasonicDistance(2, 3);
Serial.print(odczyt);
Serial.println(" cm");
delay(10); // Delay a little bit to improve simulation performance
}

Zadanie do domu:

Czujnik odległości z serwo

Podstawowe rodzaje zmiennych:

INTEGER

Zachowuje liczby całkowite dodatnie i ujemne

Zakres: od -32768 do 32767

Ilość zajmowanej pamięci 2 bajty (16 bitów)

int liczba = 10

LONG

Przechowuje liczby całkowite dodatnie i ujemne ale o dużych wartościach

Ilość zajmowanej pamięci 4 bajty (32 bity)

FLOAT

Zakres: od -3.4

Precyzja ok 6-7 cyft po przecinku

Ilość zajmowanej pamięci 4 bajty

float temp = 24.5

BOOLEAN

Przechowuje wartości prawda lub fałsz

False or True

Ilość zajmowanej pamięci 1 bajt

boolean led_wlaczony = true

Same dodatnie liczby to typy zmiennych unsigned

Rodzaje funkcji pinMode

Ustawienia trybu pracy pinu. Czy działa jako wejście INPUT czy wyjście OUTPUT. Używa się jej najczęściej w funkcji setup()

pinMode(pin, mode);

Jest jeszcze mode:

INPUT_PULLUP pin działa jako wejście z wewnętrznym rezystorem podciągającym.

Funkcja digitalWrite() służy do ustawiania stanu (wysokiego lub niskiego) na pinie, który został wcześniej skonfigurowany jako wyjście za pomocą funkcji pinMode()

digitalWrite(pin, value);

Zadanie:

Piszemy prosty kod migający ledem wbudowanym

13 pin to led wbudowany

buildInLed

loop - pamięc złotej rybki

LED_BUILTIN

Napiszemy prostą funkcję. Analogi będą tylko INPUTAMI

Zadanie:

Siedmiosegmentowy wyświetlacz - moduł składający się z ledów, dlatego potrzebny jest jeden rezystor. Rezystor 300 om

Czym są biblioteki?

#include<Twoja_biblioteka.h>

Biblioteka 7seg.h

Do 7 segmentowców jest kilka bibliotek

Zadanie:

Odpalić poprzednie projekty i zobaczyć z jakich bibliotek korzystamy

Forbot

Botnet

Botland

Najlepsze biblioteki z ArduinoCC