This is an old revision of the document!


Trashbot automat

Introducere

În cadrul acestui proiect voi realiza un trashbot inteligent ce iși va deschide capacul în momentul în care detectează un obiect în apropierea sa, detectarea realizându-se cu ajutorul unui senzor ultrasonic HC-SR04. Un servomotor SG90 va fi responsabil de deschiderea capacului, dar și de închiderea acestuia, atunci când îndepartăm obiectul sau după scurgerea unui anumit delay. Astfel, vom fi scutiți de modalitatea neigienică de a atinge mereu coșul când dorim să aruncăm un obiect la gunoi.

Schemă bloc

Hardware Design

Pentru realizarea proiectului sunt necesare următoarele componente:

  • Arduino UNO R3
  • Servomotor SG90
  • Senzor ultrasonic HC-SR04
  • Breadboard
  • Baterie 9V
  • Conector baterie 9V
  • Fire jumper M to M
  • Fire jumper M to F

Software Design

Codul ce va fi încărcat pe plăcuța Arduino este următorul:

#include <servo.h>

#define trigPin 6
#define echoPin 5
#define servoPin 3
#define MAX_DISTANCE 50
#define MIN_DISTANCE 0

Servo servo;

void setup()
{
    pinMode(trigPin, OUTPUT); 
    pinMode(echoPin, INPUT); 
    servo.attach(servoPin);
}
void loop()
{       
    int duration, distance;

    digitalWrite(trigPin, HIGH); 
    delay(1);
    digitalWrite(trigPin, LOW);

    // Measure the pulse input in echo pin
    duration = pulseIn(echoPin, HIGH);

    // Distance is half the duration divided by 29.1
    distance = duration / 2 / 29.1;

    // if distance less than 0.5 meter and more than 0 (0 or less means over range) 
    if (distance >= MIN_DISTANCE && distance <= MAX_DISTANCE) {
	servo.write(50);
        delay(3000);
    } else {
	servo.write(160);
    }

    delay(60);
}

Rezultate Obţinute

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2023/apredescu/trashbot.1682941536.txt.gz · Last modified: 2023/05/01 14:45 by flavius.usturoi
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0