sobota, 2 marca 2019

ARDUINO: Wprowadzenie do tematu, zbieramy elementy oraz pierwsze zadanie

Czym jest ARDUINO? to kontroler, który możemy zaprogramować i który ma nieograniczone zastosowania, można dzięki niemu zbudować tysiące różnych projektów. Dzięki dokładaniu kolejnych modułów, bądź układów elektronicznych i różnych obwodów, możemy tworzyć dosłownie cuda.





Spis tematów:


ARDUINO #1: Wprowadzenie do tematu, zbieramy elementy oraz pierwsze zadanie:
https://flesztech.blogspot.com/2019/03/arduino-wprowadzenie-do-tematu-pierwszy-prosty-projekt.html

ARDUINO #2: Budujemy aktywator, sejf, zamek do drzwi lub włącznik 230 volt z kodem odblokowania:
https://flesztech.blogspot.com/2019/03/arduino-budujemy-aktywator-wlacznik-sejf-zamek-na-kod-pin.html



ARDUINO #3: Efekt świetlny NIGHTRIDER LED:

https://flesztech.blogspot.com/2019/03/arduino-efekt-swietlny-nightrider-led.html


ARDUINO #4: Prosty czujnik ruchu, system alarmowy, oświetlenie i wiele innych:

https://flesztech.blogspot.com/2019/03/arduino-prosty-czujnik-ruchu-czujka-alarm-oswietlenie.html


ARDUINO #5: Czujnik światła i przekaźnik czyli fotorezystor na arduino i projekt włącznika oświetlenia zmierzchowego na 230 volt:

https://flesztech.blogspot.com/2019/03/czujnik-swiata-i-przekaznik-arduino.html


ARDUINO #6: Sygnalizacja świetlna na przejściu dla pieszych:

https://flesztech.blogspot.com/2019/03/sygnalizacja-swietlna-na-przejsciu-dla-pieszych-arduino.html


ARDUINO #7: Wyjście analogowe RCA PAL do telewizora z arduino:

https://flesztech.blogspot.com/2019/03/wyjscie-analogowe-rca-pal-do-telewizora-z-arduino.html


ARDUINO #8: Mini stacja pogody na arduino:

https://flesztech.blogspot.com/2019/03/mini-stacja-pogody-na-arduino.html


ARDUINO #9: Prosty VU METER, miernik audio na diodach LED i analogowym wskaźniku:

https://flesztech.blogspot.com/2019/03/prosty-vu-meter-led-wskaznik-analog.html


ARDUINO #10: Czujnik poziomu cieczy, czyli projekt napełniania wodą miski dla psa, podlewania kwiatów lub wypompowywania nadmiaru wody:

https://flesztech.blogspot.com/2019/03/czujnik-poziomu-cieczy-arduino.html


ARDUINO #11: Prosta konsola z gierkami na arduino

https://flesztech.blogspot.com/2019/04/prosta-konsola-z-gierkami-arduino.html


ARDUINO #12: Uruchamianie dowolnego urządzenia, dowolnym pilotem IR
https://flesztech.blogspot.com/2019/09/uruchamianie-dowolnego-urzadzenia-dowolnym-pilotem.html


ARDUINO #13: Syrena alarmowa z czujnikiem ruchu
https://flesztech.blogspot.com/2019/11/syrena-alarmowa-z-czujnikiem-ruchu.html



ARDUINO #14: Odbiornik radia FM stereo z RDS zbudowany na podstawie arduino
https://flesztech.blogspot.com/2020/03/odbiornik-radia-fm-stereo-z-rds-arduino-lcd-shield-nokia5110.html
https://flesztech.blogspot.com/2020/03/odbiornik-radia-fm-stereo-z-rds-arduino-lcd-shield-nokia5110.html


ARDUINO #15: Zrób to sam: wykrywacz kłamstw czyli wariograf, sprawdzamy czy "MacGyver" faktycznie go zbudował
https://flesztech.blogspot.com/2020/03/zrob-to-sam-wykrywacz-klamstw-czyli-wariograf.html


