Hvordan flytte retter rundt kjøkkenhyllen din ved hjelp av en robot?

Hvis du leter etter en måte å øke sjarmen og funksjonaliteten til kjøkkenet ditt dramatisk, bør du vurdere å minimere den menneskelige innsatsen der. Den menneskelige innsatsen kan minimeres ved å lage en husholdningsrobot som vil være til stede på kjøkkenet, og den vil føre skitne redskaper mot vasken og stoppe der. Når personen tømmer redskapene fra roboten, vil den komme tilbake og ta med flere av dem. Noen ganger i store kjøkken er vasken ikke så nær skapene, så roboten tar oppvasken fra ett sted på hyllen mot det andre. En bane for roboten vil bli laget på hyllen ved hjelp av Black tape. Roboten vil bruke to infrarøde nærhetssensorer for å oppdage banen og basert på inngang mottatt fra sensorene, vil Arduino lede motorene til å bevege seg ved hjelp av en motorfører.

Hvordan koble sammen alt nødvendig utstyr for å lage en innenlandsrobot?

Nå må vi samle de nødvendige komponentene og begynne å lage roboten.

Trinn 1: Brukte komponenter

Trinn 2: Studere komponentene

Ettersom vi allerede har laget en liste over komponenter, la oss gå et skritt videre og gå gjennom en kort studie av hvordan hver komponent fungerer.

De Arduino UNO er et mikrokontrollerkort som består av et mikrochip ATMega 328P og er utviklet av Arduino.cc. Dette kortet har et sett med digitale og analoge datapinner som kan grensesnittes med andre utvidelseskort eller kretser. Dette kortet har 14 digitale pinner, 6 analoge pinner og programmerbare med Arduino IDE (Integrated Development Environment) via en USB-kabel type B. Det krever 5V for strøm og en C-kodeå operere.

L298N-motordriver brukes til å betjene DC-motorer. L298N er en dobbel H-Bridge motor driver som tillater hastighet og retningskontroll av to DC motorer samtidig. Modulen kan drive likestrømsmotorer som har spenninger mellom 5 og 35V, med toppstrøm opp til 2A. Det avhenger av spenningen som brukes på motorens VCC-terminal. I vårt prosjekt vil 5V-pinnen brukes som inngang, da vi trenger å koble den til en 5V-strømforsyning for at IC-en skal fungere skikkelig. Kretsskjemaet til L298N-motordriveren med DC-motorene tilkoblet er vist nedenfor for å forstå mekanismen til L298N-motorføreren. Til demonstrasjonen er innspillene gitt fra Logisk tilstandi stedet for IR-sensorer.

Trinn 3: Forstå blokkskjemaet og arbeidsprinsippet

For det første vil vi gå gjennom blokkdiagrammet, forstå arbeidsprinsippet og deretter gå mot å montere maskinvarekomponentene.

Sensorene vi skal bruke er digitale, og de kan gi utdata enten 0 eller 1. Disse sensorene vi har kjøpt gir 1 på hvite overflater og 0 på de svarte overflatene. Sensorene vi kjøper gir tilfeldige verdier, noen ganger gir de 0 på de hvite overflatene og 1 på de svarte overflatene. Vi vil bruke fem sensorer i denne roboten. Det er fire forhold i koden for fem sensorer.

  1. Fremover på linjen: Når den midterste sensoren er på den svarte overflaten og resten av sensorene er på den hvite overflaten, vil tilstanden fremover utføre og roboten vil bevege seg rett frem. Hvis vi starter fra Sensor 1 og fortsett til Sensor5, verdien hver av sensorene vil gi henholdsvis (1 1 0 1 1).
  2. Skarp sving til høyre:Når Sensor 1 og Sensor 2 er på den hvite overflaten og resten av sensorene er på den svarte overflaten, vil den skarpe svingtilstanden utføre og roboten vil svinge skarp til høyre. Hvis vi starter fra Sensor 1 og fortsett til Sensor5, verdien hver av sensorene vil gi henholdsvis (1 1 0 0 0).
  3. Skarp venstresving:Når Sensor 4 og Sensor 5 er på den hvite overflaten og resten av sensorene er på den svarte overflaten, vil den skarpe venstresvingtilstanden utføre og roboten vil svinge skarpt til venstre. Hvis vi starter fra Sensor 1 og fortsett til Sensor5, verdien hver av sensorene vil gi henholdsvis (0 0 0 1 1).
  4. Stoppe: Når alle de fem sensorene er på den svarte overflaten, vil roboten stoppe og motorene vil snu AV. Dette punktet med fem sorte overflater vil være i nærheten av vasken, slik at oppvaskmaskinen kan tømme platene fra roboten for vask.

Vi vil lage en sti på kjøkkenhyllen ved hjelp av svart tape, og den stien vil ende nær vasken, så roboten vil stoppe i nærheten av vasken, og oppvaskmaskinen vil tømme platene, og så vil roboten bevege seg mot stien og søke etter redskapene en gang til.

Trinn 4: Komme i gang med Arduino

Hvis du ikke er kjent med Arduino IDE før, ikke bekymre deg, for nedenfor kan du se klare trinn for å brenne kode på mikrokontrollerkortet ved hjelp av Arduino IDE. Du kan laste ned den nyeste versjonen av Arduino IDE herfra og følge trinnene nedenfor:

  1. Når Arduino-kortet er koblet til PC-en, åpner du "Kontrollpanel" og klikker på "Maskinvare og lyd". Klikk deretter på "Enheter og skrivere". Finn navnet på porten som Arduino-kortet ditt er koblet til. I mitt tilfelle er det "COM14", men det kan være annerledes på din PC.
  2. Åpne nå Arduino IDE. Fra Verktøy, sett Arduino-kortet til Arduino / Genuino UNO.
  3. Fra den samme verktøymenyen angir du portnummeret du så i kontrollpanelet.
  4. Last ned koden som er vedlagt nedenfor, og kopier den til IDE. For å laste opp koden, klikk på opplastingsknappen.

Du kan laste ned koden herfra

Trinn 5: Forstå koden

Koden er veldig enkel. Det forklares kort nedenfor:

  1. Ved begynnelsen av koden initialiseres sensorpinnene, og sammen med det initialiseres også pinnene til Motordriveren L298N.
    int enable1pin = 10; // Initialisering av PWM-stift for analog inngang for motor 1 int motor1pin1 = 2; // Initialisere Positive Pin For Motor 1 int motor1pin2 = 3; // Initialisere Negative Pin For Motor 1 int enable2pin = 11; // Initialisering av PWM-stift for analog inngang for motor 2 int motor2pin1 = 4; // Initialisere Positive Pin For Motor 2 int motor2pin2 = 5; // Initialisering av negativ stift for motor 2 int S1 = 12; // Initialisering av pinne 12 for sensor 1 int S2 = 9; // Initialisering av stift 9 For sensor 2 int S3 = 8; // Initialisering av pinne 8 for sensor 3 int S4 = 7; // Initialisering av stift 7 For sensor 4 int S5 = 6; // Initialisering av stift 6 for sensor 5
  2. ugyldig oppsett ()er en funksjon som brukes til å sette pinnene som INNGANG eller UTGANG. Det setter også overføringshastigheten til Arduino. Baudrate er hastigheten som mikrokontrollerkortet kommuniserer med de andre tilkoblede komponentene.
    {pinMode (enable1pin, OUTPUT); // Aktivering av PWM for motor 1 pinMode (enable2pin, OUTPUT); // Aktivering av PWM for Motor 2 pinMode (motor1pin1, OUTPUT); // Stille inn motor1 pin1 som utgang pinMode (motor1pin2, OUTPUT); // Sette motor1 pin2 som utgang pinMode (motor2pin1, OUTPUT); // Angi motor2 pin1 som utgang pinMode (motor2pin2, OUTPUT); // Still motor2 pin2 som utgang pinMode (S1, INPUT); // Stille sensor1 som inngang pinMode (S2, INPUT); // Stille sensor2 som inngang pinMode (S3, INPUT); // Still inn sensor3 som inngang pinMode (S4, INPUT); // Still inn sensor4 som inngang pinMode (S5, INPUT); // Still inn sensor5 som inngang Serial.begin (9600); // Stille inn overføringshastighet}
  3. ugyldig sløyfe () er en funksjon som går igjen og igjen i en syklus. I denne sløyfen gir vi instruksjoner til Arduino UNO hvilke operasjoner som skal utføres. Motorens fulle hastighet er 255, og begge motorene har forskjellig hastighet. Så hvis vi vil flytte roboten fremover, svinger til høyre osv., Må vi justere motorens hastighet. Vi har brukt analoge pinner i koden fordi vi vil variere hastigheten til de to motorene under forskjellige forhold. Du kan justere hastigheten på motorene dine alene.
    void loop () {if (! (digitalRead (S1)) &&! (digitalRead (S2)) && (digitalRead (S3)) &&! (digitalRead (S4)) &&! (digitalRead (S5))) // Fremover på linjen {analogWrite (enable1pin, 61); // Motor 1-trinns analogWrite (enable2pin, 63); // Motor 2-trinns digitalWrite (motor1pin1, HIGH); // Motor 1 pin 1 satt til High digitalWrite (motor1pin2, LOW); // Motor 1 pin 2 satt til Low digitalWrite (motor2pin1, HIGH); // Motor 2 pin 1 satt til High digitalWrite (motor2pin2, LOW); // Motor 2 pin 2 satt til Low} hvis (! (DigitalRead (S1)) &&! (DigitalRead (S2)) && (digitalRead (S3)) && (digitalRead (S4)) && (digitalRead (S5))) / / Skarp sving til høyre {analogWrite (enable1pin, 60); // Motor 1-trinns analogWrite (enable2pin, 80); // Motor 2-trinns digitalWrite (motor1pin1, HIGH); // Motor 1 pin 1 satt til High digitalWrite (motor1pin2, LOW); // Motor 1 pin 2 satt til Low digitalWrite (motor2pin1, LOW); // Motor 2 pin 1 satt til Low digitalWrite (motor2pin2, LOW); // Motor 2 pin 2 satt til Low} hvis ((digitalRead (S1)) && (digitalRead (S2)) && (digitalRead (S3)) &&! (DigitalRead (S4)) &&! (DigitalRead (S5))) / / Skarp venstresving {analogWrite (enable1pin, 80); // Motor 1-trinns analogWrite (enable2pin, 65); // Motor 2-trinns digitalWrite (motor1pin1, LOW); // Motor 1 pin 1 satt til Low digitalWrite (motor1pin2, LOW); // Motor 1 pin 2 satt til Low digitalWrite (motor2pin1, HIGH); // Motor 2 pin 1 satt til High digitalWrite (motor2pin2, LOW); // Motor 2 pin 2 satt til Lav} hvis ((digitalRead (S1)) && (digitalRead (S2)) && (digitalRead (S3)) && (digitalRead (S4)) && (digitalRead (S5))) // stopp {analogWrite (enable1pin, 0); // Motor 1-trinns analogWrite (enable2pin, 0); // Motor 2-trinns digitalWrite (motor1pin1, LOW); // Motor 1 pin 1 satt til Low digitalWrite (motor1pin2, LOW); // Motor 1 pin 2 satt til Low digitalWrite (motor2pin1, LOW); // Motor 2 pin 1 satt til Low digitalWrite (motor2pin2, LOW); // Motor 2 pin 2 satt til Low}}

applikasjoner

  1. Industrielle applikasjoner: Disse robotene kan brukes som automatiserte utstyrsbærere i bransjer som erstatter tradisjonelle transportbånd.
  2. Innenlandske applikasjoner: Disse kan også brukes hjemme til husholdningsformål som gulvrengjøring, kjøkkenarbeid osv.
  3. Veiledningssøknader: Disse robotene kan brukes på offentlige steder som kjøpesentre, matbaner, museer osv. For å gi veiledning
Facebook Twitter Google Plus Pinterest