Innholdsfortegnelse:

Bygg en Arduino i en Nissan Qashqai for å automatisere vingespeilbretting eller noe annet: 9 trinn (med bilder)
Bygg en Arduino i en Nissan Qashqai for å automatisere vingespeilbretting eller noe annet: 9 trinn (med bilder)

Video: Bygg en Arduino i en Nissan Qashqai for å automatisere vingespeilbretting eller noe annet: 9 trinn (med bilder)

Video: Bygg en Arduino i en Nissan Qashqai for å automatisere vingespeilbretting eller noe annet: 9 trinn (med bilder)
Video: Magnet attack on mechanical water meter 2024, Juli
Anonim
Bygg en Arduino i en Nissan Qashqai for å automatisere vingespeilbretting eller noe annet
Bygg en Arduino i en Nissan Qashqai for å automatisere vingespeilbretting eller noe annet
Bygg en Arduino i en Nissan Qashqai for å automatisere vingespeilbretting eller noe annet
Bygg en Arduino i en Nissan Qashqai for å automatisere vingespeilbretting eller noe annet

Nissan Qashqai J10 har et par små irriterende ting om kontrollene som lett kan bli bedre. En av dem må huske å skyve speilet for å åpne/lukke speilene før du tar nøkkelen ut av tenningen. En annen er den lille konfigurasjonen av BCM (kroppskontrollmodul) og Nissan Connect -hovedenhet. Det er noen andre ting, men viktigst av alt, det spiller ikke Imperial March når du starter motoren, slik quadcopterne mine gjør! Noe måtte gjøres.

Førstnevnte har angivelig blitt løst i nyere J11 -modeller (2015+?), Men jeg tror at du fremdeles trenger å kjøpe et sett for 2014 J11 Qashqai. Det er separate sett for J11 og J10 -modellene (2008 - 2013 eller så) som Nissan offical kit (vet ikke prisen), £ 70 AcesDVD kit fra noen folk på qashqaiforums.co.uk og noen nyere alternativer. Den ene har til og med dukket opp på aliexpress for bare € 17, men er ikke lenger tilgjengelig. Disse settene har en tendens til å koble til bare åtte ledninger i bilen som du trenger å finne, og de vil automatisk brette inn speilene når du låser bilen og bretter ut når du låser den opp, så det er veldig nyttig, men gir deg fortsatt ikke mye fleksibilitet.

Så å ha rundt $ 1 Arduino -kloner og noen skuffer med MOSFET -er, transitorer, en høyttaler og andre komponenter på det lokale hackerspace og vite lite om analog elektronikk, satte jeg meg for å replikere hva disse settene gjør, men med fleksibiliteten til å endre logikken ved å omprogrammere Arduino -kortet over USB når som helst. Hva kan være komplisert med å koble til en Arduino og noen få MOSFET -er, ikke sant? Det viser seg at det er mange finurligheter når du kjører en motor med MOSFET-er eller transitorer, noe som innebar å designe tilkoblingene et par ganger, og legge til en $ 1,50 H-bro fra aliexpress og en haug med motstander, men det fungerer og jeg har lært noen få ting. Slik kan du gjøre det samme hvis du foretrekker det fremfor å kjøpe et ferdig utstyr for et sted mellom € 17 og € 90. Det tar sannsynligvis en dag å finne ut av alt, lodde det som må loddes, programmere og gjøre ledningene.

Når du har løst arduinoen med problemer med strømforsyning, som ikke gjør noe 99% av tiden, og vet hvordan du får tilgang til ledningene i bilen, kan du legge til mange andre mekanismer ved å koble andre signalkabler til kortet. Så langt har jeg fått min til å spille Star Wars imperial March da jeg startet bilen, enten ved hjelp av den lille høyttaleren, eller faktisk ved å bruke DC -motorene i de speilene som drives, med Arduino's PWM -signaler er like gode som dronemotorer for å spille lyder. Arduino vil brette/brette ut speilene med 1 sekund forsinkelse på billåshendelser (for å fordele lasten) og også la deg manuelt brette/brette ut speil i 15 sekunder etter at du har koblet fra nøkkelen siden arduinoen slår seg av etter 15 sekunder med uaktivitet (alt konfigurerbart). Den styrer nå også strømmen til vinduene, så jeg kan lukke dem i 15 sekunder etter at jeg tok ut nøkkelen.

