czujka wibracji – elektroniczna kostka do gry

Kolejny raz podstawy – czyli rozmawialiśmy oo doborze odpowiedniego opornika dla układu zasilanie-LED. Mierzyliśmy napięcia (czyli spadki napięć) oraz prądy. Każdy musi przez to prześć, dlatego zachęcam do zabawy w wirtualnym Arduino (jest tam multimetr, płytka stykowa i różne LEDy – proszę nie zlekceważyć tego ćwiczenia!).

Czujka drgań

Bardzo prosta, ale ile zabawy 😉 Prosta, bo ma trzy pin-y: VCC i GDN (czyli zasilanie, z przedziału 3.3V-5V) oraz pin Dout – sygnał cyfrowy informujący o drganiu. Cena to kilka złotych, zależnie od miejsca kupna.

Do czego? no wiele zastosowań, ale… takie śmieszniejsze (ale czy oby na pewno?) to alarm otwartej szuflady. Czyli: jeśli chcemy mieć pewność, że nasz młodszy brat nie będzie grzebać w naszej szufladzie, to … montujemy taki układ do wnętrza szuflady i jeśli jednak będzie próba jej otwarcia – to odezwie się alarm (lub taki incydent zostanie zapisany w pamięci). Potem można przejrzeć „dziennik zdarzeń” i przekonać się, czy faktycznie braciszek nie myszkował w naszej szufladzie 😉

To bardzo czuły czujnik

Właściwie to wystarczy stuknąć w stół i te minimalne drgania wprawią w działanie nasz czujnik. Pirwszy, prosty programik:

byte czujka=7;

void setup(){
  pinMode(czujka, INPUT);
  Serial.begin(9600);
}

void loop(){
  if (digitalRead(czujka)==0)
    Serial.println("czujka! drgania!");
}

Nie pomyslilem się – rejestrujemy drgania gdy odczytujemy napięcie LOW (czyli zero). Gdy brak drgań – odczytujemy stan HIGH (1). A może tak rozbudować program, aby zliczał liczbę drgań?

byte czujka=7;
unsigned int licz=0;

void setup(){
  pinMode(czujka, INPUT);
  Serial.begin(9600);
  licz=0;
}

void loop(){
  if (digitalRead(czujka)==0){
    licz++;
    Serial.print("czujka! drgania!  ");
    Serial.println(licz);
  }
}

Proszę uruchomić powyższy programik i zaobserwować, jak szybko nasz licznik (zmienna licz) rośnie. Przy okazji przekoanliśmy się na własne oczy, co się dzieje gdy przepełnimy licznik (testowaliśmy to na zmiennej typu byte, która zlicza liczby od 0..255 – łatwo taki licznik przepełnić!).

Kostka do gry – liczby losowe, nie pseudo-losowe!

Pokazałem państwu swój kolejny układ – elektroniczną kostkę do gry. Drgania powodują tworzenie liczb losowych (prawdziwie losowych, nie pserudo-losowych). Jak? wymyśliłem sobie tak: zliczam liczbę drgań, a gdy drgania ustaną – wynik wyświetlam z operacją modulo 6 + 1 (modulo 6 – to liczby z zakresu 0..5 więc dodaję jeszcze 1 aby mieć sześcienną kostkę do gry). Całość prezentuję na 7-segmentowym wyświetlaczu (no i dodatkowo „dla bajeru” uruchamiam melodyjkę).

Na powyższej fotce widzimy Arduino UNO (w wersji Ferrari – czerwoniutkie) z nakładką – proto-shieldem (aby nie trzeba było się bawić w oddzielną płytkę stykową). Roboczo wszystko połączone jest przewodami ze skrętki, ale całość nieźle trzyma się kupy 😉

Praca domowa

Proponuję pobawić się w wirtualnym Arduino i poćwiczyć wyświetlanie liczba na 7- segmentowym wyświetlaczu – to może się jeszcze wielokrotnie przydać!Nie zapomnijcie zapisać wyników Waszej pracy by potem pochwalić się nimi!

(c) KG 2018

Ten wpis został opublikowany w kategorii FiBot i oznaczony tagami , , , , , , , . Dodaj zakładkę do bezpośredniego odnośnika.