» elektronik » Arduino »Tanchik kör en laserpekare

Tanchik kör en laserpekare

Tanchik kör en laserpekare

God eftermiddag fortsätter vi att göra robotar och leksaker. Idag är nästa steg modifieringen av min tankmodell. Läsbara tillverkningsinstruktioner här

Kärnan i modifieringen är att ändra ledningssättet. Den här gången kommer vi att använda en laserpekare för kontroll. Mer exakt kommer tanken att rida bakom laserprickan. Tanken bestämmer platsens punkt genom fotoresistorer. Listan över nödvändiga liknar listan från ovan hemlagadmen inte riktigt:

- Tamiya 70168 dubbla växlar
- Tamiya 70100 uppsättning rullar och spår
- Tamiya 70157
- Kryssfaner 10 mm (en liten bit)
- Arduino Pro Mini 5V AtMega 328
- DRV 8833
- Fotoresistorer 5506 4 st.
- USB-UART för Arduino-firmware
- Rektangulära röda och gröna lysdioder
- Vita lysdioder 5 mm 2st.
- Motstånd 3x 150 ohm
- Li-ion 18650-batterier
- Dupont-mamma-kontaktdon
- Trådar i olika färger
- lödning
- Rosin
- lödkolv
- Bultar 3x40, 3x20, muttrar och brickor för dem
- 2x10 träskruvar
- Träborrar 3 mm och 6 mm
- Elektrisk fretsåg
- Akrylfärg

Steg 1 Produktion av tankdelar.
detaljerade tanktillverkningsprocess beskrivs i hemlagad.

Att upprepa det är meningslöst. Därför är det första och andra steget i ovanstående hemlagad komplett.

Steg 2 Installation av fotoresistorer.
Vi kommer att behöva de vanligaste fotoresistorerna, de är lätta att köpa i radiobutiken:


Därefter, innan du installerar spåren, måste du förbereda platser för fotoresistorerna och sätta in dem där. Så vi har fyra fotoresistorer, två i framsidan, två på baksidan. De kommer alla att vara placerade i den nedre delen av fodralet, i hörnen. Dra tillbaka 5 mm från varje sida och gör två hål för fotoresistorens ben. Avståndet mellan hålen är 4 mm. Du kan använda borren med den minsta diametern eller bara genomborra fanér med en hål. När du har gjort det, sätt in fotoresistorerna. Låt oss börja med fronten:


När du har satt in fotoresistorerna i plywood, löd trådarna till kontakterna och Dupont-kontakten på modern. Vi isolerar lödningsplatsen. Du kan använda elektrisk tejp eller så kan jag, som jag, sätta isolering på tråden tjockare.


Och i ryggen gör vi också:


Nedan ser ut så här:


Vi monterar ärendet vidare enligt anvisningarna, vars länk visas ovan.
För att öka fotoresistorns känslighet för laserpunkten och bli av med onödiga störningar måste de målas med en röd markör eller färg. Det viktigaste är att ljus tränger igenom beläggningen. Måla inte helt över dem.


På detta sätt kommer vi att öka sensorerna för laserens röda punkt.

Steg 3 Elektriker.
I det fjärde steget beskriver instruktioner för att göra tanken i detalj vad och hur man ansluter. Vi gör allt enligt det, med undantag för att ansluta Bluetooth-modulen. Vi behöver inte honom. Vi ansluter en av fotoresistorns kontakter till GND. Den andra är ansluten till Arduino enligt schemat:

Höger fram till A0 (Pin14)
Fram vänster till A1 (Pin15)
Bak vänster till A2 (Pin16)
Bak höger till A3 (Pin17)

Som ett kontrollverktyg kommer vi att använda den vanliga kinesiska laserpekaren med en röd stråle:


Steg 4 Redigera en skiss.
För att redigera och fylla i skissen måste du ladda ner Arduino IDE. Vi går till tjänstemannen projektplats och ladda ner den senaste versionen.

Inga ytterligare bibliotek behövs.
Fotoresistorer är långt ifrån den mest exakta mätanordningen. Dess egenskaper beror i praktiken på ett stort antal faktorer. För korrekt drift är det därför nödvändigt att justera varje fotoresistor. Vi korrigerar avläsningarna genom att redigera skissen med Arduino IDE och portmonitor. Öppna skissen:
unitank_laser.rar [1,01 Kb] (nedladdningar: 76)


Låt oss börja med de främre fotomotstånden. Längst ner, dela in de tre linjerna för framsensorerna:

//Serial.print(senLF); // Uncomment för att justera främre fotoresistorer
//Serial.print ("");
//Serial.println(senRF);


Och du måste också lägga till en paus för att få tid att se dem. Avlägsna därför denna rad också:

// fördröjning (500);

Fyll skissen. Vi lägger tanken på bordet, när vi tänder rummet med en vanlig ljuskrona, borde inte lampan vara tänd. Och öppna Arduino IDE-portmonitorn. Under normal belysning bör avläsningarna vara större än 500 och samtidigt ungefär desamma för båda sensorerna. Låt oss försöka flytta laserpekaren framför tankens näsa. Indikationerna bör variera. Ju närmare punkten, desto mindre bör siffrorna vara. De bör vara i intervallet från 80 (vid punktens maximala närhet) till 500 (på ett avstånd av cirka 2-3 cm.).
För att justera, använd variablerna i skissen:

int corLF = 0; // Korrigeringsvariabler, vänster fram
int corRF = 30; // Höger fram


Korrigeringsvariabler kan vara antingen positiva (läggs till sensorn) eller negativa (subtraheras från avläsningarna). Ändra dessa variabler, fyll i skissen igen och se att indikatorerna ligger inom de områden vi behöver.

Gör nu samma sak med de bakre fotoresistorerna. För att göra detta, kommentera raderna för framsensorerna och dela ned följande rader:

//Serial.print(senLB); // Avstängning för att justera de bakre fotoresistorerna
//Serial.print ("");
//Serial.println(senRB);


En paus ska lämnas okommenterad. Vi utför samma mätningar, först nu med fotoresistorer på baksidan. Och skriv korrigerande variabler:

int corLB = 0; // Bak vänster
int corRB = 35; // Bak höger


För att göra det klart hur allt fungerar. Den vänstra främre sensorn styr rörelsen för det högra spåret framåt, och den högra främre sensorn styr det vänstra spåret framåt osv. Sensoravläsningar justeras enligt följande formler:

senLF = (analogRead (senLFPin) + corLF); // fram vänster
senRF = (analogRead (senRFPin) + corRF); // Höger fram
senLB = (analogRead (senLBPin) + corLB); // Bak vänster
senRB = (analogRead (senRBPin) + corRB); // Bak höger


Där, senLF, senRF, senLB, sen RB - korrigerade avläsningar
analogRead (senLFPin), (analogRead (senRFPin), (analogRead (senLBPin), (analogRead (senRBPin) - "rena" sensoravläsningar
colLF, colRF, corLB, corRB - korrigeringsvariabler.

Och sedan översättes avläsningarna till rotationshastigheten för det motsatta spåret:

walRF = karta (senLF, 80, 500, 100, 255);
walLF = karta (senRF, 80, 500, 100, 255);
walRB = karta (senLB, 80, 500, 100, 255);
walLB = karta (senRB, 80, 500, 100, 255);


Om du inte kan korrigera avläsningarna på något sätt kan du ändra de maximala och lägsta avläsningarna som spåren börjar röra på. Det här är siffrorna 80 och 500 i de konverteringsrader som skrivs ovan.

Efter att ha slutfört alla procedurer, kommentera alla dessa rader och fyll i skissen. Nu kommer tanken att rida bakom den röda pricken på laserpekaren.

Ridpunkt
Totalt antal röster: 53
9
7.9
8.1

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga
6 kommentar
Oleg Olegov
nej, inte riktigt snyggt. OK
starta en satellit med en laser in i omloppsbana
Och vad är det här ämnet, vi ingår ett multilateralt internationellt avtal om enhetliga mjukvarestandarder och skär oss i tankar på global skala! le
Författaren
Hand i hand och inget bedrägeri!
Fan, vi är redan rädda här, med dig i grannskapet-)))) ne_huligan
starta en satellit med en laser in i bana, utrusta alla tankar och ayda igen
Fördöm dig själv noggrant gjort, respekt!

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...