Otomatik Şeker Makinası - Arduino


Beğendiyseniz lütfen arkadaşlarınızla sosyal medyada paylaşın:

Arduino ile Otomatik Şeker Makinası  hobievi.com
NASIL ÇALIŞIR:
 
Ultrasonik sensöre birisi 20 cm yaklaşınca, servo çalışır, Mickey Mouse'un kafasını çeker ve şeker düşer.
 
5 saniye sonra servo eski yerine döner ve bir sonraki kişi beklenir. 
 
MALZEMELER:
 
- Basma veya çekme ile şeker veren bir ürün
- Arduino Uno veya Nano 
- Servo Motor
- Pil (9V tavsiye edilir)
 
DEVRE:
 
SERVO
Siyah ---> Arduino GND pin
Krmz ---> Arduino 5V pin
Beyaz/Sarı ---> Arduino 9 pin
 
ULTRASONIC SENSOR
GND pin ---> Arduino GND pin
VCC pin ---> Arduino 5V pin
TRIG pin ---> Arduino 12 pin
ECHO pin ---> Arduino 13 pin
 
Arduino ile Otomatik Şeker Makinası  hobievi.com

 
   

Bu da kodumuz:

 

 

-------------------------------
 
#include <Servo.h>
#include <Ultrasonic.h>
 
#define TRIGGER_PIN  12 // Ultrasonic sensor TRIGGER
#define ECHO_PIN     13 // Ultrasonic sensor ECHO
#define DISTANCE 20   // in Centimeters
#define WAITING 5000 // in milliseconds so this is 5 second. 
#define SERVO_PIN 9
#define CLOSE_POS 90 // servo in CLOSE/UP position
#define OPEN_POS 180 // servo in OPEN/BACK position
 
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
Servo myservo;  // create servo object to control the PEZ servo
 
void setup()
{
  Serial.begin(9600);
  myservo.attach(SERVO_PIN);  // attaches the servo to pin
  myservo.write(CLOSE_POS);   // turn servo to CLOSE/UP position
 
}
 
void loop()
{
 
  float cmMsec, inMsec;
  long microsec = ultrasonic.timing();
 
  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
  inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
 
// this is for debugging 
  Serial.print("MS: ");
  Serial.print(microsec);
  Serial.print(", CM: ");
  Serial.print(cmMsec);
  Serial.print(", IN: ");
  Serial.println(inMsec);
  delay(1000);
 
  if (cmMsec >= DISTANCE)  // if no one within distance of PEZ close mouth
  {
    myservo.write(CLOSE_POS);              // tell servo to go to CLOSE/UP
    delay(15);             // waits 15ms for the servo to reach the position
  }
 
if (cmMsec <= DISTANCE)  // if someone is within distance, open mouth
  {
    myservo.write(OPEN_POS);              // tell servo to go to OPEN/BACK 
    delay(WAITING);                       // waits sometime to allow grabbing of candy pellet
  }
 
}
 



Yorumlar: 0
Yorum yaz
Bu blog ile ilgili ürünler:
65 parça jumper bağlantı kablosu
65 parça jumper bağlantı kablosu
4 Metre Menzilli Ultrasonik Sensör
4 Metre Menzilli Ultrasonik Sensör
170 delik Mini Breadboard
170 delik Mini Breadboard
HIZLI MENÜ

Side Bilim

Web Analytics