Vær oppmerksom på at hvis det ikke er for moro skyld, er det ikke verdt å gjøre alt dette, ærlig talt bare kjøpe settet og spare tid.

Trinn 1: Oversikt

Oversikt
Oversikt

Så min Qashqai er 2013 J10-modellen, venstrekjøring (for høyrekjøring), ikke-intelligent nøkkel og ikke-Superlock-versjon, men dette bør gjelde alle J10-modeller utstyrt med drevne sidespeil, kanskje J11 og muligens andre modeller. Kablingene er litt forskjellige i hver versjon av J10, alt i alt har du 8 kombinasjoner (LHD/RHD, iKey/no iKey, Superlock/no Superlock) med forskjellene dokumentert i servicehåndbøkene som jeg skal koble til, J11 er også godt dokumentert.

Hva trenger du:

  • en PC med Arduino IDE installert,
  • to Arduino 5V -plater eller kloner derav. Jeg bruker aliexpress 5V 16MHz Pro Mini -kloner som disse. Den ene er bilen, og du trenger en annen, eller en faktisk ISP -programmerer, for å omprogrammere oppstartslasteren på den første. Du kan også bruke et hvilket som helst annet utviklingsbord, men de må være av en dum type (som en Arduino, ikke en enkelt bord datamaskin) for å sikre at de starter opp raskt. Du kan imidlertid legge til en SBC sammen med Arduino.
  • en H-bro som den populære L298n-brikken, med mindre du vil bygge din egen med 6 til 8 MOSFET-er eller transistorer og noen få andre komponenter. Jeg bruker disse 2-kanals aliexpress L289n breakout boards med alt inkludert.
  • fire dioder av hvilken som helst type som støtter opptil 15V (nesten alle gjennomgående hulldioder).
  • et sett med motstander på 100kΩ, 47kΩ, 4.7kΩ eller så, bruker jeg gjennomgående hullmotstander som finnes på mitt lokale hackerspace.
  • en P-kanal strøm MOSFET som kan opprettholde 1A eller 2A (alternativt en PNP transistor), bruker jeg IRF9540n. Hvis du også vil at vinduene skal gå gjennom det, må du sikte på minst 5A.
  • en liten N-kanal MOSFET (alternativt en NPN-transistor), jeg bruker 2n7000, men en større som IRF540 eller RFP50N06 fungerer også.
  • eventuelt en høyttaler og en 100Ω motstand.
  • kabler, noen på ca 18 AWG for bilens ledninger (jeg bruker 18 eller færre AWG silisiumkabler fra aliexpress) og litt tynn ledning for å koble komponentene sammen, eventuelt et loddetinn eller loddeløst brødbrett for å montere alt på og pinneoverskrifter.
  • startkabler, et multimeter, tang, loddejern og en flat skrutrekker for å fjerne bildekslene.

Trinn 2: Programmer oppstartslasteren

Programmer Bootloader
Programmer Bootloader
Programmer Bootloader
Programmer Bootloader

Brettet nummer en vil gå i bilen. Brett to vil bare være nødvendig for å blinke bootloaderen på Arduino nummer én, én gang. Dette er fordi AVR-baserte Arduinos har en tendens til å sende med den eldre oppstartslasteren som har en innebygd forsinkelse på 500 ms eller 1 sekund før du starter programmene dine, for å gi tid til en programmerer å signalisere det. Den nye standard bootloader er optiboot, som har en mekanisme som lar den kjøre programmer umiddelbart ved oppstart.

I bilen skal Arduino drives av et av følgende tre signaler: ACC slå på, låse eller låse opp. De to sistnevnte signalene er korte 12V -pulser som bare vekker oss et øyeblikk, derfra må Arduino bruke en av sine digitale pinner for å signalisere at den ønsker å fortsette å motta strøm. Vi må omskylle målet Arduino med optiboot slik at den kan gjøre dette raskt nok, før pulsene slutter og vi mister strømmen. (Du kan omgå det ved å legge til en stor kondensator, men meh)

Koble brett to til PC -en - hvis den ikke har en USB -port, som Pro Mini -klonene jeg bruker, lodd 5 mannlige pinner på GND, VCC, RXD, TXD, DTS -siden av brettet og koble til via en USB -til-seriell adapter. Åpne deretter Arduino IDE, fra Fil/Eksempler last Arduino ISP og kommenter denne linjen:

#define USE_OLD_STYLE_WIRING

(hvis du Arduino IDE er ny nok til å ha dette, ellers trenger du ikke å kommentere noe). I Verktøy/brett -menyen må du velge en av Arduino Pro eller Pro Mini, Arduino/Genuino Duemilanove eller Arduino/Genuino Uno, avhengig av baudhastigheten som er konfigurert i bootloaderen som ble levert på brettene dine. Prøv dem til du kan laste opp skissen til brettet. Koble fra brettet.

Loddestifter, hann eller hunn, avhengig av hvilke jumperkabler du har tilgjengelig, på de digitale pinnene 10, 11, 12, 13 på begge brettene (du kan bruke mannlige jumperkabler uten overskrifter, men meh …) og RST, VCC og GND ombord på en. Egentlig på det brettet trenger du sannsynligvis overskrifter alle pinner på den siden av brettet, så du kan like godt lodde dem direkte. Koble deretter pinnene 11, 12 og 13, VCC og GND på begge brettene sammen og pinne 10 på brett to til RST på brett ett. Det kan være lurt å bruke de alternative VCC- og GND-pinnene ombord på to, slik at du også kan beholde USB-til-serie-adapteren.

Til slutt koble brett to til datamaskinen, last ned den nyeste optiboot -utgivelsen optiboot.zip fra https://github.com/Optiboot/optiboot/releases og følg Installering ved hjelp av Arduino IDE -instruksjonene på wiki. Alternativt, hvis du kjører Linux og har avrdude installert, kan du bare pakke ut optiboot.zip og kjøre følgende kommandoer:

avrdude -p m328p -P /dev /ttyUSB0 -c avrisp -b 19200 -u -U lfuse: w: 0xdf: m -U hfuse: w: 0xdc: m -U efuse: w: 0xfd: m -v -v

avrdude -p m328p -P/dev/ttyUSB0 -c avrisp -b 19200 -u -U flash: w: Optiboot/bootloaders/optiboot/optiboot_atmega328.hex: i -v -v

Den første kommandoen angir AVR -sikringene for å fremskynde oppstart av skisse enda mer på bekostning av klokkestabilitet. Juster /dev /ttyUSB0-banen i henhold til hva USB-til-serie-adapteren din viser seg som.

Trinn 3: Programmer Arduino Sketch

Programmer Arduino Sketch
Programmer Arduino Sketch

Nå kan du koble Arduino -kortet 1 direkte til PC -en, åpne denne skissen i Arduino IDE og kompilere og laste opp skissen til brettet. Hvis du bruker 16MHz Pro Mini som jeg gjør, med den binære optiboot -utgivelsen, må du først velge Arduino/Genuino Uno fra Tools/Boards.

Du kan senere komme tilbake og endre noen av pin -tilordningene og alternativene i koden. Hvis du senere gjør noen forbedringer eller forbedringer av koden, husk å bidra med dem i en github pull -forespørsel en stund.

Trinn 4: Bygg ditt elektroniske kort

Bygg ditt elektroniske kort
Bygg ditt elektroniske kort
Bygg ditt elektroniske kort
Bygg ditt elektroniske kort
Bygg ditt elektroniske kort
Bygg ditt elektroniske kort

Til slutt må du koble alle komponentene sammen, og det er mange måter å gjøre det på. Du må ende opp med skjematisk som vist på bildet (eller her). Den enkleste måten ser ut til å være å gjøre alle tilkoblingene på et brødbrett og ha pin-header-rad for å koble Arduino-kortet, ytterligere 2-pins hoder for høyttaleren positive og negative, 2, 3 eller 4-pins hoder for å koble til H-broen avbrudd avhengig av type, og tykkere kabler for til slutt å gjøre 12V-tilkoblingene til biltrådene og PWR- og GND-kablene til H-broen. Brettet mitt kom ganske forferdelig ut, men det fungerer, du kan se det på bildene ovenfor.

