Indholdsfortegnelse:
- Trin 1: GØR PCB
- Trin 2: MANGE fejl
- Trin 3: MONTER SENSORER
- Trin 4: HÅRD TRÅD
- Trin 5: DOWNLOAD SONIC SKETCH
- Trin 6: KOMMUNIKATION
- Trin 7: LUKKING
![SONIC LED FEEDBACK: 7 trin (med billeder) SONIC LED FEEDBACK: 7 trin (med billeder)](https://i.howwhatproduce.com/images/006/image-15336-29-j.webp)
Video: SONIC LED FEEDBACK: 7 trin (med billeder)
![Video: SONIC LED FEEDBACK: 7 trin (med billeder) Video: SONIC LED FEEDBACK: 7 trin (med billeder)](https://i.ytimg.com/vi/AJAInoYMaxw/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
![SONIC LED FEEDBACK SONIC LED FEEDBACK](https://i.howwhatproduce.com/images/006/image-15336-30-j.webp)
![SONIC LED FEEDBACK SONIC LED FEEDBACK](https://i.howwhatproduce.com/images/006/image-15336-31-j.webp)
![SONIC LED FEEDBACK SONIC LED FEEDBACK](https://i.howwhatproduce.com/images/006/image-15336-32-j.webp)
Hej igen, Hader du, at din robot løber ind i alt? Dette vil løse dette problem. Med 8 soniske sensorer ser dette kompliceret ud … men faktisk gjorde jeg det meget let. Jeg prøver at lægge projekter op, der hjælper dig med at lære om Arduino og vise et koncept uden for boksen. Dette indlæg hjælper dig med at forstå 595 skift, pro-minier som en programmerbar sensor og den store brug af real-time ledet feedback. Hvis du nyder Arduino som en 'kopi og indsæt og plug-in', kan du bare springe dette over.
Jeg kan godt lide at bruge pro-minis. De er omkring $ 2,50, fungerer som en fuldstændig uno, og installation af overskrifter gør dem meget fleksible. Brugt som en sensormikro kan du få den til at 'gøre hvad du vil' i stedet for hvad en købt sensor dikterer. Med I2C, der kun bruger 2 ledninger, kan de bindes sammen på en linje. Så gå over MEGA, jeg kan have 4 minier, der kører 4 separate kodelinjer på samme tid, til kun $ 10,00. Her bruger jeg en mini til at pope de soniske sensorer gennem en 595 og vise realtid led -afstand. Del derefter bare 8 bit data med bundkortet. Dette fjerner belastningen fra bundkortet og gør hendes kode meget enkel.
Der er et problem med soniske sensorer … ingen visuel feedback. Du ved aldrig, om sensoren bare er en dødvægt eller fungerer! Jeg tror, hvem der nogensinde har fundet på 'BLINK' er klogere end Einstine. Blot ÉN ledede og en verden af information videresendes af det blinkende. Så en sonisk sensor har brug for feedback i realtid. Her brugte jeg en række lysdioder til at overvåge hver sensor. Du behøver dem ikke, bare lav sensorerne uden lysdioder. Men det er nyttigt at have lysdioderne på printkortet.
Trin 1: GØR PCB
![GØR PCB GØR PCB](https://i.howwhatproduce.com/images/006/image-15336-33-j.webp)
![GØR PCB GØR PCB](https://i.howwhatproduce.com/images/006/image-15336-34-j.webp)
![GØR PCB GØR PCB](https://i.howwhatproduce.com/images/006/image-15336-35-j.webp)
![GØR PCB GØR PCB](https://i.howwhatproduce.com/images/006/image-15336-36-j.webp)
lave PCB og udfylde. FORSIGTIG … Jeg lavede en fejl på printkortet ved de 4 -polede tilslutninger, som de soniske sensorer skulle tilsluttes. ECHO og TRIGGER Vcc og grunde skulle tilsluttes pcb. Der er ikke nok plads til stik, så jeg lavede lige printkortet med pin-outs. Så du kan lodde et ledningsstik til printkortet og tilslutte de egentlige soniske sensorer. Hvad angår lysdioderne, satte jeg gule lysdioder ved indersiden og rød udenpå. dette hjælper dig med at se på afstand, om sensorerne måler korrekt.
Dette er en af de FÅ 2 -siders pcb jeg nogensinde har lavet. Jeg vil hellere lave 2 ea single side og løbe jumpere. Men for at få LED -displayet skal du mindst have den øverste print. Jeg adskilte layoutet i download.
PCB er til en pro-mini med A4-A5 inde i kantoverskriften. Uanset hvad, skal du bare tilslutte A4-A5 til Master A4-A5. Glem ikke også Vcc og Grounds.
Trin 2: MANGE fejl
![MANGE fejl MANGE fejl](https://i.howwhatproduce.com/images/006/image-15336-37-j.webp)
Nu for mine fejl … Jeg forsøgte at slå udløserne på én gang (alle bundet sammen), og denne slags fungerede godt, men nogle interaktioner fandt sted. Så nu går alle ECHOS til mikro (8), og TRIGGERS indstilles med en 595. Tre pins mere (3). Hvad angår lysdioderne, fungerer multiplexing ikke. Du har brug for en fuld ON -tid for hver LED. Det betyder, at hver række med 7 lysdioder skal have sin egen 595. Når du har opdateret 595, forbliver lysdioderne tændt indtil den næste opdatering. Hvor multiplexering af LED'en kun lyser i den tiendedel af et sekund. Dette fungerer godt i mine læsere, og det har brug for en dedikeret mikro. Ingen tid til at scanne 8 soniske sensorer og måle afstande. Jeg prøvede og fik meget dårlige resultater. Multiplexing af lysdioderne vil også betyde et gitter med række + kolonne, og det betyder omkring 64+ gennemføringer i printkortet.
Jeg brugte kun 7 output fra 595 på grund af rod på printet. På afstand kan du ikke se om der er 7 eller 8 lysdioder bare deres bevægelse. Du kan blive fristet til at binde alle lysdioderne til en enkelt modstand, og det virker, men lysstyrken i arrayet ændres med mængden af lysdioder, der er lite. Så en modstand pr. LED er bedst. Jeg elsker bare 595, men hvis de bare flyttede Vcc og 0-out benene eller lavede en 18 pin ic med ALLE udgange på samme side … ville det være så let at forbinde alle otte output. Men så ville den ikke sælge for mindre end 30 øre.
Trin 3: MONTER SENSORER
![MONTERINGSSENSORER MONTERINGSSENSORER](https://i.howwhatproduce.com/images/006/image-15336-38-j.webp)
![MONTERINGSSENSORER MONTERINGSSENSORER](https://i.howwhatproduce.com/images/006/image-15336-39-j.webp)
![MONTERINGSSENSORER MONTERINGSSENSORER](https://i.howwhatproduce.com/images/006/image-15336-40-j.webp)
![MONTERINGSSENSORER MONTERINGSSENSORER](https://i.howwhatproduce.com/images/006/image-15336-41-j.webp)
Lim soniske sensorer til kaffelåget. hanstikket skal bøjes indad på hver sensor. Dette fungerer bedre, hvis du bøjer en nål ad gangen. Jeg brugte 2 sideskumbånd, bare så vibrationen er mindre. Mine sensorer er for tæt på, og de har brug for en 1/4 tommer plads til at matche printkortet bedre. Jeg har brugt soniske sensorer før, og nogle gange undlader man at måle nøjagtigt, og du skal huske dette. Så GLIM ikke dem alle permanent.
Det hjælper også med at køre en hurtig afstandstest på hver enkelt, før du bruger dem. Jeg får omkring en sensor med en dårlig læsning i en batch på 20. Ikke dårligt for den pris, jeg betalte.
Trin 4: HÅRD TRÅD
![HÅRD TRÅD HÅRD TRÅD](https://i.howwhatproduce.com/images/006/image-15336-42-j.webp)
Jeg troede, at der ville være plads til stik og stik fra pc'en til
soniske pins, men jeg løb tør for værelse. Så jeg har hårdt tilsluttet pcb -enden og lavede bare ekko og trigger -ledninger med hunstik (8ea). Jeg bandt sensorerne 8ea Vcc og 8ea på sensorerne sammen, så dette lavede kun 2 forbindelser til printkortet til dem.
Med 8 sensorer og 8 595'er kan en uno eller pro-mini IKKE drive denne. Der skal være en 5v reguleret kilde som en del af dette projekt. Min robot har en simpel 7805 @ 1amp fra batterierne. Dette knytter sig til alle 5v Vcc for alle enheder. 7805 falder omkring en volt, så du har brug for mindst 6,5 volt for at fodre den. Det vil sige 2 litiumbatterier ved 3,3v. Min robot har gamle nicader fra brugte borepakker og 8 nicader kører den typiske Kina -gearede 12v motor i chassiset på $ 20 tank.
Trin 5: DOWNLOAD SONIC SKETCH
![DOWNLOAD SONIC SKETCH DOWNLOAD SONIC SKETCH](https://i.howwhatproduce.com/images/006/image-15336-43-j.webp)
Download skitsen og installer. Der er mange måder at tale med
en anden uno, men jeg kan godt lide I2c. forvirringen er adressering og herre/ slave. Som med de fleste sensorer (tænk på 2. mini som en sensor) adresserer du sensoren og beder om x byte. samme ting her. I den 2. mini afsætter du x mængde bytes, du vil sende. Forvirringen er, at navne ikke betyder noget. Det hjælper dig kun med at huske, hvis du deler navnene. Så i skitsen sender jeg de 8 soniske afstandsmålinger i cm som sendR1, sendR2, sendR3, sendR4, sendL1, sendL2, sendL3, sendL4. Mesteren får bare 8 bytes, hvis data, og du kan kalde disse bytes alt, hvad du vil. Jeg læste dem som gotR1, gotR2, got….. Den sendte rækkefølge af bytes er den samme. Så byte A, B, C….. tror ikke ved at ændre navnet vil give dig forskellige data. Og den anden fangst, du kan kun modtage data, der får besked på at blive sendt. Så hvis du vil have andre data, skal du ændre BÅDE master og slave.
Trin 6: KOMMUNIKATION
![MEDDELELSE MEDDELELSE](https://i.howwhatproduce.com/images/006/image-15336-44-j.webp)
Du kan springe dette over, hvis du ved, hvordan du konfigurerer 2 Unos til at tale med hinanden. Jeg har en smule info til sidst. For at gøre det let vil jeg kalde unoen i robotbasen M1 og den soniske sensor som S2. Tilslut Vcc, jord, A4, A5 til hinanden.
I skitsen til S2 starter det med #include
Opret derefter de 8 bytes, der skal sendes. byte R1, byte R2, byte L1 osv. Uno er en 8bit mikro, så de sender 1byte ad gangen ved hjælp af 'byte' i stedet for 'int' er korrekt.
I 'setup ()' tilføj 'Wire.begin (adresse)' fortæller dette I2c, hvilken enhed dette er. Adressen er normalt et hvilket som helst nummer, du kan lide mellem 4 - 200. størrelsen på en byte. Her brugte jeg tallet 10. Så for at tale med denne sensor S2 skal masteren kalde Wire.requestFrom (10, 8). Dette er adresse 10, og 8 er, hvor mange bytes der ønskes. Tilføj også i 'setup ()' Wire.onRequest (isr anyName). Når M1 ringer til anmodningen, reagerer S2 -sensoren med afbrydelsen. Dette kalder bare funktionen anyName. Så denne anyName -funktion skal oprettes. Se på skitsen og se funktionen 'sendThis ()' Det er her, bytes faktisk bliver sendt til M1. Bytes alene går og IKKE navnene og i den sendte rækkefølge. Det er her størrelsen og mængden af data, der skal sendes, starter fra. I dette lette byteformat skal afsendelse og modtagelse matche. Her blev 8 bytes sendt og 8 bytes modtaget. En note her er at kalde en funktion kræver (). Ligesom delay (), millis (), Serial.print (). Når du bruger en ISR (afbryd servicerutine), kalder funktionen (). Så Wire.onRequest (sendThis) ikke Wire.onRequest (sendThis ()).
Den forvirring jeg havde var mesteren/slave -tingen. Først troede jeg, at mesteren ALTID var mesteren. Men inden for skitsen kan du skifte master/slave til anmodning fra andre mikroer eller sende til andre mikroer. Så længe du fulgte det grundlæggende format, der er skitseret ovenfor. Husk … du deler KUN data, der er tildelt.
To stykker fra væggen. ISR -afbrydelsen afbryder kun mellem skitselinjer. Hvis du er låst i en 'mens eller for' -sløjfe, sker der intet, før sløjfen forlader. INGEN stor ting, da dette kan være et par mikrosekunder, og dataene er gamle.
Det andet problem er, 'inde' i en mikro der er 100% fejlfri beregning. Enhver 'ekstern' (ledning) kommunikation er genstand for fejl. Der er mange måder at kontrollere, at de leverede data er fejlfrie og matcher kilden. Den nemmeste måde er med checksum. Tilføj blot totalerne for afsenderbytes (faktiske værdier) og send totalerne, og tilføj totalerne i den modtagende ende, og se om de matcher. Hvis de matcher ok eller kaster det datasæt, hvis de ikke gør det. Dette indebærer naturligvis at sende en heltal værdi og ikke byte. Så du deler bare heltalet i HI -byte og LO -byte og sender som separate bytes. Sæt derefter sammen ved modtageren.
LET:
int x = 5696; (enhver gyldig int -værdi, maks. er 65k eller 32k negativ)
byte hi = x >> 8; (22)
byte lo = x; (64)
Send bytes og kombiner i den anden ende….
byte hi = Wire.read ();
byte lo = Wire.read ();
int newx = (hej << 8) + lo; (5696)
Trin 7: LUKKING
![LUKKING LUKKING](https://i.howwhatproduce.com/images/006/image-15336-45-j.webp)
![LUKKING LUKKING](https://i.howwhatproduce.com/images/006/image-15336-46-j.webp)
![LUKKING LUKKING](https://i.howwhatproduce.com/images/006/image-15336-47-j.webp)
![LUKKING LUKKING](https://i.howwhatproduce.com/images/006/image-15336-48-j.webp)
For at lukke giver denne soniske sensor bundkortet rå afstandsdata i realtid. Dette frigør mikro og gør skitsen meget mindre kompliceret. Mikroen kan nu træffe en god beslutning om at bremse, dreje, stoppe eller vende baseret på gode data i stedet for tilfældige gæt. Se mit andet indlæg om bluetooth IDE for at uploade skitser uden ledninger og at skulle tilslutte din robot hele tiden for kun en hurtig ændring af din skitse. Tak fordi du så dette. oldmaninsc.
Anbefalede:
Pocket Sonic Lineal: 3 trin (med billeder)
![Pocket Sonic Lineal: 3 trin (med billeder) Pocket Sonic Lineal: 3 trin (med billeder)](https://i.howwhatproduce.com/images/007/image-19981-j.webp)
Pocket Sonic Lineal: Dette er en ultralydsskala i lommeformat, du kan bære i lommen og måle objektets længde. Du kan måle din højde, møbelhøjder osv., Jeg skriver dette instruerbart under forudsætning af, at du ved, hvordan du installerer Arduino IDE og
Solderdoodle Plus: Loddejern med berøringskontrol, LED -feedback, 3D -trykt etui og USB Genopladeligt: 5 trin (med billeder)
![Solderdoodle Plus: Loddejern med berøringskontrol, LED -feedback, 3D -trykt etui og USB Genopladeligt: 5 trin (med billeder) Solderdoodle Plus: Loddejern med berøringskontrol, LED -feedback, 3D -trykt etui og USB Genopladeligt: 5 trin (med billeder)](https://i.howwhatproduce.com/images/006/image-17617-23-j.webp)
Solderdoodle Plus: Loddejern med berøringskontrol, LED-feedback, 3D-printet etui og USB genopladeligt: Klik nedenfor for at besøge vores Kickstarter-projektside for Solderdoodle Plus, et trådløst USB genopladeligt varmt multiværktøj og forudbestil en produktionsmodel! Https: //www.kickstarter.com/projects/249225636/solderdoodle-plus-cordless-usb-rechargeable-ho
Betalinger med en Sonic skruetrækker: 6 trin (med billeder)
![Betalinger med en Sonic skruetrækker: 6 trin (med billeder) Betalinger med en Sonic skruetrækker: 6 trin (med billeder)](https://i.howwhatproduce.com/images/002/image-3270-t.webp)
Betalinger med en Sonic Skruetrækker: Denne instruktive forklarer, hvordan vi fjernede smartcardchippen på vores kontaktløse betalingskort og tilpassede den til at opgradere Lievens Sonic Skruetrækker til kontaktløse betalinger. Bygget af Lieven Scheire og Maarten Weyn Hjælpende hånd bag kulisserne: Kurt B
Simpelt Arduino-baseret ergometer display med differentiel feedback: 7 trin (med billeder)
![Simpelt Arduino-baseret ergometer display med differentiel feedback: 7 trin (med billeder) Simpelt Arduino-baseret ergometer display med differentiel feedback: 7 trin (med billeder)](https://i.howwhatproduce.com/images/002/image-5890-42-j.webp)
Enkel Arduino-baseret ergometer display med differentiel feedback: Konditionstræning er kedelig, især når du træner indendørs. Flere eksisterende projekter forsøger at afhjælpe dette ved at lave fede ting som f.eks. At koble ergometeret til en spillekonsol eller endda simulere en rigtig cykeltur i VR. Spændende som det
Autonom styring af motorens omdrejningstal ved hjælp af feedback -system fra et IR -baseret omdrejningstæller: 5 trin (med billeder)
![Autonom styring af motorens omdrejningstal ved hjælp af feedback -system fra et IR -baseret omdrejningstæller: 5 trin (med billeder) Autonom styring af motorens omdrejningstal ved hjælp af feedback -system fra et IR -baseret omdrejningstæller: 5 trin (med billeder)](https://i.howwhatproduce.com/images/003/image-8395-27-j.webp)
Autonom styring af motorens omdrejningstal ved hjælp af feedback -system fra en IR -baseret omdrejningstæller: Der er altid et behov for at automatisere en proces, det være sig en enkel/monstrøs. metoder til vanding/vanding af vores lille stykke jord. Problemet med ingen strømforsyningsledning