Arduino
Z MediaWiki SPŠ a VOŠ Písek
Arduino | |
|
Obsah |
Vývoj MIT aplikace s Arduino:
What we needs:
Sestavy:
ATmega328 + bootloader Návod How to using PL2303
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
- Arduiono-robot-pepik.jpg
- Arduino-spsavos.jpg
- Arduino-pocitadlo.jpg
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 ?
Examples 2
void setup() { pinMode( 2, INPUT); pinMode( 3, OUTPUT); } void loop() { digitalWrite( 1 , digitalRead(2) ); }
const int buttonPin = 2; // const int ledPin = 3; // 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); } }
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); } }
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); // }
..... 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); }
#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); }
#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); } }
#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); } }