Noen notater om skjemaene:

  • For enkelhets skyld bestemte jeg meg for å sette alle gjennomgående hullkomponenter og stifthodene og på den ene siden av brødbrettets kretskort, og de faktiske forbindelsene mellom dem, med ledninger eller loddeskiver, på den andre.
  • Brettoppsettet, hvis du til og med vil bruke et kretskort, trenger ikke å likne skjemaoppsettet.
  • Brettet mitt har ledninger for GND, ACC, SWITCH-, MIRROR+ og MIRROR- på ca 8 cm, de vil alle koble seg til M7-kontakten i bilen som er rett under dashbordet. Mine BAT+, LOCK+ og LOCK- ledninger er lengre fordi de kobles til andre steder.
  • Motstandene R1 til R8 danner spenningsdelere for 12V -inngangssignalene som skal leses av Arduino's digitale pinner. Forholdet mellom 47k og 100k motstandene er omtrent 2: 1, som for en 5V Arduino (med omtrent 3V til 5,5V inngangstoleranse for høyt nivå) betyr at spenningene fra bilen kan variere fra ca 9,5V til ca 17V. Det burde være nok for at alt skal fungere, selv med et kraftig utladet batteri i bilen opp til fullt og til og med opptil 4-cellers litiumpolymerbatteri som de som brukes i droner (noen ganger også brukt til å starte biler med et utladet batteri hvis det er alt du har). Du kan bruke forskjellige motstandsverdier, men de må også være nær eller høyere enn Arduino's innebygde pull-up-motstand på de digitale pinnene, fordi vi skissen bruker pull-up for å oppdage HIGH, LOW og flytende tilstander på pin. Det er også grunnen til at en typisk I2C -nivåskifter ikke kan brukes til nivåoversettelsen. I2C-nivåskifteren inkluderer permanente pull-up-motstander og vil komplisere ting mye. Våre spenningsdelere fungerer som nedtrekk.
  • De to mosfetene lar Arduino slå seg av når den bestemmer seg for at den ikke lenger trenger å gjøre noe for å være helt sikker på at bilbatteriet ikke tømmes hvis du forlater bilen over lengre tid. P-kanal MOSFET må bære all strøm til H-broen, speilmotorene og andre potensielle motorer, så den må tåle omtrent 1A som minimum, og mye mer hvis du også skal drive vinduene gjennom den.
  • Jeg har brukt en ekstra 4,7K motstand ved N-kanal mosfet-porten for å beskytte den, ting fungerer fortsatt uten den motstanden, men jeg brente noen få 2n7000 mosfeter mens jeg testet og ønsket å få dekket alle mulige problemer.
  • Hvis du bruker en PNP-transistor (for eksempel TIP135) i stedet for P-kanal MOSFET, kan du hoppe over R10-motstanden fordi porten vil ha mindre kapasitans.
  • Hvis du også bruker en NPN-transistor (for eksempel 2N2222A) i stedet for N-kanal MOSFET, kan du også hoppe over R9-motstanden.
  • Hvis du synes det er en god idé å bygge din egen H-Bridge, ta en titt på denne siden, den viser en rekke H-Bridge-design og noen fallgruver å være oppmerksom på.
  • R2 og R6 kan muligens bli kvitt deg også hvis du gjorde Arduino -skissen smart nok til å oppdage opplåsningssignalet fra bare låsekabelen.
  • H-Bridge current sense-signal (SenseA) er valgfritt, og min nåværende skisse bruker ikke engang det. Aliexpress L298n breakout kommer uten gjeldende sensormotstander som er vist i referanseskjemaene i databladet, men de kan enkelt legges til (krever å kutte et spor).
  • Hvis du endrer Arduinos pin-kartlegging, er de eneste hensynene: LOCK+ er koblet til en analog-kompatibel pin for å aktivere detektering av både låse- og opplåsningssignalene fra den pinnen i fremtiden. De nåværende sansesignalene er også en analog-kompatibel pin. H-Bridges ENA-signal og høyttaleren er begge koblet til PWM-kompatible pinner for å gjøre det mulig å generere PWM på dem, men igjen som ikke brukes for øyeblikket.
  • Hvis du bruker en piezo -høyttaler, trenger du ikke trenge motstander ved høyttalerens positive pin. For andre typer høyttalere trenger du sannsynligvis en 100Ω motstand mellom Arduinos pin 10 og høyttaleren, som ikke er i skjematisk.

Trinn 5: Finn låsesignalene i bilen

