Satura rādītājs:

SONIC LED ATSAUKSME: 7 soļi (ar attēliem)
SONIC LED ATSAUKSME: 7 soļi (ar attēliem)

Video: SONIC LED ATSAUKSME: 7 soļi (ar attēliem)

Video: SONIC LED ATSAUKSME: 7 soļi (ar attēliem)
Video: Sonic 30th Anniversary Song: CRUSHING THIRTIES ■ feat. Johnny Gioeli of CRUSH 40 ■ ANIMATION 2024, Jūlijs
Anonim
SONIC LED ATSAUKSMES
SONIC LED ATSAUKSMES
SONIC LED ATSAUKSMES
SONIC LED ATSAUKSMES
SONIC LED ATSAUKSMES
SONIC LED ATSAUKSMES

Sveiki vēlreiz, Naida, ka tavs robots uzskrien visam klāt? Tas novērsīs šo problēmu. Ar 8 skaņas sensoriem tas izskatās sarežģīti … bet patiesībā es to padarīju ļoti viegli. Es cenšos ievietot projektus, kas palīdz jums uzzināt par Arduino un parādīt jēdzienu “ārpus kastes”. Šis ziņojums palīdzēs jums saprast 595 komutāciju, pro-minis kā programmējamu sensoru un reāllaika vadīto atgriezenisko saiti. Ja jums patīk Arduino kā “kopēt un ielīmēt un pievienot”, varat to vienkārši izlaist.

Man patīk izmantot pro-minis. Tie ir aptuveni 2,50 ASV dolāri, tie darbojas kā pilnīgi izpūsti, un galvenes instalēšana padara tās ļoti elastīgas. Izmantojot kā sensoru mikro, jūs varat likt tai darīt, ko vēlaties, nevis to, ko nosaka nopirktais sensors. Izmantojot I2C, izmantojot tikai 2 vadus, tos var savienot vienā līnijā. Tātad, pārejiet virs MEGA, un man var būt 4 mini, kas vienlaikus darbina 4 atsevišķas koda rindas, tikai par USD 10,00. Šeit es izmantoju mini, lai pārslēgtu skaņas sensorus caur 595 un parādītu reālā laika vadīto attālumu. Pēc tam vienkārši kopīgojiet 8 bitu datus ar mātesplati. Tas noņem slodzi no mātesplates un padara viņas kodu ļoti vienkāršu.

Radās problēma ar skaņas sensoriem… nav vizuālas atgriezeniskās saites. Jūs nekad nezināt, vai sensors ir tikai pašmasa vai strādā! Es uzskatu, ka tas, kurš jebkad ir izdomājis BLINK, ir gudrāks par Einstine. Mirgo tikai viens Vadi un informācijas pasaule. Tātad skaņas sensoram ir nepieciešama reāllaika atgriezeniskā saite. Šeit es izmantoju gaismas diožu masīvu, lai uzraudzītu katru sensoru. Jums tie nav vajadzīgi, vienkārši izveidojiet sensorus bez gaismas diodēm. Bet, lai gaismas diodes būtu uz PCB, ir noderīgi.

1. solis: izgatavojiet PCB

IZVEIDO PCB
IZVEIDO PCB
IZVEIDO PCB
IZVEIDO PCB
IZVEIDO PCB
IZVEIDO PCB
IZVEIDO PCB
IZVEIDO PCB

izveidot PCB un aizpildīt. UZMANĪBU … Es pieļāvu kļūdu PCB pie 4 kontaktu savienojumiem, lai pievienotu skaņas sensorus. ECHO un TRIGGER Vcc un pamatus gatavojās pievienot PCB. Savienotājiem nav pietiekami daudz vietas, tāpēc es tikko izveidoju PCB ar tapām. Tātad jūs varat pielodēt vadu savienotāju PCB un pievienot faktiskajiem skaņas sensoriem. Kas attiecas uz gaismas diodēm, es ievietoju dzeltenas gaismas diodes iekšējā malā un sarkano ārpusē. tas palīdz redzēt tālumā, vai sensori mēra pareizi.

