Monday, October 15, 2018

Arduino Drawing Robot - How to do Art with Arduino and a Pin

In this post will see how this Arduino controlled robot can make beautiful patterns and drawings.



Gathering Parts



Arduino Uno
2 5v Stepper Motors
Micro Servo
ULN2803
Breadboard


Code
You can get the code from here.




Making the frame




Circuit diagram

Installing Wheels




Mounting Servo for Pen movement




Final Assembly and Test



Source
https://www.instructables.com/id/Arduino-Drawing-Robot/

Sunday, October 14, 2018

Modify your old RC Car into that new modern smartphone controlled car with Arduino and Bluetooth

Who have every played with his toy RC car?
Today you can turn your old RC car into an advanced Android RC car using Arduino and Bluetooth shield in simple straight forward steps.



First you need to get the car that fits all of those simple components required for the new control circuit.


Then you need to get all of the stuff out of it. You can find room for your control board as those modern circuits are much smaller than regular ones.


What you’ll need

Arduino UNO
HC-06 Bluetooth shield
L293D IC
12v Lipo battery pack
Some resistors


And you need the program that controls the circuit




Android program:

https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller




Source:
https://www.instructables.com/id/Arduino-Bluetooth-RC-Car-Android-Controlled/

Saturday, October 13, 2018

Beginner's Dream Quadcopter - Arduino and Bluetooth Micro Quadcopter



This is sure the Beginner's Dream Quadcopter. I've searched a lot for a Quadcopter like this. Today I've found it.




I didn't ask too much. But I couldn't find it until today. And that's why I wanted to share it with you.

Why would it make the Beginner's Dream Quadcopter?

Simplicity
This is one of the simplest quadcopter circuit I've seen recently.  It uses Arduino Nano as its main controller. As for quadcopter stabilization it uses 6050 MPU Module.
User control interfacing circuit is achieved via HC-06 Bluetooth module. This means that you can control this little quadcopter from your smartphone.

Motor drive circuits is built using four transistors.





Source: instructables



Monday, June 25, 2018

Cool and Simple Arduino Metal Detector

We all love Arduino and look for cool ways to make new stuff with it.
This post is dedicated to our Facebook Page fan AbdUllah Hanfy . Thank you for sharing ideas about new ways of using Arduino. If anyone has a new idea about using Arduino in a new or productive circuit don't hesitate to share or ask.
This post is about Metal Detector Circuit. It's about using Arduino as the main controller for the Metal Detector.

I've searched the web and found many circuits of Metal Detectors. Some are as simple as built around the famous 555 timer IC and some are based on Arduino and others are so sophisticated with LCD touch screens.

I believe in simplicity in electronic circuits. Here I'm introducing a fairly simple yet efficient Arduino Metal Detector.

It's simple that it uses limited number of components. And it's efficient as it does its function in detecting metal in fail accuracy and giving visual and audible indications.
I hope you like it. So let's get started.

Theory of operation


This Metal Detector operates using the self inductance in different metals. As the coil comes near a magnetic metal such as Iron, the coil inductance increases and as the coil comes near a non magnetic material such as Copper, the inductance decreases.

As a rule of thumb, the detector is sensitive to objects at a distance or depth up to the radius of the coil. It is most sensitive to objects in which a current can flow in the plane of the coil, and the response will correspond to the area of the current loop in that object.

The function of the circuit is continuous measurement of the coil impedance and determining the presence of metal of both types.

Components

Arduino UNO R3
10nF capacitor
Small signal diode, e.g. 1N4148
220-ohm resistor
For power:
USB power bank with cable
For visual output:
2 LEDs of different colour e.g. blue and green
2 X 220Ohm resistors
For sound output:
Passive buzzer
Microswitch to disable sound
For earphone output:
Earphone connector
1 k Ohm resistor
Earphones
To easily connect/disconnect the search coil:
2 pin screw terminal
For the search coil:
~5 meters of thin electric cable
Structure to hold the coil. Must be stiff but does not need to be circular.
For the structure:
1 meter stick, e.g wood, plastic or selfie stick.

The Coil

Nearly 20 turns of wire.

Connections



Circuit


Final Assembly


Software


// Metal detector
// Runs a pulse over the search loop in series with resistor
// Voltage over search loop spikes
// Through a diode this charges a capacitor
// Value of capacitor after series of pulses is read by ADC

// Metal objects near search loop change inductance.
// ADC reading depends on inductance.
// changes wrt long-running mean are indicated by LEDs
// LED1 indicates rise in inductance
// LED2 indicates fall in inductance
// the flash rate indicates how large the difference is

// wiring:
// 220Ohm resistor on D2
// 10-loop D=10cm seach loop between ground and resistor
// diode (-) on pin A0 and (+) on loop-resistor connection
// 10nF capacitor between A0 and ground
// LED1 in series with 220Ohm resistor on pin 8
// LED2 in series with 220Ohm resistor on pin 9

// First time, run with with serial print on and tune value of npulse
// to get capacitor reading between 200 and 300

const byte npulse = 3;
const bool sound = true;
const bool debug = false;

const byte pin_pulse=A0;
const byte pin_cap =A1;
const byte pin_LED1 =12;
const byte pin_LED2 =11;
const byte pin_tone =10;

void setup() {
if (debug) Serial.begin(9600);
pinMode(pin_pulse, OUTPUT);
digitalWrite(pin_pulse, LOW);
pinMode(pin_cap, INPUT);
pinMode(pin_LED1, OUTPUT);
digitalWrite(pin_LED1, LOW);
pinMode(pin_LED2, OUTPUT);
digitalWrite(pin_LED2, LOW);
if(sound)pinMode(pin_tone, OUTPUT);
if(sound)digitalWrite(pin_tone, LOW);
}

const int nmeas=256; //measurements to take
long int sumsum=0; //running sum of 64 sums
long int skip=0; //number of skipped sums
long int diff=0; //difference between sum and avgsum
long int flash_period=0;//period (in ms)
long unsigned int prev_flash=0; //time stamp of previous flash

void loop() {
int minval=1023;
int maxval=0;

//perform measurement
long unsigned int sum=0;
for (int imeas=0; imeas//reset the capacitor
pinMode(pin_cap,OUTPUT);
digitalWrite(pin_cap,LOW);
delayMicroseconds(20);
pinMode(pin_cap,INPUT);
//apply pulses
for (int ipulse = 0; ipulse < npulse; ipulse++) {
digitalWrite(pin_pulse,HIGH); //takes 3.5 microseconds
delayMicroseconds(3);
digitalWrite(pin_pulse,LOW); //takes 3.5 microseconds
delayMicroseconds(3);
}
//read the charge on the capacitor
int val = analogRead(pin_cap); //takes 13x8=104 microseconds
minval = min(val,minval);
maxval = max(val,maxval);
sum+=val;

//determine if LEDs should be on or off
long unsigned int timestamp=millis();
byte ledstat=0;
if (timestampif (diff>0)ledstat=1;
if (diff<0 ledstat="2;<br">}
if (timestamp>prev_flash+flash_period){
if (diff>0)ledstat=1;
if (diff<0 ledstat="2;<br">prev_flash=timestamp;
}
if (flash_period>1000)ledstat=0;

//switch the LEDs to this setting
if (ledstat==0){
digitalWrite(pin_LED1,LOW);
digitalWrite(pin_LED2,LOW);
if(sound)noTone(pin_tone);
}
if (ledstat==1){
digitalWrite(pin_LED1,HIGH);
digitalWrite(pin_LED2,LOW);
if(sound)tone(pin_tone,2000);
}
if (ledstat==2){
digitalWrite(pin_LED1,LOW);
digitalWrite(pin_LED2,HIGH);
if(sound)tone(pin_tone,500);
}

}
//subtract minimum and maximum value to remove spikes
sum-=minval; sum-=maxval;

//process
if (sumsum==0) sumsum=sum<<6 br="" expected="" set="" sumsum="" to="" value="">long int avgsum=(sumsum+32)>>6;
diff=sum-avgsum;
if (abs(diff)>10){ //adjust for small changes
sumsum=sumsum+sum-avgsum;
skip=0;
} else {
skip++;
}
if (skip>64){ // break off in case of prolonged skipping
sumsum=sum<<6 br="">skip=0;
}

// one permille change = 2 ticks/s
if (diff==0) flash_period=1000000;
else flash_period=avgsum/(2*abs(diff));

if (debug){
Serial.print(nmeas);
Serial.print(" ");
Serial.print(minval);
Serial.print(" ");
Serial.print(maxval);
Serial.print(" ");
Serial.print(sum);
Serial.print(" ");
Serial.print(avgsum);
Serial.print(" ");
Serial.print(diff);
Serial.print(" ");
Serial.print(flash_period);
Serial.println();
}

}

Testing


Source: Instructables

Sunday, June 24, 2018

Arduino ATTINY PROGRAMMING SHIELD

I still remember the old days of early embedded systems kits and board. Those days where you had to make your own chips programming circuits because they were hard to find and too expensive.


You also had to wire your programmer on the circuit and then connect it to the PC using Parallel or Serial Ports.

When things got advanced, those Parallel and Serial Ports became hard to find. Even ready made programmers and DIY programmers started to be pain in the neck as they only worked with legacy technology PCs and Laptops.

Then the next generation of programmers came and it supported the more advanced USB ports.
Now you can program any chip with your USB programmer.

And then came the Arduino. It started a new age of embedded systems. New kits were introduced and there became new way of programming embedded chips.

Arduino made life much easier. Now you can make a DIY programmer for virtually any Microcontroller chip you like.

Just build the circuit, connect it to Arduino and then program your chip at once.

You can even make your circuit in Arduino Shield form that can fit on top of one of Arduino boards.

Here is how you can program Attiny Microcontroller and make it a standalone Arduino on a chip. 

This Microcontroller as you know is from Atmel family and behaves exactly as Arduino.

So if you program it with Arduino firmware you can have your own small footprint Arduino.

Component

Attiny85
Protoboard
Male Header Pins
10uF Capacitor
IC socket
1K resistor and LED
Arduino UNO or Mega

Circuit


Software

The best part is that you don't need any external software as a loader. You can actually use Arduino IDE as a firmware loader after you define Attiny chip on Arduino IDE.

Picture of Programming the Attiny





Source: instructables

TURBINEONE V2 : SUPER SIMPLE WIND TURBINE YOU CAN MAKE NOW

This is a new post about one of my favorite DIY projects.


I've succeeded in building my first working wind turbine made of recycled materials and posted it on instructables.





However, due to the nature of this wind turbine hub and blades it didn't withstand environmental conditions like Sun and Wind.



It eventually broke. Now I've decided to build my new wind turbine.

Also made from recycled materials and even easier to make.

It's also made from stronger materials so it can last longer and withstand environmental conditions.

Read all the story from here.

Last year I made TurbineOne , a completely recycled material wind turbine. Actually it was so simple and easy to make. But it was also so fragile due to the fact that its hub was made of compact discs CDs. As you can see in the photo, strong wind in one day has cracked the hub leaving the blades unconnected. The project was very inspiring and motivational. I've learned new stuff.
This year I wanted to make something more durable. With Simplicity and Recycling in mind I came up with a new idea of making a wind turbine using ready made blades from an old fan. Here comes the concept idea behind TurbineOne V2.

Step 1: Concept

I've tested making this turbine setup in one of my previous instructable. I wanted to make a quick test for the concept.

Of course, it was something obvious and very straight forward but I wanted to really make sure that the wind is able to rotate the fan blades and resist the high motor torque.

I was in doubt because the motor had high rotation torque resistance. So I tried it in this instructable.

It worked excellent even in slow wind. I was really surprised and it made me more motivated to finish this wind turbine setup.

Step 2: Components
Here are the components for this project , you can see that nearly all of them are recycled materials :


This was the only new component I bought for this project.
Old steel groom --- This is the main pole for the wind turbine


Old CD-Rom player metal cover --- This is the directing rudder. For wind turbine automatic direction through all wind situations.
PET bottle ---- To cover and protect the motor against dust and water.
Some Wires

Step 3: Construction
Very simple construction.
First, make the cover of the motor using the PET bottle.
Cut the bottle in two halves and cover the motor with them. Use a solder iron to shrink the bottle around the motor.













Step 4: Install the Rudder
I wanted to make something new in this version so I've decided to install a directional rudder that can direct the wind turbine automatically.
In the previous version there were no rudder installed, so I had to adjust its direction everyday according to the wind direction.
I used an old CD drive cover as a rudder and connected it to the wind turbine using tie raps.
Installed the generator to the pole using tie raps around it.
Connect a long wire to the motor terminals.





Step 5: Test
Put the wind turbine pole on a high place where you can have enough wind to run your wind turbine.

Check my book on Amazon Learn By Making.





Here is the project on my page on instructables

http://www.instructables.com/id/TurbineOne-V2-Super-Simple-Wind-Turbine-You-Can-Ma/


This post has been featured on Hackaday website. It has been dubbed as The Most Straightforward Wind Turbine.

https://hackaday.com/2017/07/26/the-most-straightforward-wind-turbine