Arduino: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
Bez shrnutí editace |
|||
Řádek 6: | Řádek 6: | ||
[[Soubor:Kniha_Aruino.cz.png|link=http://arduino.cz/]] | [[Soubor:Kniha_Aruino.cz.png|link=http://arduino.cz/]] | ||
Ověřená sestava za 25.58 $ [http://nakupycina.cz/jak-na-nakup-z-ciny/clo-a-dph-za-zbozi-z-ciny/ Pozor] | |||
[[Soubor:Ardiono-sestava.jpg|300px|link=https://m.aliexpress.com/item/32231653909.html?aff_click_id=83c00347b7fc4903ba0b68dbaf62215a-1467587308768-00765-UneMJZVf&aff_platform=y#autostay]] | |||
* Mikrokontrolér: [[AVR]] ATmega168 / ATmega328 | * Mikrokontrolér: [[AVR]] ATmega168 / ATmega328 |
Verze z 2. 9. 2016, 11:40
Arduino | |
Ověřená sestava za 25.58 $ Pozor
|
Vývoj MIT aplikace s Arduino:
What we needs:
Sestavy:
Examples
/* Blink * http://www.arduino.cc/en/Tutorial/Blink
*/
int ledPin = 13; // LED je připojena na pin 13
void setup(){ // tato část proběhne jednou po startu
pinMode(ledPin, OUTPUT); // nastaví pin jako výstupní
}
void loop(){ // procedura
digitalWrite(ledPin, HIGH); // rozsvícení LED
delay(1000); // pauza 1s
digitalWrite(ledPin, LOW); // zhasnutí LED
delay(1000); // pauza 1s
}
Tools:
- .hex you can find in c:\Users\*\Local Settings\Temp\build*.tmp\*.hex
Tutorials:
Aplikace s Arduino
-
ARD07 LED Cube
-
ARD05 B4short s L293 + ping [1]
Videa
Experimenty
www
Arduino a PICAXE na Windows 8 64-bit
advance
Arduino IDE for programming Atmega Microcontrollers
How to program Arduino by using USBasp without bootloader
Building an Arduino on a Breadboard
Serial connection for your Arduino / Atmega
Basic Minimal Arduino Without Crystal
Burning the Bootloader on ATMega328 using Arduino UNO as ISP
USBASP Bootloading a ATMega328p with a 8MHz internal clock
Make your own arduino serverino
Shield
LoL Shield věnovaný sponzorem školy: jitenkaa, (zde je možné stavebnici objednat)
Co je k dispozici ?
-
USB převodník UART TTL s čipem CH340
-
HC-SR04 Ultrazvukový senzor-ultrasonic
-
Membránová klávesnice 4x3 Slim
-
L298N Arduino Duální Řadič DC Motor H-Můstek
-
Sensor Shield V5
-
RGB LED Strip
Examples 2
- LED bliká v Morseově abecedě SOS ( . . . - - - . . . ) s opakováním s časovým odstupem 4 sekundy
- 8 LED bliká dle pravdivostní tabulky tak, aby svítala v daném čase postupně jen jedna LED (had)
- Aktivací tlačítka LED, která předtím svítila zhasne
- Každým zmáčknutím tlačítka se změní stav LED na opačný
- Jedním tlačítkem LED zhasne a jiným se rozsvítí
Test tlačítka
void setup()
{
pinMode( 2, INPUT_PULLUP);
pinMode( 8, OUTPUT);
}
void loop()
{
digitalWrite( 8 , !digitalRead(2) );
}
const int buttonPin = 2; //
const int ledPin = 8; //
int buttonState = 0; // variable
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}
Traffic light
int pin;
void setup() {
for (int i=4; i <= 13; i++){
pinMode(i, OUTPUT);
}
}
void blik(int pin)
{
digitalWrite(pin, LOW);
delay(500);
digitalWrite(pin, HIGH);
}
void loop()
{
for (int i=4; i <= 13; i++){
blik(i);
}
}
DC motor
int MotorL1 = 3;
int MotorL2 = 11;
int MotorR1 = 5;
int MotorR2 = 6;
void loop() {
MotorForward();
delay(2000);
TurnLeft();
delay(2000);
}
void MotorForward() {
digitalWrite(MotorL1, LOW); //
digitalWrite(MotorL2, HIGH); //
digitalWrite(MotorR1, LOW); //
digitalWrite(MotorR2, HIGH); //
}
void TurnLeft() {
analogWrite(MotorL1, LOW); //
analogWrite(MotorL2, 128); //
analogWrite(MotorR1, 128); //
digitalWrite(MotorR2, LOW); //
}
RGB
.....
void loop()
{
setColor(255, 0, 0); // red
delay(1000);
setColor(0, 255, 0); // green
delay(1000);
setColor(0, 0, 255); // blue
delay(1000);
setColor(255, 255, 0); // red + green
delay(1000);
setColor(255, 0, 255); // red + blue
delay(1000);
setColor(0, 255, 255); // green + blue
delay(1000);
}
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
SR04 ultrasonic
#define trigPin 8
#define echoPin 9
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2); //
digitalWrite(trigPin, HIGH);
delayMicroseconds(10); //
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
Servo
#include <Servo.h>
Servo myservo;
int pos = 0;
void setup() {
myservo.attach(6);
Serial.begin (9600);
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
Serial.println(pos);
delay(20);
}
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
Serial.println(pos);
delay(20);
}
}
RBT servo
#include <Servo.h> // Include servo library
Servo servoLeft; // Declare left servo signal
unsigned char motion = 0;
void setup() // Built in initialization block
{
pinMode(5,INPUT_PULLUP);
pinMode(6,INPUT_PULLUP);
pinMode(7,INPUT_PULLUP);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(9,OUTPUT);
servoLeft.attach(9); //
Serial.begin (9600);
}
void loop()
{
motion = digitalRead(5) + digitalRead(6)*2 + digitalRead(7)*4;
Serial.print(motion);
Serial.println("");
switch(motion)
{
case 0b00000110: servoLeft.write(30); digitalWrite(4,HIGH); digitalWrite(3,HIGH); digitalWrite(2,LOW); break;
case 0b00000101: servoLeft.write(60); digitalWrite(4,HIGH); digitalWrite(3,LOW); digitalWrite(2,HIGH); break;
case 0b00000011: servoLeft.write(90); digitalWrite(4,LOW); digitalWrite(3,HIGH); digitalWrite(2,HIGH); break;
case 0b00000111: servoLeft.write(120); digitalWrite(4,HIGH); digitalWrite(3,HIGH); digitalWrite(2,HIGH); break;
delay(15);
}
}