ARDUINO #16: Czujka z alarmem i powiadomieniem na nieograniczony zasięg
https://flesztech.blogspot.com/2020/03/czujka-z-alarmem-i-powiadomieniem-na-gsm.html


ARDUINO #17: Podsłuch na nieograniczony zasięg światowy oparty o arduino i moduł SIM800L
https://flesztech.blogspot.com/2020/03/podsluch-na-nieograniczony-zasieg-arduino-sim800l.html


ARDUINO #18: Bardzo czuły czujnik tlenku węgla (CZADU) z alarmem lub automatycznym wyłącznikiem pieca
https://flesztech.blogspot.com/2020/03/czujnik-tlenku-wegla-z-alarmem-lub-wylacznikiem-na-przekazniku.html

ARDUINO #19: Zrób to sam, bardzo dokładny alkomat na podstawie arduino
https://flesztech.blogspot.com/2020/03/zrob-to-sam-bardzo-dokadny-alkomat-na-podstawie-arduino.html




ARDUINO #20: Bardzo czuły czujnik gazu ziemnego z alarmem lub automatycznym wyłącznikiem urządzeń na 230 volt
https://flesztech.blogspot.com/2020/03/bardzo-czuly-czujnik-gazu-ziemnego-z-alarmem.html



Zobacz też:

Arduino zasilane paluszkiem:



Gniazdko 230 volt załączane na pilot oparte o arduino nano






__________________________________________________________

Zobacz też:

Tani i prosty licznik Geigera-Müllera w oparciu o arduino
https://flesztech.blogspot.com/2020/02/tani-i-prosty-licznik-geigera-mullera-w.html

__________________________________________________________







Zobacz także inne projekty oparte o moduł ESP8266:



Jak zrobić ruter WIFI (punkt dostępowy) za około 10 zł? Czyli możliwości modułu ESP8266 12F - wprowadzenie do tematu
https://flesztech.blogspot.com/2020/03/jak-zrobic-ruter-wifi-punkt-dostepowy-modul-esp8266.html






Inteligenty dom z arduino - stacja pogody z odczytem na smartfonie (ESP8266)





Zautomatyzowana serwerownia dzięki modułowi ESP8266 NodeMcu









WSTĘP: Możliwości tej małej płytki


Oto kilka z brzegu przykładów, do których możemy wykorzystać ten kontroler:


  • alarm z czujką zbliżeniową
  • efekt świetlny samochodu znanego z serialu Nieustraszony, inaczej mówiąc przeróżne efekty z diodami LED
  • skrzyżowanie uliczne z zaprogramowaną sekwencją przełączania świateł
  • dzięki zastosowaniu modułu GSM oraz kamery możemy też zbudować alarm bezprzewodowy reagujący na wykryty ruch i wysyłający poprzez SMS powiadomienie do nas
  • możemy zbudować sejf lub zamek do drzwi z alarmem i kodem a nawet czujką zbliżeniową
  • można zbudować oświetlenie reagujące na czujnik światła
  • zbudujemy też profesjonalną stację pogody z zegarem, czujnikiem wilgoci, ciśnienia itp.
  • skonstruujemy baner reklamowy dla firmy z napisami czy reklamami (panele LED)
  • zbudujemy proste gierki
  • tester telewizyjny sygnału analogowego PAL
  • moduł radiowy
  • wszelakiego rodzaju roboty automatyczne, z zaprogramowanymi sekwencjami lub ruchami albo reakcjami na dany sygnał z czujników, np. odkurzacz który będzie sam sprzątał i obserwował otoczenie, ten kto oglądał program na kanale DTX "Walki robotów" ten już zdaje sobie sprawę co można zbudować, można też zbudować drona, dzięki wykorzystaniu złącz analogowych
  • można zbudować wszelakiego rodzaju czujniki, dymu, gazu, tlenku węgla a także różnych substancji a nawet alkomat
  • można też zbudować VU meter - do mierzenia poziomu sygnału audio
  • także i oscyloskop zbudujemy
  • można też zbudować jakąś sondę, może nie kosmiczną, ale na pewno w formie balonu meteorologicznego