Finn låsesignalene i bilen
Finn låsesignalene i bilen
Finn låsesignalene i bilen
Finn låsesignalene i bilen
Finn låsesignalene i bilen
Finn låsesignalene i bilen

Denne er litt vanskelig, og der jeg har sett noen av personene som kjøpte de ferdige settene mislykkes under installasjonen, ifølge kjøperkommentarer. Servicehåndbøkene er nyttige for å finne de riktige ledningene, men bare til en viss grad fordi disse manualene er laget for diagnostikk (hvis dette, gjør dette..) i stedet for dokumentasjon. Jeg kopierte noen sider fra en av versjonene av manualene som du kan google, og jeg la til noen notater over dem.

Ta en titt på diagrammet på side 72 (for LHD) eller 89 (for RHD) for kontaktnavnene på hovedselen. Jeg plasserte min arduino under dashbordet, lukk speilkontrollene, så jeg ønsket å koble til ledninger i Main Harness.

For de fleste signaler kan vi bruke kablene som går til M7 -kontakten som faktisk kobles til speilkontrollenheten. Imidlertid er ikke batteriets positive og låse positive (eller låse negative) og låse negative (eller låse opp positive) ledninger der. Det er faktisk mer enn én låsekabel (lås negativ) som kommer fra Body Control Module fordi dører kan låses opp uavhengig av hverandre. Vi kan bruke alle opplåsningssignalene til vårt formål. Dørene kan imidlertid bare låses samtidig, så det er bare ett låsesignal (negativ opplåsing).

I venstrestyrte versjon blir det enkle lås-positive signalet dirigert til bakdørene gjennom den høyre halvdelen av bilen, så vi kan ikke bruke M13-kontakten, noe som hadde vært praktisk, fordi det bare har ulåsesignal. I bilene med høyrekjøring kan du bruke ledningene som går til M11-kontakten, som har både signalene vi trenger og er lett tilgjengelig. I LHD -versjonen skjøt jeg kablene som går til M19 -kontakten som har lås og ulåst ledninger til førerdøren foran (M19 kobles til D2 i dørselet på side 82). M19 er ganske utilgjengelig, men kablene som går til den går ut av et stort plastrør sammen med kablene for M18, M77, M78, M13 og M14, så de er enkle å finne. M11-kontaktkablene for høyrestyringsversjonen går ut av et rør som er på samme sted, men på høyre side.

For å komme dit må du først fjerne det manuelle kaller "front sparkeplate" som er plastdelen av gulvet rett ved førerdøren. (Jeg tror det er nummer 4 i diagrammet på side 14 i denne delen av servicehåndboken). Du kan tvinge den opp med en skrutrekker som skal få plastflikene til å løsne fra gulvet, og du bør deretter se alle kabler og kontakter i den fremre delen. Neste er "dash side finisher", som er et plastdeksel som starter på gulvet, til siden av pedalene (nummer 1). Forenden har en plastskrue som går gjennom den (nummer 12 i diagrammet) med en plastmutter som må fjernes, og deretter kan det hele løsnes ved å trekke i hendene forhåpentligvis uten at plastflikene går i stykker. Du kan eventuelt fjerne det "nedre instrumentpanelet", side 14 her.

Koblingene som du nå ser, kobler hovedselet til karosseriselen (M13, M14), maskinromsselen (M77, M78) og dørselet (ikke synlig, M18, M19).

Side 630 i denne delen av servicehåndboken viser oppsettet til M19-kontakten for "UTEN I-KEY & SUPERLOCK" -konfigurasjon, du kan slå opp pinouts for hver konfigurasjon i indeksen, men fargekablene skal stort sett være de samme. I mitt tilfelle står det (på side 630) pin 2 "GR" for grå og pin 3 "SB" for himmelblå. Side 626 viser hvordan de er koblet helt fra BCM til "frontdørlåsaktuatoren (på førersiden)", men i utgangspunktet er fargene alt vi trenger å vite. I mitt tilfelle er grått låst opp og himmelblått er lås.

Så når du finner ca. Av disse to la jeg merke til at en har tykkere kabler, dette er den som går til M19 -kontakten. Finn en grå, en himmelblå og en rosa kabel. Rosa er batteriet positivt. I mitt tilfelle er det to himmelblå kabler med en slags håndlagde prikkmerker, og den vi trenger er den litt tynnere av de to. Jeg endte opp med å gjøre små kutt med en kutter og sjekket hvilken som viste en kort positiv puls på multimeteret når jeg låste bilen. Deretter kuttet jeg alle tre kablene med en tang, gjorde tilkoblingene igjen med skrueterminaler og la deretter til tre forlengelseskabler (2x hvit, 1x rød) på omtrent 40 cm for å lede signalene dit min Arduino skulle være (nær speilkontrollene). Ingenting skal skje, men du vil kanskje først kutte den ene kabelen, låse dens tapende ender i skrueterminalene, og deretter kutte den neste for å unngå å kortslutte noe.

Merk: Du kan midlertidig koble fra det meste for å få kabler ut av veien, men hvis du kobler fra M77/M78 -kontaktene, mister hele dashbordet batteristrøm og klokken din tilbakestilles, og Nissan Connect vil be deg om sikkerhetskoden.

Merk: Noen av disse kontaktene har andre interessante signaler. koble også sammen de respektive kablene for å koble dem til Arduino.

Merk: For formålet med denne instruksen kan du også montere Arduino inne i døren, og du vil ha tilgang til alle signalene på ett sted.

Trinn 6: Valgfritt: Windows Power

Valgfritt: Windows Power
Valgfritt: Windows Power

Mens du er der kan du også forberede en fjerde kabel som driver vinduskontrollene og motorene fra vår Arduino -kontrollerte MOSFET i stedet for fra BCM -kabelen som bare leverer 12V når nøkkelen er i PÅ -posisjon. Det lar deg kontrollere vinduene i de 15 sekundene som vi har programmert Arduino til å forbli slått på etter at du har koblet fra nøkkelen. Du trenger imidlertid en heftig P-kanal MOSFET og ledninger. Jeg har ennå ikke undersøkt om ledningene mine ikke stresser sikringene eller BCM litt for mye, men jeg har ennå ikke blåst noen sikringer.

Så for å gjøre det må du finne de to "blå" (ikke "himmelblå") kablene som går til M19-kontakten. Den der vi skal injisere strøm er den tykkere av de to, pin nummer 8 på M19. Begge er vanligvis kortsluttet sammen, så det er ingen måte å finne ut hvilken som er med bare et multimeter før du kutter en av dem. Bare kutt den litt tykkere. Nå trenger vi ikke den øvre halvdelen av den (den som normalt leverer strøm fra BCM gjennom hovedselen), så bare pakk den enden inn i elektrisk tape. Bruk en skrueterminal for å forlenge den andre halvdelen (den som går til M19) på samme måte som de tre andre forlengelseskablene vi har forberedt.

Deretter pakket jeg hele greia, inkludert skrueklemmen, med mye elektrisk tape, pakket også de fire forlengelsestrådene sammen og førte dem under dashborddekslene. Med dette gjort kan du montere "sparkeplate" og "dash side finisher" tilbake på sine steder.

Merk: denne fjerde ledningen er valgfri, men du kan gjøre dette selv om du planlegger å finne en stor nok MOSFET senere, slik at du ikke trenger å tukle med ledningsnettene igjen. I mellomtiden kan du koble denne fjerde kabelen direkte til ACC -strømmen i neste trinn.

Trinn 7: Koble Contraption til Mirror Control Wires

Koble Contraption til Mirror Control Wires
Koble Contraption til Mirror Control Wires
Koble Contraption til Mirror Control Wires
Koble Contraption til Mirror Control Wires
Koble Contraption til Mirror Control Wires
Koble Contraption til Mirror Control Wires

Nå som du har alle de 8 kablene i nærheten av speilkontrollene, kan du ta en annen skrueklemme og koble alt sammen. Du vil legge merke til at speilkontrollene er montert på en grovt rektangulær plate som du kan tvinge ut med en flat skrutrekker. På innsiden vil den ha tre stikkontakter, den største er hvor M7 -kontakten fra Main Harness kobles til. Se over pinout på M7 -kontakten med notatene jeg la til. Du må i utgangspunktet kutte ledningene for pinne 1 (GND, svart), 3 (ACC, rød), 8 (MIRROR+, oransje) og 9 (MIRROR-, blå).

Dette er forbindelsene du må gjøre:

  • LOCK+ (lås) og LÅS- (låse opp) og BAT+ (batteripositive) forlengelseskabler fra M19 fra forrige trinn til kretskortet vårt.
  • GND -kabelen du kutter i to må kobles sammen igjen med en skrueterminal og skjøtes for å også koble til kretsen vår.
  • MIRROR+ og MIRROR- signalene er ikke spleiset. Halvdelene som går til hovedselen må kobles til H-broen, mens halvparten av MIRROR-signalet fra M7-kontakten må kobles til SWITCH-signalet som går til Arduino gjennom spenningsdeleren. Den andre kabelen er ikke nødvendig, men lås den inn i skrueterminalen slik at den ikke mister.
  • ACC -ledningen fra selen kobles til brettet vårt mens PWR -utgangen fra kortet vårt kobles til der ACC ble koblet til M7 -kontakten. Du kan bruke to skrueterminaler for å koble de to halvdelene av den originale kabelen til ACC- og PWR -ledningene fra vår nye krets.

Koble Arduino og høyttaleren til resten av kretsen og påfør elektrisk tape overalt, eller du kan designe en pen 3D-trykt sak for å holde alt sammen. Jeg valgte selv den elektriske tape -metoden overalt. Jeg forlot nettopp USB-til-serie-adapteren tilkoblet Arduino, testet at Arduino reagerer på alle de riktige hendelsene ved å lage lyder med høyttaleren, og presset deretter rotet gjennom åpningen for speilkontrollpanelet, satte panelet tilbake i og forlot bare USB -kontakten avslørt for ytterligere endringer i skissen.

Trinn 8: Test

Hvis du har fått de fleste kablene til høyre, er det eneste problemet igjen å finne ut låsen/låse opp signalene polaritet, speilmotorens ledninger og polariteten til bryteren. Med min skisse slik du er, bør du i det minste høre Imperial March -melodien spille når du dreier nøkkelen til ACC -posisjonen, og speilene skal enten brette seg inn eller ut. Hvis de bretter seg inn i stedet for ut, bytter du bare PIN_HBRIDGE_DIR1 og PIN_HBRIDGE_DIR2 pin-tallene i skissen, og laster opp på nytt på tavlen. Hvis den manuelle speilbryteren fungerer feil, må du kommentere

#define MIRROR_SWITCH_INVERT

linje. Prøv til slutt å låse og låse opp bilen, hvis speilene beveger seg i den andre retningen, bytt deretter PIN_LOCK1_IN og PIN_LOCK2_IN pin -tallene i skissen.

Trinn 9: Hva annet kan gjøres

  • Lukk vinduer og taket på billåsen og muligens gjenopprett til siste posisjon når du låser opp. Dette bør også fungere med H-Bridges, men jeg er ikke sikker på at det vil være nok IOer igjen på Arduino for alle ledningene. Du trenger nåværende sensing for å kunne kjenne hvor lenge motorene hadde kjørt for å kunne gjenopprette til samme posisjon senere. Bare å lukke vinduene på lås er enklere fordi du bare trenger en utgangspinne og halvparten av en H-bro med ekstra dioder eller MOSFET-er for å unngå kortslutning hvis noen hadde betjent de manuelle vinduskontrollene samtidig. Kabling av alt dette virker enkelt for passasjer- og bakvinduene fordi alt dette går gjennom D8/B8 -kontakten, men førervinduet er mer vanskelig.
  • Ifølge forumene kan det være uønsket å prøve å brette speilene om vinteren hvis mekanismen er frossen. Arduino har en NTC -termistor og kan automatisk bestemme at i stedet for at sjåføren må berøre speilbryteren to ganger i året.
  • Finn ut om reversgirssignalet til Nissan Connect er en enkelt ledning eller et OBD2 -signal. Jeg vil gjerne at Nissan Connect fortsetter å vise bakkameraet i noen sekunder etter at du har byttet til et gir forover, og også å vise kameraet bak når bilen ruller bakover uten at giret er innkoblet. Min største irritasjon med dette systemet.
  • Legg til en Raspberry Pi eller en annen SBC sammen med Arduino for å behandle OBD2 -signaler, så vel som signaler fra Arduino, loggføringen og flere smarts.

Anbefalt: