Orodha ya maudhui:

MAONI YA SONIC LED: Hatua 7 (na Picha)
MAONI YA SONIC LED: Hatua 7 (na Picha)

Video: MAONI YA SONIC LED: Hatua 7 (na Picha)

Video: MAONI YA SONIC LED: Hatua 7 (na Picha)
Video: ЗЛОДЕИ И ИХ ДЕТИ В ШКОЛЕ! Каждый ЗЛОЙ РОДИТЕЛЬ такой! Родительское собрание 2024, Novemba
Anonim
MAONI YA SONIC LED
MAONI YA SONIC LED
MAONI YA SONIC LED
MAONI YA SONIC LED
MAONI YA SONIC LED
MAONI YA SONIC LED

Halo tena, Chuki kwamba roboti yako inaendesha kila kitu? Hii itatatua shida hiyo. Na sensorer 8 za sonic hii inaonekana kuwa ngumu… lakini kwa kweli nilifanya hii iwe rahisi sana. Ninajaribu kuchapisha miradi inayokusaidia kujifunza kuhusu Arduino na kuonyesha dhana ya 'nje ya sanduku'. Chapisho hili litakusaidia kuelewa ubadilishaji wa 595, pro-minis kama sensorer inayoweza kupangiliwa, na utumiaji mzuri wa maoni ya wakati halisi. Ikiwa unafurahiya Arduino kama 'nakala na kubandika na kuziba-ndani' unaweza kuruka tu hii.

Ninapenda kutumia pro-minis. Wao ni karibu $ 2.50, hufanya kazi kama uno kamili, na kufunga vichwa vya habari kunawafanya wabadilike sana. Kutumika kama sensa ndogo unaweza kuwa nayo "fanya unachotaka" badala ya kile sensorer iliyonunuliwa inaamuru. I2C ikitumia waya 2 tu zinaweza kufungwa pamoja kwenye laini moja. Kwa hivyo songa juu ya MEGA naweza kuwa na minis 4 zinazoendesha mistari 4 tofauti ya nambari zote kwa wakati mmoja, kwa $ 10.00 tu. Hapa ninatumia mini kupiga sensorer za sonic kupitia 595 na kuonyesha umbali wa wakati wa kuongozwa. Kisha tu shiriki data 8bits na ubao wa mama. Hii inachukua mzigo kwenye ubao wa mama na hufanya nambari yake iwe rahisi sana.

Kuna shida na sensorer za sonic… hakuna maoni ya kuona. Huwezi kujua ikiwa sensor ni uzani tu au inafanya kazi! Ninaamini ni nani aliyewahi kuja na 'BLINK' ni nadhifu kuliko Einstine. Uongozi MMOJA tu na ulimwengu wa habari hupelekwa kwa kupepesa. Kwa hivyo sensa ya sonic inahitaji maoni ya wakati halisi. Hapa nilitumia safu ya viongozo kufuatilia kila sensorer. Huna haja yao, fanya sensorer tu bila viongo. Lakini kuwa na viongozaji kwenye PCB inasaidia.

Hatua ya 1: Tengeneza PCB

TENGENEZA PCB
TENGENEZA PCB
TENGENEZA PCB
TENGENEZA PCB
TENGENEZA PCB
TENGENEZA PCB
TENGENEZA PCB
TENGENEZA PCB

tengeneza PCB na ujaze watu. TAHADHARI… Nilifanya makosa kwenye PCB kwenye unganisho la pini 4 kwa sensorer za sonic kuziba. ECHO na TRIGGER Vcc na viwanja vilikuwa vikiingia kwenye pcb. Hakuna nafasi ya kutosha kwa viunganishi kwa hivyo nilitengeneza tu PCB na pini. Kwa hivyo unaweza kuunganishia kontakt ya waya kwenye PCB na kuziba kwenye sensorer halisi za sonic. Kwa habari ya viongozo niliweka viongo vya manjano pembeni ya ndani na nje nyekundu kwenye nyekundu. hii inakusaidia kuona kwa mbali ikiwa sensorer zinapima kwa usahihi.

