Aklınızda bir proje yapma fikri var ama daha karar veremediniz mi ? Eğer öyleyse bu yazımıza bakmanızı tavsiye ederiz . 🙂 Çünkü sizler için 5 kolay proje listeledik .
1. Arduino ile Mesafe Ölçme Uygulaması
Bu projede Arduino kullanarak mesafe ölçme uygulaması yapacağız. Bu projede kullandığımız malzemeler : Arduino Uno ,breadboard, HC-SR04 ultrasonik mesafe sensörü , 10k potansiyometre , 16×2 lcd ve jumper.
Arduino Kodu :
#define trig_Pin 8
#define echo_Pin 9
long mesafe =0;
long sure = 0;
void setup()
{
for ( int i=2; i<7; i++)
{
pinMode(i,OUTPUT);
}
pinMode(trig_Pin,OUTPUT);
pinMode(echo_Pin,INPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(trig_Pin,HIGH);
delayMicroseconds(1000);
digitalWrite(trig_Pin,LOW);
sure= pulseIn (echo_Pin,HIGH);
mesafe=(sure/29.1)/2;
if (mesafe>300)
mesafe=300;
Serial.print("Olculen Mesafe =");
Serial.print(mesafe);
Serial.print ("cm");
delay(100);
if(mesafe>0&&mesafe<=10)
{
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
}
else if(mesafe> 10&&mesafe<=20)
{
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
}
else if (mesafe>20&&mesafe<=30)
{
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
}
else if(mesafe>30&&mesafe<=40)
{
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
}
else
{
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
}
}
2. Arduino ile Trafik Lambası Yapımı
Kırmızı ,sarı, yeşil ! Evet trafik lambalarından bahsediyoruz. Her yerde gördüğümüz trafik lambalarını yapma sırası sizde . 🙂 Nasıl yapacağınızı merak ediyorsanız bu projeyi deneyebilirsiniz . Malzeme listemiz : Arduino Uno R3, breadboard, jumper, 100R direnç (3 adet), 5mm kırmızı led, 5mm sarı led, 5mm yeşil led. İşte hepsi bu kadar . 🙂
Arduino Kodu :
// variables
int GREEN = 2;
int YELLOW = 3;
int RED = 4;
int DELAY_GREEN = 5000;
int DELAY_YELLOW = 2000;
int DELAY_RED = 5000;
void setup ()
{
pinMode(GREEN, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(RED,OUTPUT);
}
void loop()
{
green_light();
delay(DELAY_GREEN);
yellow_light();
delay(DELAY_YELLOW);
red_light();
delay(DELAY_RED);
}
void green_light()
{
digitalWrite(GREEN,HIGH);
digitalWrite(YELLOW, LOW);
digitalWrite(RED,LOW);
}
void yellow_light()
{
digitalWrite(GREEN,LOW);
digitalWrite(YELLOW, HIGH);
digitalWrite(RED,LOW);
}
void red_light()
{
digitalWrite(GREEN,LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(RED,HIGH);
}
3. Arduino ile Piyano Yapımı
Ben müzik dinlemekten sıkıldım, kendim bir şeyler çalmak istiyorum diyenleri duyar gibiyiz . Sizleri unutmadık tabi ki . 🙂 Bu projemiz sizin için. Peki ne mi yapıyoruz ? Başlıktan da anladığınız gibi Arduino ile notaları çıkarabileceğiniz bir piyano devresi kuruyoruz. Oldukça eğlenceli projemiz için gerekenler Arduino Uno , buton (8 adet) , 10k Ohm direnç (8 adet) , buzzer , jumper . Malzemeler hazırsa başlayalım . 🙂
Arduino Kodu :
#define dok 264// kalın do. do komutu ile karışmasın diye dok yazıldı.
#define re 297
#define mi 330
#define fa 352
#define sol 396
#define la 440
#define si 495
#define doi 528// ince do.
//butonların bağlı olduğu pinleri belirliyoruz
const int Dokbuton = 2;
const int Rebuton = 3;
const int Mibuton = 4;
const int Fabuton = 5;
const int Solbuton = 6;
const int Labuton = 7;
const int Sibuton = 8;
const int Doibuton = 9;
//Butonların basılı olup olmadığını belirlemek için gerekli değişkenleri tanımlıyoruz
int buttonDokdurum = 0;
int buttonRedurum = 0;
int buttonMidurum = 0;
int buttonFadurum = 0;
int buttonSoldurum = 0;
int buttonLadurum = 0;
int buttonSidurum = 0;
int buttonDoidurum = 0;
void setup()
{
//Butonladan basılma değeri alacağımız için INPUT olarak ayarlıyoruz
pinMode(Dokbuton, INPUT);
pinMode(Rebuton, INPUT);
pinMode(Mibuton , INPUT);
pinMode(Fabuton, INPUT);
pinMode(Solbuton, INPUT);
pinMode(Labuton, INPUT);
pinMode(Sibuton , INPUT);
pinMode(Doibuton, INPUT);
}
void loop() {
//Döngü içinde butonları basılma durumlarını dinlemeye alıyoruz
buttonDokdurum = digitalRead(Dokbuton);
buttonRedurum = digitalRead(Rebuton);
buttonMidurum = digitalRead(Mibuton);
buttonFadurum = digitalRead(Fabuton);
buttonSoldurum = digitalRead(Solbuton);
buttonLadurum = digitalRead(Labuton);
buttonSidurum = digitalRead(Sibuton);
buttonDoidurum = digitalRead(Doibuton);
//Eğer butonlar basılırda buzzerdan istenen notalar çıkacaktır
if (buttonDokdurum == HIGH) {
tone(10, dok, 100); //burada 10 buzzerin bağlı olduğu pini, dok sesin değerini, 100 çalma süresini ifade ediyor
}
if (buttonRedurum == HIGH) {
tone(10, re, 100);
}
if (buttonMidurum == HIGH) {
tone(10, mi, 100);
}
if (buttonFadurum == HIGH) {
tone(10, fa, 100);
}
if (buttonSoldurum == HIGH) {
tone(10, sol, 100);
}
if (buttonLadurum == HIGH) {
tone(10, la, 100);
}
if (buttonSidurum == HIGH) {
tone(10, si, 100);
}
if (buttonDoidurum == HIGH) {
tone(10, doi, 100);
}
}
4. Arduino ile Radar Yapımı
Radarlar herkesin dikkatini çeken bir konu.Bizlerde bunu fark ettik ve hemen bir proje hazırlamaya karar verdik. Birkaç malzeme ile kendi radarını yapmak istersen projemizi denemeni tavsiye ederiz .Kullanacağımız malzemeler : Arduino Uno, servo motor ,HC-Sr04 ultrasonik mesafe sensörü ve jumper. Malzemeler hazırsa başlayalım . 🙂
Arduino Kodu :
#include <Servo.h>.
const int trigPin = 10;
const int echoPin = 11;
long duration;
int distance;
Servo myServo;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
myServo.attach(12);
}
void loop() {
for(int i=15;i<=165;i++){
myServo.write(i);
delay(30);
distance = calculateDistance();
Serial.print(i);
Serial.print(",");
Serial.print(distance);
Serial.print(".");
}
for(int i=165;i>15;i--){
myServo.write(i);
delay(30);
distance = calculateDistance();
Serial.print(i);
Serial.print(",");
Serial.print(distance);
Serial.print(".");
}
}
int calculateDistance(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance= duration*0.034/2;
return distance;
}
import processing.serial.*;
import java.awt.event.KeyEvent;
import java.io.IOException;
Serial myPort;
String angle="";
String distance="";
String data="";
String noObject;
float pixsDistance;
int iAngle, iDistance;
int index1=0;
int index2=0;
PFont orcFont;
void setup() {
size (1366, 700);
smooth();
myPort = new Serial(this,"COM3", 9600);
myPort.bufferUntil('.');
}
void draw() {
fill(98,245,31);
noStroke();
fill(0,4);
rect(0, 0, width, 1010);
fill(98,245,31);
drawRadar();
drawLine();
drawObject();
drawText();
}
void serialEvent(SerialmyPort)
{
data = myPort.readStringUntil('.');
data = data.substring(0,data.length()-1);
index1 = data.indexOf(",");
angle= data.substring(0, index1);
distance= data.substring(index1+1, data.length());
iAngle = int(angle);
iDistance = int(distance);
}
void drawRadar() {
pushMatrix();
translate(683,700);
noFill();
strokeWeight(2);
stroke(98,245,31);
arc(0,0,1300,1300,PI,TWO_PI);
arc(0,0,1000,1000,PI,TWO_PI);
arc(0,0,700,700,PI,TWO_PI);
arc(0,0,400,400,PI,TWO_PI);
line(-700,0,700,0);
line(0,0,-700*cos(radians(30)),-700*sin(radians(30)));
line(0,0,-700*cos(radians(60)),-700*sin(radians(60)));
line(0,0,-700*cos(radians(90)),-700*sin(radians(90)));
line(0,0,-700*cos(radians(120)),-700*sin(radians(120)));
line(0,0,-700*cos(radians(150)),-700*sin(radians(150)));
line(-700*cos(radians(30)),0,700,0);
popMatrix();
}
void drawObject() {
pushMatrix();
translate(683,700);
strokeWeight(9);
stroke(255,10,10);
pixsDistance = iDistance*22.5;
if(iDistance<40){
line(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),700*cos(radians(iAngle)),-700*sin(radians(iAngle)));
}
popMatrix();
}
void drawLine() {
pushMatrix();
strokeWeight(9);
stroke(30,250,60);
translate(683,700);
line(0,0,700*cos(radians(iAngle)),-700*sin(radians(iAngle)));
popMatrix();
}
void drawText() {
pushMatrix();
if(iDistance>40) {
noObject = "Out of Range";
}
else {
noObject = "In Range";
}
fill(0,0,0);
noStroke();
rect(0, 1010, width, 1080);
fill(98,245,31);
textSize(25);
text("10cm",800,690);
text("20cm",950,690);
text("30cm",1100,690);
text("40cm",1250,690);
textSize(40);
text("Object: " + noObject, 240, 1050);
text("Angle: " + iAngle +" °", 1050, 1050);
text("Distance: ", 1380, 1050);
if(iDistance<40) {
text(" " + iDistance +" cm", 1400, 1050);
}
textSize(25);
fill(98,245,60);
translate(390+960*cos(radians(30)),780-960*sin(radians(30)));
rotate(-radians(-60));
text("30°",0,0);
resetMatrix();
translate(490+960*cos(radians(60)),920-960*sin(radians(60)));
rotate(-radians(-30));
text("60°",0,0);
resetMatrix();
translate(630+960*cos(radians(90)),990-960*sin(radians(90)));
rotate(radians(0));
text("90°",0,0);
resetMatrix();
translate(760+960*cos(radians(120)),1000-960*sin(radians(120)));
rotate(radians(-38));
text("120°",0,0);
resetMatrix();
translate(840+900*cos(radians(150)),920-960*sin(radians(150)));
rotate(radians(-60));
text("150°",0,0);
popMatrix();
}
5. Arduino ile Radyo Yapımı
Biraz geçmişe dönmeye ne dersiniz. Eskiden oldukça sık kullandığınız ama şu an rafa kalkan radyolarınızı geri getirme zamanı. Hadi başlayalım . 🙂
Bu projemizde I2C üzerinden kontrollü FM radyo tasarımı yapıyoruz. T emel bilgilerle yapabileceğiniz bu proje için kullanmanız gerekenler , Arduino Uno , led ekran , radyo modülü, breadboard, 10k potansiyometre(2 adet), jumper. Projemizi denemek isterseniz buradaki linklerden gerekli malzemelere ulaşabilirsiniz. 🙂
Arduino Kodu :
#include <Wire.h>
#include <LiquidCrystal.h>
unsigned char frekansH = 0;
unsigned char frekansL = 0;
unsigned int frekansB;
double frekans = 0;
static char frekans_ekran[15];
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
Wire.begin();
lcd.begin(16, 2);
frekans = 93.0;
frekansAyarla();
lcd.setCursor(3, 0);
lcd.print("FM Radyo");
}
void loop()
{
int reading = analogRead(0);
frekans = ((double)reading * (108.0 - 87.5)) / 1024.0 + 87.5;
frekans = ((int)(frekans * 10)) / 10.0;
frekansAyarla();
dtostrf(frekans, 6, 2, frekans_ekran);
lcd.setCursor(4, 1);
lcd.print(frekans_ekran);
}
void frekansAyarla()
{
frekansB = 4 * (frekans * 1000000 + 225000) / 32768;
frekansH = frekansB >> 8;
frekansL = frekansB & 0XFF;
delay(100);
Wire.beginTransmission(0x60);
Wire.write(frekansH);
Wire.write(frekansL);
Wire.write(0xB0);
Wire.write(0x10);
Wire.write((byte)0x00);
Wire.endTransmission();
delay(100);
}
Umarız Arduino ile 5 kolay proje sizlere de projelerinizde destek olmuştur. 🙂 Arduino ile yapabileceğiniz farklı projelerimize göz atmak isterseniz aşağıdaki linkleri kullanabilirsiniz.
Rodeo(Arduino) ile Engelden Kaçan Robot Yapımı
3. uygulamada piyona yapımında arduinomuzu nasıl seçicez herhangi bi arduino olur mu
radarda motorla uzaklık ölçerin koblalarını nasıl birleştireceğiz
metehan, arduino uno olması lazım
radarda 80 satır hata verdi arduino ide