Fun with Arduino - a Series of Introductory Videos

Basic electrical and electronics, such as DC/Analog control.
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 30 DCC Servo Decoder

Post by RudyB »

Based on the code for the DCC Accessory Decoder we can create a Servo Decoder. All we have to do is add a couple lines of code to toggle the setpoint of the servo, based on the DCC status, and add the code to rotate the servos based on a millis() timer.

Link to Fun with Arduino 30 DCC Servo Decoder


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 31 Stepper Motor with 4 Pulse Driver

Post by RudyB »

With some applications a stepper motor is prefered over a servo. For instance for the continuous rotation of say a wind mill model. Or with applications like a turn table, a linear shift table or an elevator, a stepper motor can be of great help thanks to the accurate positioning that is possible.

In this video we connect a very cheap (less than $2,-) toy motor to our Arduino and run it. In the coming videos we'll look at features like change directon, speed control and accurate positioning, and we'll look at more powerful motors and drivers.

Link to Fun with Arduino 31 Stepper Motor with 4 Pulse Driver


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 32 Stepper Motor Change Direction and Control Speed

Post by RudyB »

In the previous video we made the stepper motor run. In this video we'll add 2 functions: change direction and control speed.


Link to Fun with Arduino 32 Stepper Motor Change Direction and Control Speed


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 33 Find Zero Switch or Sensor

Post by RudyB »

A stepper motor does not know where it is after power up. If we want to use a stepper for accurate positioning, we first have to define its ‘zero’ point. This can be done by slowly rotating the motor until a sensor or a micro switch is activated.

In this video we'll add a zero find routine as a preparation to the following vodeo where we will accurately position the motor. The video after that we will build a complete turn table control.

Link to Fun with Arduino 33 Find Zero Switch or Sensor


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 34 Rotate an Exact Number of Steps

Post by RudyB »

Now that we can find the zero switch or -sensor, we can start to position our application by rotating the motor an exact number of steps. No matter if the motor has to make 97 steps or maybe 144668 ... as long as the motor torque and the driver electronics voltage and current suffice in order to not lose steps on the way, we can position the motor with 1 step accuracy.

Fun with Arduino 34 Rotate an Exact Number of Steps


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 35 Turn Table Control with a Stepper Motor

Post by RudyB »

Now that we can find the zero switch or -sensor, and we know how to position our application by rotating an exact number of steps, we have all ingredients to build say a turn table, or a translating table or an elevator.

We use a Tuning sketch to determine the number of steps for every stop position, counting from the zero position. The numbers are entered into the Turntable Control sketch. Digital inputs are used to tell the Arduino to which position we want to move.

Link to Fun with Arduino 35 Turn Table Control with a Stepper Motor


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 36 Store Data in Non Volatile Memory EEPROM

Post by RudyB »

Because a stepper motor does not know where it is after startup, we need a way to find out where it is. We used a zero find routine to rotate the motor until a sensor is triggered. But suppose we were able to store the last position we moved to in memory and read it our after startup?

The good news is: this is possible. The Arduino has 1024 bytes of non volatile EEPROM memory on board. The video shows how we can write data to memory and how we can read it out at startup such that we can start to use our turntable immediately after starup, without the need to find zero first.

Link to Fun with Arduino 36 Store Data in Non Volatile Memory EEPROM


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 37 Control a NEMA 17 Stepper Motor with Easy Driver

Post by RudyB »

Several driver circuits are available to control a more powerful stepper motor like a NEMA 17. In this video the EasyDriver is used, but the software is applicable to any driver with Enable, Direction and Step inputs.

Link to Fun with Arduino 37 Control a NEMA 17 Stepper Motor with Easy Driver


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 38 - Ultrasonic Distance Measurement with HC-SR04

Post by RudyB »

The HC-SR04 is a sensor that has a little loudspeaker and a little microphone via which the distance to an object can be measured. It's ultrasonic, humans can not hear it.

Don't expect super high accuracy of this less than $1,- costing device, yet I was pleasantly surprised to see that measurements with an accuracy of a couple of mm are very well possible.

Link to Fun with Arduino 38 - Ultrasonic Distance Measurement HC-SR04


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 39 - OLED display SSD1306

Post by RudyB »

We're going to add an OLED display to the ultrasonic distance measurement of the previous video. Together with a battery it now becomes a fully handheld portable device. This is just for fun, the actual purpose is to introduce the OLED display ... once we have that up and running there's a whole lot of fun and useful applications where they can be applied.

Link to Fun with Arduino 39 - OLED dDisplay SSD1306


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Re: Fun with Arduino - a Series of Introductory Videos

Post by RudyB »

Fun with Arduino 40 - Station Platform Departure Display with Analog Clock

In the previous video we attached an OLED and we saw how to display a text and some lines. In this video we take this a step further, we'll make a station platform train departure sign with a working analog clock.

Via digital inputs a selection can be made of 6 different messages to display. This can be controlled via push buttons or via a DCC decoder.

The clock starts at a random time, this requires no other hardware than the Arduino and the OLED. In the next video we'll add a Real Time Clock module to make the clock run on actual time.

Link to Fun with Arduino 40 Station Platform Departure Display with Analog Clock


Image
Always try to have fun - website/blog - youtube channel
User avatar
RudyB
Posts: 250
Joined: Sat Sep 20, 2014 9:29 am

Fun with Arduino 41 Real Time Clock DS1307

Post by RudyB »

The station platform clock of the previous video runs, but it shows a random time. We can add a Real Time Clock module to have it show the current time. Several versions of Real Time Clock modules are available. This video is about the DS1307 RTC, which can be had for under $1,-.

Link to Fun with Arduino 41 Real Time Clock DS1307


Image
Always try to have fun - website/blog - youtube channel
Post Reply