0% found this document useful (0 votes)
7 views

#Include SoftwareSerial

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

#Include SoftwareSerial

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

#include "SoftwareSerial.

h"

#include "DFRobotDFPlayerMini.h"

#include "U8glib.h"

#define buton1 4

#define buton2 12

#define buton3 13

#define kat1 A0

#define kat2 A1

#define kat3 A2

int kat1led=5;

int kat2led=7;

int kat3led=6;

//-----------------Step Motor Global Kodları-------------------

const int motorPin1 = 8;

const int motorPin2 = 9;

const int motorPin3 = 10;

const int motorPin4 = 11;

const int birturadimsayisi = 540;

int bekleme =3;

//-------------------------------------------------------

//------------------Oled Ekran Global Kodları------------------

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);

//-------------------------------------------------------

//------------------Ses Çalma Kodu---------------------------

// Use pins 2 and 3 to communicate with DFPlayer Mini

static const uint8_t PIN_MP3_TX = 2; // Connects to module's RX

static const uint8_t PIN_MP3_RX = 3; // Connects to module's TX

SoftwareSerial softwareSerial(PIN_MP3_RX, PIN_MP3_TX);


// Create the Player object

DFRobotDFPlayerMini player;

//-------------------------------------------------------------

int hangikat=0;

int atilacakadimsayisi=120;

int geriatilacakadimsayisi=100;

bool katikisoyle=false;

bool katikitetik=false;