Hii ni moja wapo ya pcb 2side chache ambayo nimewahi kutengeneza. Ningependa kufanya 2 ea upande mmoja na kukimbia kuruka. Lakini kupata onyesho lililoongozwa unahitaji angalau pcb ya juu. Nilitenganisha mpangilio katika upakuaji.

PCB ni ya pro-mini na A4-A5 ndani ya kichwa cha makali. Kwa njia yoyote unganisha A4-A5 kwa Mwalimu A4-A5. Usisahau Vcc na Viwanja pia.

Hatua ya 2: MAKOSA MENGI

MAKOSA MENGI
MAKOSA MENGI

Sasa kwa makosa yangu… nilijaribu kupiga Vichochezi vyote mara moja (vyote vimefungwa pamoja) na aina hii ilifanya kazi vizuri lakini mwingiliano ulifanyika. Kwa hivyo sasa ECHOS zote zinaenda kwa micro (8) na TRIGGERS imewekwa na 595. Pini tatu zaidi (3). Kwa habari ya risasi, kuzidisha haitafanya kazi. Unahitaji wakati kamili wa ON kwa kila iliyoongozwa. Hii inamaanisha kila safu ya vichwa 7 lazima iwe na 595 yake. Mara tu utakaposasisha 595 vichwa vinakaa taa hadi sasisho linalofuata. Ambapo kuzidisha taa zilizoongozwa tu kwa hiyo sehemu ya kumi ya sekunde. Hii inafanya kazi vizuri kwa wasomaji wangu na inahitaji Micro iliyojitolea. Hakuna wakati wa kutambaza sensorer 8 za sonic na umbali wa kupima. Nilijaribu na kupata matokeo mabaya sana. Multiplexing leds pia itamaanisha gridi ya safu + safu na hiyo inamaanisha karibu njia za kulisha 64+ kwenye PCB.

Nilitumia matokeo 7 tu kutoka kwa 595 kwa sababu ya fujo kwenye PCB. Kwa mbali huwezi kujua ikiwa kuna viongozo 7 au 8 tu mwendo wao. Unaweza kushawishiwa kufunga vichwa vyote kwa kontena moja na hii inafanya kazi, lakini mwangaza wa safu hubadilika na kiwango cha leds ambazo ni lite. Kwa hivyo kinzani moja kwa kila iliyoongozwa ni bora. Ninapenda tu 595 lakini ikiwa wangehamisha tu pini za Vcc na 0 au wakifanya pini 18 na matokeo YOTE upande mmoja… kuunganisha matokeo yote manane itakuwa rahisi sana. Lakini basi haingeuzwa kwa chini ya senti 30.

Hatua ya 3: SENSORS MOUNT

SENSORS ZA MLIMA
SENSORS ZA MLIMA
SENSORS ZA MLIMA
SENSORS ZA MLIMA
SENSORS ZA MLIMA
SENSORS ZA MLIMA
SENSORS ZA MLIMA
SENSORS ZA MLIMA

Gundi sensorer za sonic kwa kifuniko cha kahawa. jack ya kiume inahitaji kuinama ndani kwa kila sensorer. Hii inafanya kazi vizuri ikiwa unapiga pini moja kwa wakati. Nilitumia mkanda wa povu 2 upande ili vibration iwe chini. Sensorer zangu ziko karibu sana na zinahitaji nafasi ya inchi 1/4 ili kufanana na PCB bora. Nimetumia sensorer za sonic kabla na wakati mwingine mtu hushindwa kupima kwa usahihi na unahitaji kuzingatia hili. Kwa hivyo usiwatukuze wote kwa kudumu.

Inasaidia pia kufanya jaribio la umbali wa haraka kwa kila mmoja kabla ya kuzitumia. Ninapata karibu sensa moja na usomaji duni katika kundi la 20. Sio mbaya kwa bei niliyolipa.

Hatua ya 4: waya ngumu

Waya kali
Waya kali

Nilidhani kutakuwa na nafasi ya jacks na plugs kutoka kwa PC hadi

pini za sonic lakini nilikimbia nje ya chumba. Kwa hivyo nilitia waya ngumu mwisho wa pcb na nikatengeneza waya za mwangwi na za kuchochea na viboreshaji vya kike (8ea). Nilifunga 8ea Vcc na misingi ya 8ea ya sensorer pamoja kwa hivyo hii ilifanya unganisho 2 tu kwa PCB kwao.

Na sensorer 8 na 8 595s uno au pro-mini HAUWEZI kuweka nguvu hii. Lazima kuwe na chanzo cha 5v kilichosimamiwa kama sehemu ya mradi huu. Roboti yangu ina 7805 @ 1amp rahisi kutoka kwa betri. Hii inaunganisha kwa 5v Vcc zote kwa vifaa vyote. matone 7805 kuhusu volt kwa hivyo unahitaji angalau volts 6.5 kuilisha. Hiyo ni betri 2 za lithiamu saa 3.3v. Roboti yangu ina nicads za zamani kutoka kwa vifurushi vya kuchimba visima na nicads 8 huendesha gari la kawaida la China 12v katika chassis ya $ 20 ya tanki.

Hatua ya 5: PAKUA SONIC SKETCH

Pakua Mchoro wa Wana
Pakua Mchoro wa Wana

Pakua mchoro na usakinishe. Kuna njia nyingi za kuzungumza

mwingine uno lakini napenda I2c. mkanganyiko ni kushughulikia na bwana / mtumwa. Kama ilivyo na sensorer nyingi (fikiria mini 2 kama sensa) unashughulikia sensa na uulize x kiasi cha ka. kitu kimoja hapa. Katika mini 2 unatenga kiasi cha x ambazo unataka kutuma. Kuchanganyikiwa ni majina haijalishi. Inakusaidia tu kukumbuka ikiwa unashiriki majina. Kwa hivyo kwenye mchoro ninatuma vipimo 8 vya umbali wa sonic kwa cm kama sendR1, sendR2, sendR3, sendR4, sendL1, sendL2, sendL3, sendL4. Bwana anapata tu kaiti 8 ikiwa data na unaweza kupiga hizo ka chochote unachotaka. Nilizisoma kama gotR1, gotR2, nilipata….. Agizo lililotumwa la ka ni sawa. Kwa hivyo baiti A, B, C….. usifikirie kwa kubadilisha jina litakupa data tofauti. Na samaki wengine, unaweza kupokea tu data ambayo inaambiwa itumwe. Kwa hivyo ikiwa unataka data zingine lazima ubadilishe bwana na mtumwa WOTE.

Hatua ya 6: MAWASILIANO

MAWASILIANO
MAWASILIANO

Unaweza kuruka hii ikiwa unajua jinsi ya kuanzisha 2 Uno ili kuzungumza kila mmoja. Nina vidokezo vya habari mwishoni. Ili kuifanya iwe rahisi nitaita uno katika msingi wa robot M1 na sensor ya sonic kama S2. Unganisha Vcc, ardhi, A4, A5 kwa kila mmoja.

Katika mchoro wa S2 huanza na # pamoja

Kisha tengeneza baiti 8 za kutuma. Byte R1, Byte R2, Byte L1 nk. Uno ni 8bit micro kwa hivyo hutuma 1byte kwa wakati kwa kutumia 'byte' badala ya 'int' ni sahihi.

Katika 'usanidi ()' ongeza "Wire.begin (anwani)" hii inaambia I2c ni kifaa gani hiki. Anwani kawaida ni nambari yoyote unayopenda kati ya 4 - 200. saizi ya baiti moja. Hapa nilitumia nambari 10. Kwa hivyo kuzungumza na sensor hii S2 bwana lazima apige Wire.requestFrom (10, 8). Hii ni anwani ya 10 na ile 8 ni kaiti ngapi walitaka. Pia kwenye 'setup ()' ongeza Wire.onRequest (isr anyName). Wakati M1 inaita ombi, sensorer ya S2 humenyuka na usumbufu. Hii inaita tu kazi anyName. Kwa hivyo hii kazi yoyote ya Jina inahitaji kuundwa. Angalia mchoro na uone kazi 'sendThis ()' Hapa ndipo baiti hutumwa kwa M1. Baiti pekee huenda na SIYO majina na kwa mpangilio uliotumwa. Hapa ndipo ukubwa na kiwango cha data ya kutuma inaanzia. Katika muundo huu rahisi wa ka kutuma na kupokea kunapaswa kufanana. Hapa ka 8 zimetumwa na ka 8 zimepokea. Ujumbe mmoja hapa ni kuita kazi inahitaji (). Kama kuchelewesha (), millis (), Serial.print (). Unapotumia ISR (kukatisha utaratibu wa huduma) kupiga simu kazi kunashusha (). Kwa hivyo Wire.onRequest (sendThis) sio Wire.onRequest (sendThis ()).

Machafuko niliyokuwa nayo ni jambo la bwana / mtumwa. Mwanzoni nilifikiri bwana alikuwa ALLWAYS bwana. Lakini ndani ya mchoro unaweza kubadilisha bwana / mtumwa kuomba kutoka kwa micros nyingine au kutuma kwa micros nyingine. Mradi umefuata fomati ya msingi iliyoainishwa hapo juu. Kumbuka… unashiriki TU data ambayo imepewa.

Mbili mbali ukuta bits bits. Isr hukatiza tu kati ya mistari ya mchoro. Ikiwa umefungwa katika kitanzi cha 'wakati au kwa', hakuna kinachotokea mpaka kitanzi kitoke. HAKUNA mpango mkubwa kwani hii inaweza kuwa mikrofoni chache na data ni ya zamani.

Shida nyingine ni kwamba, 'ndani' ya micro kuna hesabu isiyo na makosa ya 100%. Mawasiliano yoyote ya "nje" (waya) yanakabiliwa na makosa. Kuna njia nyingi za kuangalia kuwa data iliyotolewa haina makosa na inalingana na chanzo. Njia rahisi ni pamoja na checksum. Ongeza tu jumla ya baiti za kutuma (maadili halisi) na tuma jumla na mwisho wa kupokea ongeza jumla na uone ikiwa zinafanana. Ikiwa zinalingana sawa au tupa data iliyowekwa ikiwa haifanyi hivyo. Kwa kweli hii inajumuisha kutuma nambari kamili na sio ka. Kwa hivyo unagawanya nambari tu kwa baiti ya HI na baiti ya LO na utume kama ka tofauti. Kisha kuweka pamoja kwenye mpokeaji.

RAHISI:

int x = 5696; (Thamani yoyote halali ya int, max ni 65k au 32k hasi)

byte hi = x >> 8; (22)

baiti lo = x; (64)

tuma ka na unganisha kwa upande mwingine….

byte hi = Wire.read ();

byte lo = Wire.read ();

int newx = (hi << 8) + tazama; (5696)

Hatua ya 7: KUFUNGA

KUFUNGA
KUFUNGA
KUFUNGA
KUFUNGA
KUFUNGA
KUFUNGA
KUFUNGA
KUFUNGA

Ili kufunga, sensa hii ya sonic huipa bodi ya mama data ya umbali mbichi kwa wakati halisi. Hii huondoa micro na hufanya mchoro kuwa ngumu sana. Micro sasa inaweza kufanya uamuzi mzuri wa polepole, kugeuka, kuacha, au kugeuza kulingana na data nzuri badala ya makisio ya kubahatisha. Tazama chapisho langu lingine kuhusu IDE ya Bluetooth kupakia michoro bila waya na kuwa na unganisha roboti yako wakati wote kwa mabadiliko ya haraka tu kwenye mchoro wako. Asante kwa kutazama hii. mzee.

Ilipendekeza: