arduino circuits and code. int ledpin = 9; void setup() { pinmode(ledpin, output); } void loop() {...
TRANSCRIPT
![Page 1: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/1.jpg)
Arduino Circuits and Code
![Page 2: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/2.jpg)
int ledPin = 9; void setup() pinMode(ledPin, OUTPUT);
void loop() digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin, HIGH); delay(1000); for (int i = 0; i<=255; i++) analogWrite(ledPin, i); delay(10);
power
led
groundresistor
digital and analog write(actuator - led)
![Page 3: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/3.jpg)
• it matters which way round you put the ledlong leg to positive
• Resitance = (VS - VL) / IVS = supply voltage , VL = LED voltage, I = LED
current
• pwm pins for analogWrite
things to remember
![Page 4: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/4.jpg)
digital read(sensor - button)
int inputPin = 9; int val = 0;
void setup() pinMode(inputPin, INPUT); Serial.begin(9600);
void loop() val = digitalRead(inputPin); Serial.println(val);
5Vbutton
ground
pin 9
10kΩ
![Page 5: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/5.jpg)
• use serial prints for debugging
• resistor needed in circuit
• debounce
things to remember
![Page 6: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/6.jpg)
analog read(sensor - ldr)
int inputPin = 5; int val = 0;
void setup() Serial.begin(9600);
void loop() val = analogRead(inputPin); Serial.println(val);
ldr
5V
ground
pin5
![Page 7: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/7.jpg)
analog read(sensor - potentiometer)
![Page 8: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/8.jpg)
• values 0 to 1023 - use map to get 0 to 255
• use millis() instead of delay
things to remember
![Page 9: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/9.jpg)
![Page 10: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/10.jpg)
servos
#include <Servo.h> Servo myservo; // create servo object to control a servo // a maximum of eight servo objects can be created int pos = 0; void setup() myservo.attach(9); // attaches pin 9 to the servo object void loop() for(pos = 0; pos < 180; pos += 1) myservo.write(pos); delay(15); for(pos = 180; pos>=1; pos-=1) myservo.write(pos); delay(15);
![Page 11: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/11.jpg)
servos
• common rotation range is 180º
• good for smooth continuous motion
• servo library uses pins 9 and 10
• servo needs time to reach destination
![Page 12: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/12.jpg)
steppers
![Page 13: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/13.jpg)
steppers
#include <Stepper.h>
// change this to the number of steps on your motor#define STEPS 100
Stepper stepper(STEPS, 4, 5, 6, 7);
void setup() // set the speed of the motor to 30 RPMs stepper.setSpeed(30);
void loop() stepper.step(100); delay(1000);
*
![Page 14: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/14.jpg)
stepper
• can rotate 360º
• can lock into fixed position - strong torque
• precise position setting
• stepper library
![Page 15: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/15.jpg)
dc motors
![Page 16: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/16.jpg)
dc motors
const int motor1Pin = 3; const int motor2Pin = 4; const int enablePin = 9;
void setup()
// set all the pins you're using as outputs: pinMode(motor1Pin, OUTPUT); pinMode(motor2Pin, OUTPUT); pinMode(enablePin, OUTPUT);
// set enablePin high so that motor can turn on: digitalWrite(enablePin, HIGH); //to control the speed of the motor //analogWrite(enablePin, 30)
void loop() digitalWrite(motor1Pin, LOW); // set leg 1 of the H-bridge low digitalWrite(motor2Pin, HIGH); // set leg 2 of the H-bridge high // swap HIGH and LOW values to change motor direction // set both HIGH or both LOW to stop motor
![Page 17: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/17.jpg)
dc motors
• torque
• gears
• direction and speed
![Page 18: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/18.jpg)
solenoids
![Page 19: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/19.jpg)
solenoid
boolean drum[] = 1, 0, 0, 0, 0, 1, 0, 1;int drumPin = 2;int counter;
void setup() pinMode(drumPin, OUTPUT); counter = 0;void loop() digitalWrite(drumPin, drum[counter]);
if(counter == 7) counter = 0; else counter++; delay(200); // delay between beats
![Page 20: Arduino Circuits and Code. int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, LOW); delay(1000); digitalWrite(ledPin,](https://reader035.vdocuments.us/reader035/viewer/2022062217/5697bfee1a28abf838cb983f/html5/thumbnails/20.jpg)
solenoids
• push and pull - use springs
• toy hacking - reed relays