prižiganje lučk z arduinom
TRANSCRIPT
Prižiganje lučk z Arduinom
Kaj bomo danes počele?Spoznale:
● Arduino Nano● Testno ploščico (Breadboard)● LED lučke, upornike, žičke, foto senzorje● Osnove programiranja v C++ (spremenljivke, funkcija, for zanka)
● Koda: https://github.com/22nds/lfu-arduino-basics ● Arduino IDE: https://www.arduino.cc/en/Main/Software
Kaj potrebujemo?● 2 x LED● 1 x RGB LED● 3 x 220 Ohm upornik● 1 x 1k Ohm upornik● 2 x žičke● 1 x gumb● 1 x senzor svetlobe● Testna ploščica (Breadboard)● USB kabel● Računalnik● Programska oprema (Arduino, Processing)
Arduino Nano Arduino Uno ->
● Uradna stran: https://store.arduino.cc/arduino-nano
Programska oprema za Arduino● Arduino IDE https://www.arduino.cc/en/Main/Software ali ● Arduino Editor (online) https://create.arduino.cc/editor/ ali● ArduinoDroid (Android): https://play.google.com/store/apps/details?id=name.antonsmirnov.android.arduinodroid2
Nastavitve za Arduino v Arduino IDE (Win/Linux)
sudo chmod 777 /dev/ttyUSB0
Namestitev gonilnikov za Windows● /driver/CH34x_Install_Windows_v3_4.zip ali● http://sparks.gogo.co.nz/ch340.html ali● http://www.arduined.eu/ch340-windows-8-driver-download/
Gonilniki za Machttps://kig.re/2014/12/31/how-to-use-arduino-nano-mini-pro-with-CH340G-on-mac-osx-yosemite.html
Na Linuxu so gonilniki že nameščeni!
Source: https://static.ebayinc.com/static/assets/Uploads/Stories/Articles/_resampled/ScaleWidthWyI3NTgiXQ/castroevent3.jpg
Analogni pinianalogRead()
Digitalni pinipinMode()
DigitalRead()DigitalWrite()
AnalogWrite() - PWM 3, 5, 6, 9, 10, 11
Napajanje
Power LEDTest LED 13 (LED_BUILTIN)
Napajanje
Testna ploščica
LED lučke
LED RGB LED
+- R-GB
Uporniki - moč in računanje uporaUpornik se upira električnemu toku in mu preprečuje, da bi nemoteno tekel skozenj.
Napetost (V) = Tok(I) * Upor(R)
Upor: 220 OhmovNapetost: 5 Voltov====================Tok: 23 mA (mili amperov)
5V = 23 mA * 220 Oh5V = 0.0227A * 220 Oh
100 Ohm 220 Ohm 1k Ohm
http://www.resistorguide.com/resistor-color-code-calculator/
http://www.resistorguide.com/resistor-color-code-calculator/
http://www.resistorguide.com/resistor-color-code-calculator/
Lučka brez programa [00]
Utripanje lučke [01]
int LED = 2;
void setup() { pinMode(LED, OUTPUT);}
void loop() {digitalWrite(LED, HIGH);delay(1000);digitalWrite(LED, LOW);delay(1000);
}
[01]
[02]Utripanje lučke ob pritisku na gumb
Utripanje lučke ob pritisku na gumb [02]
Izmenično utripanje LED lučk [03]
Izmenično utripanje [03]
int led_one = 2;int led_two = 3;
void setup() { // set up LED as OUTPUT pinMode(led_one, OUTPUT); pinMode(led_two, OUTPUT);}
void loop() { digitalWrite(led_one, HIGH); digitalWrite(led_two, LOW); delay(500); // wait 0.5 second digitalWrite(led_one, LOW); digitalWrite(led_two, HIGH); delay(500); // wait 0.5 second}
[03]
RGB lučkaPWM pins *Pulse Width Modulation
[04][05]
B G - R
RGB lučka menja barve [04]
int redPin = 3;int greenPin = 6;int bluePin = 5;
void setup() { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT);}
void loop(){
setColor(255, 0, 0); // reddelay(3000);setColor(0, 255, 0); // greendelay(2000);setColor(0, 0, 255); // bluedelay(1000);
}
void setColor(int red, int green, int blue){ analogWrite(redPin, red); analogWrite(greenPin, green); analogWrite(bluePin, blue);}
[04]
RGB lučka pulzajoče barve [05]
int redPin = 3;int greenPin = 5;int bluePin = 6;int i;
void setup() { // set up OUTPUTS pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT);}
void loop(){ for (i=0; i<=255; i++) { analogWrite(redPin, i); analogWrite(greenPin, 0); analogWrite(bluePin, 0); delay(5);
}}
[05]
Senzorji in serial port
Foto-upornik & Serial port [06]
Senzor svetlobe in LED lučka [07]
Senzor svetlobe in LED lučka
[07]
int sensorPin = A7;int led = 3;int input;int output;
void setup() {Serial.begin(9600);
}
void loop(){
input = analogRead(sensorPin);output = input / 4;delay(1000);analogWrite(led, output);Serial.print( input);Serial.print( " - ");Serial.println( output);
}
[07]
Processing Demo
https://processing.org/download/
Processing [08]
Foto-upornik & Serial port [08]
[08]int sensorPin = A7;int input;int output;
void setup() {Serial.begin(9600);
}
void loop(){
input = analogRead(sensorPin);output = input / 4;delay(10);Serial.println( output );
}
Processing sketch [08]
Processing - Rezultat [08]
Povezave
https://create.arduino.cc/projecthub
http://fritzing.org/download/
https://www.arduino.cc/reference/en/
Extra
Namestitev gonilnikov za Windows - 2● http://www.wch.cn/download/CH341SER_ZIP.html
SETUP.EXE