void setup() {

pinMode(buton1,INPUT);

pinMode(buton2,INPUT);

pinMode(buton3,INPUT);

pinMode(motorPin1, OUTPUT);

pinMode(motorPin2, OUTPUT);

pinMode(motorPin3, OUTPUT);

pinMode(motorPin4, OUTPUT);

pinMode(kat1led,OUTPUT);

pinMode(kat2led,OUTPUT);

pinMode(kat3led,OUTPUT);

Serial.begin(9600);

softwareSerial.begin(9600);

//--------------Ses Çalma Kodu----------------------

// Start communication with DFPlayer Mini

if (player.begin(softwareSerial)) {

Serial.println("OK");

// Set volume to maximum (0 to 30).


player.volume(25);

// Play the first MP3 file on the SD card

player.play(1);

} else {

Serial.println("Connecting to DFPlayer Mini failed!");

//-----------------------------------------------------

void loop() {

int buton1kontrol=digitalRead(buton1);

int buton2kontrol=digitalRead(buton2);

int buton3kontrol=digitalRead(buton3);

if(buton1kontrol==HIGH){

birincikatagit();

}else if(buton2kontrol==HIGH){

ikincikatagit();

}else if(buton3kontrol==HIGH){

ucuncukatagit();

}else{

Serial.println("Beklenmeyen problem var.");

void birincikatagit(){

int kat1mi=analogRead(kat1);

int kat2mi=analogRead(kat2);

int kat3mi=analogRead(kat3);

if(kat1mi<100){

digitalWrite(kat1led,HIGH);
digitalWrite(kat2led,LOW);

digitalWrite(kat3led,LOW);

player.play(2);

if(kat2mi<100){

digitalWrite(kat2led,HIGH);

player.play(3);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat1);

if(hangikat<100){

player.play(2);

break;

}else{

Serial.println("1. kata iniyor...");

yaz("Mert-Kaan","1. kata iniyor");

geriadimat(atilacakadimsayisi);

digitalWrite(kat1led,HIGH);

digitalWrite(kat2led,LOW);

digitalWrite(kat3led,LOW);

yaz("Mert-Kaan","1. kata indi.");

Serial.println("1. kata indi.");

if(kat3mi<100){

digitalWrite(kat3led,HIGH);

player.play(4);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat1);

kat2mi=analogRead(kat2);

if(hangikat<100){
break;

}else{

if(kat2mi<100 && katikisoyle==false){

digitalWrite(kat3led,LOW);

digitalWrite(kat2led,HIGH);

player.play(3);

katikisoyle=true;

Serial.println("1. kata iniyor...");

yaz("Mert-Kaan","1. kata iniyor");

geriadimat(atilacakadimsayisi);

player.play(2);

digitalWrite(kat1led,HIGH);

digitalWrite(kat2led,LOW);

digitalWrite(kat3led,LOW);

yaz("Mert-Kaan","1. kata indi.");

Serial.println("1. kata indi.");

katikisoyle=false;

void ikincikatagit(){

int kat1mi=analogRead(kat1);

int kat2mi=analogRead(kat2);

int kat3mi=analogRead(kat3);

if(kat1mi<100){

digitalWrite(kat1led,HIGH);

player.play(2);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat3);
if(hangikat<100){

break;

}else{

Serial.println("2. kata cikiyor...");

yaz("Mert-Kaan","2. kata cikiyor");

ileriadimat(atilacakadimsayisi);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat2);

if(hangikat<100){

break;

}else{

Serial.println("2. kata cikiyor...");

yaz("Mert-Kaan","2. kata cikiyor");

geriadimat(atilacakadimsayisi);

player.play(3);

digitalWrite(kat1led,LOW);

digitalWrite(kat2led,HIGH);

digitalWrite(kat3led,LOW);

yaz("Mert-Kaan","2. kata cikildi.");

Serial.println("2. kata cikildi.");

if(kat2mi<100){

digitalWrite(kat1led,LOW);

digitalWrite(kat2led,HIGH);

digitalWrite(kat3led,LOW);

player.play(3);

}
if(kat3mi<100){

digitalWrite(kat3led,HIGH);

player.play(4);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat2);

if(hangikat<100){

break;

}else{

Serial.println("2. kata iniyor...");

yaz("Mert-Kaan","2. kata iniyor");

geriadimat(atilacakadimsayisi);

player.play(3);

digitalWrite(kat1led,LOW);

digitalWrite(kat2led,HIGH);

digitalWrite(kat3led,LOW);

yaz("Mert-Kaan","2. kata indi.");

Serial.println("2. kata indi.");

void ucuncukatagit(){

int kat1mi=analogRead(kat1);

int kat2mi=analogRead(kat2);

int kat3mi=analogRead(kat3);

if(kat1mi<100){

digitalWrite(kat1led,HIGH);

player.play(2);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat3);

kat2mi=analogRead(kat2);
if(hangikat<100){

break;

}else{

if(kat2mi<100){

katikitetik=true;

if(kat2mi>100 && katikisoyle==false && katikitetik==true){

digitalWrite(kat1led,LOW);

digitalWrite(kat2led,HIGH);

player.play(3);

katikisoyle=true;

Serial.println("3. kata cikiyor...");

yaz("Mert-Kaan","3. kata cikiyor");

ileriadimat(atilacakadimsayisi);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat3);

if(hangikat>100){

break;

}else{

Serial.println("3. kata cikiyor...");

yaz("Mert-Kaan","3. kata cikiyor");

ileriadimat(atilacakadimsayisi);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat3);

if(hangikat<100){

break;
}else{

Serial.println("3. kata cikiyor...");

yaz("Mert-Kaan","3. kata cikiyor");

geriadimat(atilacakadimsayisi);

katikisoyle=false;

katikitetik=false;

player.play(4);

digitalWrite(kat1led,LOW);

digitalWrite(kat2led,LOW);

digitalWrite(kat3led,HIGH);

yaz("Mert-Kaan","3. kata cikildi.");

Serial.println("3. kata cikildi.");

if(kat2mi<100){

digitalWrite(kat2led,HIGH);

player.play(3);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat3);

if(hangikat<100){

break;

}else{

Serial.println("3. kata cikiyor...");

yaz("Mert-Kaan","3. kata cikiyor");

ileriadimat(atilacakadimsayisi);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat3);

if(hangikat>100){
break;

}else{

Serial.println("3. kata cikiyor...");

yaz("Mert-Kaan","3. kata cikiyor");

ileriadimat(atilacakadimsayisi);

for(int i=0;i<10000;i++){

hangikat=analogRead(kat3);

if(hangikat<100){

break;

}else{

Serial.println("3. kata cikiyor...");

yaz("Mert-Kaan","3. kata cikiyor");

geriadimat(atilacakadimsayisi);

player.play(4);

digitalWrite(kat1led,LOW);

digitalWrite(kat2led,LOW);

digitalWrite(kat3led,HIGH);

yaz("Mert-Kaan","3. kata cikildi.");

Serial.println("3. kata cikildi.");

if(kat3mi<100){

digitalWrite(kat1led,LOW);

digitalWrite(kat2led,LOW);

digitalWrite(kat3led,HIGH);

player.play(4);

}
void draw(String mesaj,String mesaj2) { // Ekran görsel yerleşimini ve
yazdırılacak metnin düzenlendiği bölüm.

u8g.setFont(u8g_font_profont12); // Yazının Fontu belirlendi.

u8g.setPrintPos(0, 28); // Yazının ekrandaki yeri belirlendi.

u8g.print(mesaj);

u8g.setFont(u8g_font_profont12);

u8g.setPrintPos(0, 56);

u8g.print(mesaj2);

void yaz(String mesaj1, String mesaj2){

u8g.firstPage();

do {

draw(mesaj1,mesaj2);

} while (u8g.nextPage());

delay(25);

void adim1() {

digitalWrite(motorPin1, HIGH);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, LOW);

delay(bekleme);

void adim2() {

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, HIGH);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, LOW);

delay(bekleme);

}
void adim3() {

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, HIGH);

digitalWrite(motorPin4, LOW);

delay(bekleme);

void adim4() {

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, HIGH);

delay(bekleme);

void ileriadimat(int adim){

for (int i = 0; i < adim ; i++){

adim1();

adim2();

adim3();

adim4();

void geriadimat(int adim){

for (int i = 0; i < adim ; i++){

adim4();

adim3();

adim2();

adim1();

You might also like