Naprawdę wymienić wszystkie tutaj pomysły nie sposób, bo tak jak powiedziałem zastosowań jest nieskończenie wiele, wszystko zależy od pomysłowości a ten kontroler jest uniwersalny.


Jeśli chcecie dowiedzieć się więcej, polecam tę książkę:

Arduino 65 Praktycznych Projektow.PDF
https://chomikuj.pl/kubuspucharek/ARDUINO/Arduino+65+Praktycznych+Projektow,5610363988.rar(archive)





Filmów na youtube jest sporo, lecz ja postanowiłem że pokażę wam
serię filmów A TAKŻE artykułów, w których krok po kroku, także przy pomocy fotek
pokażę wam (jak dla początkujących) jak coś sensowego i przydatnego zbudować.
Wystarczy tylko że będziecie mnie naśladowali a wyjdą wam wspaniałe projekty!





STARTUJEMY: zbieramy i instalujemy zestaw


Czego potrzebujemy?

Jeśli mamy wielkie plany, najlepiej zakupić sobie od razu największy kontroler z największą ilością pamięci i pinów, ja wybrałem klon arduino:

Moduł Mega2560 na układzie Atmega2560-16A U
do zakupienia m.in. tutaj:
https://nowyelektronik.pl/index.php?id_product=89227&controller=product

dlaczego ten (skoro są inne o wiele tańsze)? bo ten moduł posiada aż 54 wejścia i wyjścia (w tym 15 PWM) analogowych wyjść ma 16, pamięci Flash ma aż 256kB (w tym 8kB zarezerwowane przez bootloader) pamięć EEPROM to 4kB  - te parametry w zupełności wystarczą do wielu prostych oraz bardzo zaawansowanych projektów w przyszłości, najlepiej więc zainwestować raz a porządnie w płytkę, która zaoferuje nam jak najwięcej niżbyśmy mieli potem narzekać że brakuje nam "zasobów" by zbudować sobie jakiś fajny rozbudowany projekt.


Po zakupie płytki, musimy ją zainstalować w naszym komputerze, a więc pobieramy sterownik:
https://drive.google.com/open?id=1xc2JnBa6zlfc-gBw1P87o9Qm6QA0XxXN
pojawi się nam nowe urządzenie, port COM





Aby rozpocząć przygodę, potrzebujemy prostego wyświetlacza, ja polecam gotowca, nad którego połączeniem nie trzeba zbytnio myśleć, bo po prostu kupujemy gotowca z pinami, którego wkładamy wprost w piny kontrolera a przy okazji mamy już wbudowane kilka przycisków funkcyjnych, mówię tutaj o wyświetlaczu:

"LCD keypad shield ARDUINO"

do kupienia tutaj:
https://nowyelektronik.pl/index.php?id_product=89399&controller=product
lub tutaj:
https://botland.com.pl/pl/arduino-shield-klawiatury-i-wyswietlacze/2729-dfrobot-lcd-keypad-shield-v11-wyswietlacz-dla-arduino.html

Po zakupie po prostu podpinamy go do naszej płytki arduino, wiedząc tylko jak, zobaczcie sami:





Musicie tylko uważać by nie zrobić zwarcia w tym miejscu gdyż port USB jest zbyt wysoko i może dociskać do pinów, uważajcie na to miejsce, nie dociskajcie do końca lub coś tam wciśnijcie jakiś element izolujący:



Tak wygląda gotowy zestaw:






PRZYGOTOWANIE: instalujemy i konfigurujemy program


Kolejny krok: pobieramy główny program, w którym będziemy przygotowywali kod (programowanie kontrolera):

https://drive.google.com/open?id=1hUprPP1Ifr5ATcs_CoB-cFg72V2A65CJ

uruchamiamy aplikację na komputerze






 i zmieniamy ustawienia:



Port wybieramy na taki pod jakim zainstalowała się wcześniej nasza płytka:






ZADANIE: budujemy prosty wyświetlacz napisów



Kolejny krok: wgrywamy tzw. sketch (czyli gotowy kod programujący płytkę),
wklejamy ten kod do programu:


#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);           // select the pins used on the LCD panel
// define some values used by the panel and buttons
int lcd_key     = 0;
int adc_key_in  = 0;
#define btnRIGHT  0
#define btnUP     1
#define btnDOWN   2
#define btnLEFT   3
#define btnSELECT 4
#define btnNONE   5
int read_LCD_buttons(){               // read the buttons
    adc_key_in = analogRead(0);       // read the value from the sensor
    // my buttons when read are centered at these valies: 0, 144, 329, 504, 741
    // we add approx 50 to those values and check to see if we are close
    // We make this the 1st option for speed reasons since it will be the most likely result
    if (adc_key_in > 1000) return btnNONE;
    // For V1.1 us this threshold
    if (adc_key_in < 50)   return btnRIGHT;
    if (adc_key_in < 250)  return btnUP;
    if (adc_key_in < 450)  return btnDOWN;
    if (adc_key_in < 650)  return btnLEFT;
    if (adc_key_in < 850)  return btnSELECT;
   // For V1.0 comment the other threshold and use the one below:
   /*
     if (adc_key_in < 50)   return btnRIGHT;
     if (adc_key_in < 195)  return btnUP;
     if (adc_key_in < 380)  return btnDOWN;
     if (adc_key_in < 555)  return btnLEFT;
     if (adc_key_in < 790)  return btnSELECT; 
   */
    return btnNONE;                // when all others fail, return this.
}
void setup(){
   lcd.begin(16, 2);               // start the library
   lcd.setCursor(0,0);             // set the LCD cursor   position
   lcd.print("elektrodynka.tk");  // print a simple message on the LCD
}

void loop(){
   lcd.setCursor(9,1);             // move cursor to second line "1" and 9 spaces over
   lcd.print(millis()/1000);       // display seconds elapsed since power-up
   lcd.setCursor(0,1);             // move to the begining of the second line
   lcd_key = read_LCD_buttons();   // read the buttons
   switch (lcd_key){               // depending on which button was pushed, we perform an action
       case btnRIGHT:{             //  push button "RIGHT" and show the word on the screen
            lcd.print("forum ");
            break;
       }
       case btnLEFT:{
             lcd.print("grupa "); //  push button "LEFT" and show the word on the screen
             break;
       } 
       case btnUP:{
             lcd.print("czat ");  //  push button "UP" and show the word on the screen
             break;
       }
       case btnDOWN:{
             lcd.print("portal ");  //  push button "DOWN" and show the word on the screen
             break;
       }
       case btnSELECT:{
             lcd.print("tv");  //  push button "SELECT" and show the word on the screen
             break;
       }
       case btnNONE:{
             lcd.print("witaj ");  //  No action  will show "None" on the screen
             break;
       }
   }
}

Pobierz gotowca:
https://drive.google.com/open?id=1p72aixBPNxXdyfmHDd27qP1W018I7XGY

A potem kompilujemy i wgrywamy na płytkę:







GOTOWY EFEKT: 









Link do katalogu z plikami dotyczącymi ARDUINO:


Polecam także kurs dla początkujących:
https://forbot.pl/blog/kurs-arduino-podstawy-programowania-porty-io-id3648




Nie masz arduino?
Skorzystaj z darmowego symulatora,
gdzie zaprojektujesz i przetestujesz najróżniejsze pomysły:


Whatsapp Button works on Mobile Device only

Wpisz czego szukasz i kliknij w ikonkę lupy