Jump to content

User:Mmuhlbock/enes100/Arduinomotorcontrol

From Wikiversity

Week0 Activities

[edit | edit source]

Problem/project Goal

[edit | edit source]

Create an easy to understand tutorial that clearly demonstrates how an individual could use an Arduino board to power any type of motor. From just simply turning it off and on to varying the speed of the motor. All this will be included in the tutorial

My First Task

[edit | edit source]

Gain a solid understanding of basic Arduino language. From how to set up your code to, defining pins, and the multitude of different functions that are available to use

Week1 Activities

[edit | edit source]

Summary of actual work over first weekend

[edit | edit source]

Gain a solid foundation in the Arduino language to further build on in successive weeks to come.

Week1 Narrative

[edit | edit source]

The first place I went to learn was the main Arduino site Arduino.cc and I went through 4 different learning libraries that they had under basics.

The first was bare minimum and in this one I learned just what the name says the bare minimum. It went over what you need to know to even start programing it goes over the void setup and void loop functions The second one was Blink we actually did this one earlier in the semester so I glanced over it. But it essentially teaches you how to change different values in your code to actually show you some physical result in the form of an LED blinking slower or faster. Then the next one was the digital read serial and it basically shows you how to monitor the state of a switch by establishing serial communication between your Arduino and your computer over USB. The Last one is called Fade and it demonstrates the use of the analogWrite() function in fading an LED off and on. AnalogWrite uses pulse width modulation (PWM), turning a digital pin on and off very quickly, to create a fading effect.

My Second Task

[edit | edit source]

Split up the different sections of knowledge needed to control motors with an Arduino and begin making that section of the tutorial.

Week2 Activities

[edit | edit source]

Summary of actual work over second weekend

[edit | edit source]

Week2 Narrative

[edit | edit source]

My Third task

[edit | edit source]

Week3 Activities

[edit | edit source]

Summary of actual work over third weekend

[edit | edit source]

This week we decided to split up the responsibility to create a tutorial for the different types of motors that can be controlled with the Arduino. I was assigned Servo motors. The objective was to create a simple code that I could breakdown so another team could pick it up and modify it for their own project.

Week3 Narrative

[edit | edit source]

Was going to just focus on servo motors bu then learned that servos use something call Pulse Width Modulation more commonly referred to as PWM. So I made a document that focuses on what exactly PWM and how exactly you can control it to use a servo motor because i think anyone who wants to use a servo motor will need a foundation in what PWM. This can be found in the team doc on our team page. It also includes the beginnings of a tutorial to control a servo motor with code that will be finished next week

My Fourth task

[edit | edit source]

finish servomotor tutorial and make it so people can follow it easily for there own purposes.


Summary of actual work over fourth weekend

[edit | edit source]

Developed a a program that can control the servo motor and make the arm go in a certain degree and stay there using the Void loop function as servo motors are designed to stay in a designated possition if power is being fed to it.

Week4 Narrative

[edit | edit source]

Wrote a simple sketch as seen below. I used this code in my tutorial and I adjusted the Int pulse value to demonstrate the different angles you can postion the motor to and I posted videos in the tutorial which can be found Here. The video posted show the motor going to 90 and 180 degrees. When I first stared writing the code i struggled with defining the times for the PWM but after a considerable amount of trial and error and research I figured out how get the motor into the positions i wanted it to go in.


int servopin = 4;
int pulse = 2500;


void setup()
{
  pinMode(servopin, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  digitalWrite(servopin, HIGH);
  delayMicroseconds(pulse);
  digitalWrite(servopin, LOW);
  delay(20);
 
 
}

Team Page

[edit | edit source]

Arduino Motor Control/P2-501 CDMN