Šī ir viena no DAUDZām 2 malām, kuras jebkad esmu izgatavojis. Es labprātāk uztaisītu 2 ea vienas puses un skriešanas džemperus. Bet, lai iegūtu LED displeju, jums ir nepieciešams vismaz augšējais PCB. Lejupielādē atdalīju izkārtojumu.

PCB ir paredzēts pro-mini ar A4-A5 malas galvenes iekšpusē. Jebkurā gadījumā vienkārši pievienojiet A4-A5 galvenajam A4-A5. Neaizmirstiet arī Vcc un Grounds.

2. solis: DAUDZ KĻŪDU

DAUDZ KĻŪDU
DAUDZ KĻŪDU

Tagad par savām kļūdām … Es mēģināju uzreiz izlaist aktivizētājus (visi sasaistīti kopā), un šī kārtība strādāja labi, taču notika mijiedarbība. Tātad tagad visi ECHOS iet uz mikro (8), un TRIGGERS ir iestatīts ar 595. Vēl trīs tapas (3). Kas attiecas uz gaismas diodēm, multipleksēšana nedarbosies. Katram vadītājam ir nepieciešams pilns ieslēgšanās laiks. Tas nozīmē, ka katrai 7 LED rindai ir jābūt savai 595. Kad esat atjauninājis 595, gaismas diodes paliek iedegtas līdz nākamajam atjauninājumam. Ja gaismas diožu multipleksēšana iedegas tikai uz sekundes desmitdaļu. Tas labi darbojas manos lasītājos, un tam ir nepieciešams īpašs mikro. Nav laika 8 skaņas sensoru skenēšanai un attālumu mērīšanai. Es mēģināju un man bija ļoti slikti rezultāti. Gaismas diožu multipleksēšana nozīmēs arī rindas + kolonnas režģi, un tas nozīmē, ka PCB ir aptuveni 64+ padeves.

Es izmantoju tikai 7 izejas no 595, jo PCB ir juceklis. No attāluma jūs nevarat noteikt, vai ir 7 vai 8 gaismas diodes, tikai to kustība. Jums var rasties kārdinājums saistīt visus gaismas diodes ar vienu rezistoru, un tas darbojas, bet masīva spilgtums mainās līdz ar vienkāršo gaismas diožu daudzumu. Tāpēc vislabāk ir viens rezistors uz LED. Es vienkārši mīlu 595, bet, ja viņi vienkārši pārvietotu Vcc un 0-out tapas vai izgatavotu 18 pin ic ar VISĀM izejām vienā pusē … savienot visas astoņas izejas būtu tik vienkārši. Bet tad to nepārdotu par mazāk nekā 30 centiem.

3. darbība: Stiprinājuma sensori

Stiprinājuma sensori
Stiprinājuma sensori
Stiprinājuma sensori
Stiprinājuma sensori
Stiprinājuma sensori
Stiprinājuma sensori
Stiprinājuma sensori
Stiprinājuma sensori

Līmējiet skaņas sensorus pie kafijas vāka. vīrieša domkrats ir jāsaliec uz katru sensoru uz iekšu. Tas darbojas labāk, ja jūs saliekat vienu tapu vienlaikus. Es izmantoju 2 sānu putu lenti, lai vibrācija būtu mazāka. Mani sensori ir pārāk tuvu, un tiem ir nepieciešama 1/4 collu telpa, lai tie labāk atbilstu PCB. Esmu iepriekš izmantojis skaņas sensorus, un dažreiz viens neizdodas precīzi izmērīt, un jums tas jāpatur prātā. Tāpēc nelīmējiet tos visus pastāvīgi.

Tas arī palīdz veikt ātru attāluma pārbaudi katram pirms to lietošanas. Man sanāk apmēram viens sensors ar sliktu rādījumu partijā 20. Nav slikti par cenu, ko samaksāju.

4. solis: cietais vads

Cietais vads
Cietais vads

Es domāju, ka būs vieta domkratiem un kontaktdakšām no datora līdz

skaņas tapas, bet es izskrēju no istabas. Tāpēc es cieši pieslēdzu PCB galu un vienkārši izveidoju atbalsi un sprūda vadus ar sieviešu ligzdām (8ea). Es saistīju sensoru 8ea Vcc un 8ea pamatus kopā, tāpēc tiem tika izveidoti tikai 2 savienojumi ar PCB.

Ar 8 sensoriem un 8 595s ar uno vai pro-mini NEVAR to barot. Šī projekta ietvaros jābūt 5V regulētam avotam. Manam robotam ir vienkārša 7805 @ 1amp no baterijām. Tas ir saistīts ar visu ierīču 5 V Vcc. 7805 nokrīt par voltu, tāpēc, lai to barotu, nepieciešami vismaz 6,5 volti. Tas ir 2 litija baterijas ar 3,3 V spriegumu. Manam robotam ir veci nikadi no izlietotiem urbšanas komplektiem, un 8 nikadi vada tipisko Ķīnas 12V motoru ar 20 ASV dolāru tvertnes tipa šasiju.

5. darbība: SONIC SKETCH LEJUPIELĀDĒT

LEJUPIELĀDĒT SONISKO SKICI
LEJUPIELĀDĒT SONISKO SKICI

Lejupielādējiet skici un instalējiet. Ir daudz veidu, kā runāt

vēl viens uno, bet man patīk I2c. apjukums ir uzrunāšana un saimnieks/ vergs. Tāpat kā lielākajā daļā sensoru (domājiet par otro mini kā sensoru), jūs uzrunājat sensoru un pieprasāt x baitu daudzumu. tas pats šeit. Otrajā mini programmā jūs atceļat x baitu daudzumu, ko vēlaties nosūtīt. Neskaidrības ir tas, ka nosaukumiem nav nozīmes. Tas palīdz jums atcerēties tikai tad, ja kopīgojat vārdus. Tātad skicē es nosūtu 8 skaņas attāluma mērījumus cm kā sendR1, sendR2, sendR3, sendR4, sendL1, sendL2, sendL3, sendL4. Galvenais tikai iegūst 8 baitus, ja dati, un jūs varat saukt šos baitus par visu, ko vēlaties. Es tos izlasīju kā gotR1, gotR2, got….. Nosūtītā baitu secība ir tāda pati. Tātad baiti A, B, C….. nedomājiet, ka, mainot nosaukumu, tiks iegūti dažādi dati. Un otra nozveja, jūs varat saņemt tikai tos datus, kurus ir teicis nosūtīt. Tātad, ja vēlaties citus datus, jums jāmaina gan galvenais, gan padotais.

6. darbība: KOMUNIKĀCIJA

KOMUNIKĀCIJA
KOMUNIKĀCIJA

Varat to izlaist, ja zināt, kā iestatīt 2 Uno, lai viņi savstarpēji sarunātos. Man beigās ir neliela informācija. Lai atvieglotu, es robota bāzē esošo MO un skaņas sensoru saucu par S2. Savienojiet Vcc, zemi, A4, A5 savā starpā.

S2 skicē tas sākas ar #include

Pēc tam izveidojiet nosūtīšanai 8 baitus. baits R1, baits R2, baits L1 utt. Uno ir 8 bitu mikro, tāpēc viņi vienlaikus sūta 1 baitu, izmantojot pareizo vērtību „baits”, nevis „int”.

Sadaļā “setup ()” pievienojiet “Wire.begin (address)”, kas I2c norāda, kura ierīce tā ir. Adrese parasti ir jebkurš skaitlis, kas jums patīk no 4 līdz 200. viena baita lielumā. Šeit es izmantoju skaitli 10. Tātad, lai runātu ar šo sensoru S2, kapteinim jāzvana uz Wire.requestFrom (10, 8). Šī ir adrese 10, un 8 ir baitu skaits. Arī sadaļā "setup ()" pievienojiet Wire.onRequest (isr anyName). Kad M1 izsauc pieprasījumu, S2 sensors reaģē ar pārtraukumu. Tas vienkārši izsauc funkciju anyName. Tātad šī AnyName funkcija ir jāizveido. Apskatiet skici un redziet funkciju 'sendThis ()'. Šeit baiti tiek nosūtīti uz M1. Baiti vien iet un NAV vārdi un nosūtītā secībā. Šeit sākas nosūtāmo datu lielums un apjoms. Šajā vienkāršajā baitu formātā sūtīšanai un saņemšanai ir jāsakrīt. Šeit nosūtīti 8 baiti un saņemti 8 baiti. Viena piezīme šeit, lai izsauktu funkciju, ir nepieciešams (). Tāpat kā kavēšanās (), milis (), Serial.print (). Izmantojot ISR (pārtraukt pakalpojumu rutīnu), izsaucot funkciju, tiek atcelts (). Tātad Wire.onRequest (sendThis) nav Wire.onRequest (sendThis ()).

Apjukums man bija saimnieka/verga lieta. Sākumā es domāju, ka meistars VIENMĒR ir meistars. Bet skices ietvaros jūs varat pārslēgt galveno/vergu uz pieprasījumu no citiem mikroshēmām vai nosūtīt uz citiem mikroshēmām. Kamēr jūs ievērojāt iepriekš aprakstīto pamatformātu. Atcerieties… jūs kopīgojat TIKAI piešķirtos datus.

Divi pie sienas novietoti biti. ISR pārtraukums pārtrauc tikai starp skiču līnijām. Ja esat bloķēts cilnē “kamēr vai par”, nekas nenotiek, līdz cilpa iziet. NAV liels darījums, jo tas var ilgt dažas mikrosekundes un dati ir veci.

Otra problēma ir tā, ka mikro iekšpusē ir 100% aprēķins bez kļūdām. Jebkura “ārēja” (vadu) komunikācija ir pakļauta kļūdām. Ir daudz veidu, kā pārbaudīt, vai piegādātie dati ir bez kļūdām un atbilst avotam. Vienkāršākais veids ir kontrolsumma. Vienkārši pievienojiet sūtīšanas baitu kopsummas (faktiskās vērtības) un nosūtiet kopsummas, un saņemšanas beigās pievienojiet kopsummas un pārbaudiet, vai tās sakrīt. Ja tie atbilst labi vai izmet šo datu kopu, ja tie neatbilst. Protams, tas ietver vesela skaitļa vērtības nosūtīšanu, nevis baitus. Tātad jūs vienkārši sadalāt veselu skaitli HI un LO baitos un nosūtāt kā atsevišķus baitus. Tad salieciet pie uztvērēja.

VIEGLI:

int x = 5696; (jebkura derīga int vērtība, maksimālā vērtība ir 65k vai 32k negatīva)

baits hi = x >> 8; (22)

baits lo = x; (64)

nosūtiet baitus un apvienojiet otrā galā …

baits hi = Wire.read ();

baits lo = Wire.read ();

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

7. darbība: aizvēršana

Slēgšana
Slēgšana
Slēgšana
Slēgšana
Slēgšana
Slēgšana
Slēgšana
Slēgšana

Lai aizvērtu, šis skaņas sensors mātesplatē sniedz neapstrādātus attāluma datus reālā laikā. Tas atbrīvo mikro un padara skici daudz mazāk sarežģītu. Mikro tagad var pieņemt labu lēmumu palēnināt, pagriezt, apturēt vai mainīt, pamatojoties uz labiem datiem, nevis nejaušiem minējumiem. Skatiet manu citu ziņu par Bluetooth IDE, lai augšupielādētu skices bez vadiem un visu laiku būtu jāpievieno robots, lai tikai ātri mainītu savu skici. Paldies, ka skatījāties šo. oldmaninsc.

Ieteicams: