Indholdsfortegnelse:

Byg en Arduino i en Nissan Qashqai for at automatisere vingespejlet foldning eller andet: 9 trin (med billeder)
Byg en Arduino i en Nissan Qashqai for at automatisere vingespejlet foldning eller andet: 9 trin (med billeder)

Video: Byg en Arduino i en Nissan Qashqai for at automatisere vingespejlet foldning eller andet: 9 trin (med billeder)

Video: Byg en Arduino i en Nissan Qashqai for at automatisere vingespejlet foldning eller andet: 9 trin (med billeder)
Video: Arduino CAN Monitor (простейший монитор шины CAN) 2024, Juli
Anonim
Byg en Arduino i en Nissan Qashqai for at automatisere vingespejlfældning eller andet
Byg en Arduino i en Nissan Qashqai for at automatisere vingespejlfældning eller andet
Byg en Arduino i en Nissan Qashqai for at automatisere vingespejlfældning eller andet
Byg en Arduino i en Nissan Qashqai for at automatisere vingespejlfældning eller andet

Nissan Qashqai J10 har et par små irriterende ting ved betjeningen, der let kunne være bedre. En af dem er at skulle huske at skubbe spejlets åbning/lukning, før nøglen tages ud af tændingen. En anden er den lille konfiguration af BCM (karosserimodul) og Nissan Connect hovedenheden. Der er et par andre ting, men vigtigst af alt spiller det ikke Imperial March, når du starter motoren, som mine quadcopters gør! Noget skulle gøres.

Førstnævnte er angiveligt blevet løst i nyere J11 -modeller (2015+?), Men jeg tror, at du stadig skal købe et kit til 2014 J11 Qashqai. Der er separate kits til J11- og J10 -modellerne (2008 - 2013 eller deromkring) som Nissan offical -kittet (ved ikke prisen), AcesDVD -kittet på 70 £ fra nogle folk på qashqaiforums.co.uk og et par nyere muligheder. Den ene er endda dukket op på aliexpress for kun 17 €, men er ikke længere tilgængelig. Disse kits har en tendens til at forbinde til kun 8 ledninger i bilen, som du skal finde, og de vil automatisk folde spejlene ind, når du låser bilen og foldes ud, når du låser den op, så det er virkelig nyttigt, men giver dig stadig ikke meget fleksibilitet.

Så jeg havde omkring nogle $ 1 Arduino -kloner og et par skuffer med MOSFET'er, transitorer, en højttaler og andre komponenter på det lokale hackerspace og vidste lidt om analog elektronik, jeg satte mig for at replikere, hvad disse sæt gør, men med fleksibiliteten til at ændre logikken ved at omprogrammere Arduino -kortet over USB til enhver tid. Hvad kan være kompliceret ved at tilslutte en Arduino og et par MOSFET'er, ikke? Det viser sig, at der er mange finurligheder, når man kører en motor med MOSFET'er eller transitorer, hvilket betød at redesigne forbindelserne et par gange, tilføje en $ 1,50 H-bro fra aliexpress og en flok modstande, men det virker, og jeg har lært et par ting. Sådan kan du gøre det samme, hvis du foretrækker det frem for at købe et færdigt kit til et sted mellem € 17 og € 90. Det tager sandsynligvis en dag at finde ud af alt, lodde det, der skal loddes, programmere og foretage ledningerne.

Når du har løst arduinoen med problemer med strømforsyningen, uden at gøre noget 99% af tiden, og ved, hvordan du får adgang til ledningerne i bilen, kan du tilføje en masse andre mekanismer ved at forbinde andre signaltråde til kortet. Indtil nu fik jeg min til at spille Star Wars kejserlige marts, da jeg startede bilen, enten ved hjælp af den lille højttaler eller faktisk ved hjælp af DC -motorerne i de spejle, der drives med Arduino's PWM -signaler er lige så gode som dronemotorer til at spille lyde. Arduino vil folde/udfolde spejlene med en forsinkelse på 1 sekund på billåsningshændelser (for at fordele lasten) og også give dig mulighed for manuelt at folde/udfolde spejle i 15 sekunder efter afbrydelse af nøglen, da arduinoen lukker sig selv efter 15 sekunders uaktivitet (alle konfigurerbare). Det styrer nu også strømmen til vinduerne, så jeg kan lukke dem i 15 sekunder efter at have taget nøglen ud.

Bemærk, at hvis det ikke er for sjov, er det ikke værd at gøre alt dette, ærligt talt bare købe sættet og spare tid.

Trin 1: Oversigt

Oversigt
Oversigt

Så min Qashqai er 2013 J10-modellen, venstrekørsel (til højrekørsel), ikke-intelligent nøgle og ikke-Superlock-version, men dette bør gælde for alle J10-modeller udstyret med el-spejle, måske til J11 og muligvis andre modeller. Ledningerne er lidt forskellige i hver version af J10, alt i alt har du 8 kombinationer (LHD/RHD, iKey/ingen iKey, Superlock/ingen Superlock) med forskellene dokumenteret i servicehåndbøgerne, som jeg linker, J11 er også veldokumenteret.

Hvad du har brug for:

  • en pc med Arduino IDE installeret,
  • to Arduino 5V -plader eller kloner deraf. Jeg bruger aliexpress 5V 16MHz Pro Mini -kloner som disse. Den ene er den til bilen, og du har brug for en anden, eller en egentlig internetudbyder, til at omprogrammere bootloaderen på den første. Du kan også bruge ethvert andet udviklingsbræt, men de skal være af den dumme type (som en Arduino, ikke en enkelt bordcomputertype) for at sikre, at de starter hurtigt op. Du kan dog tilføje en SBC sammen med Arduino.
  • en H-Bridge som den populære L298n-chip, medmindre du vil bygge din egen med 6 til 8 MOSFET'er eller transistorer og et par andre komponenter. Jeg bruger disse 2-kanals aliexpress L289n breakout boards med alt inkluderet.
  • fire dioder af enhver type, der understøtter op til ca. 15V (næsten enhver gennemgående huldiode).
  • et sæt modstande på 100kΩ, 47kΩ, 4.7kΩ eller deromkring, jeg bruger gennemgående huller modstande fundet på mit lokale hackerspace.
  • en P-kanal strøm MOSFET, der kan understøtte 1A eller 2A (alternativt en PNP transistor), bruger jeg IRF9540n. Hvis du også vil have det til at drive vinduerne til at gå igennem det, skal du sigte mod mindst 5A.
  • en lille N-kanal MOSFET (alternativt en NPN transistor), jeg bruger 2n7000, men en større som IRF540 eller RFP50N06 fungerer også.
  • eventuelt en højttaler og en 100Ω modstand.
  • kabler, nogle af cirka 18 AWG til bilens ledninger (jeg bruger 18 eller færre AWG silicium kabler fra aliexpress) og en tynd tråd til at forbinde komponenterne sammen, eventuelt et lodde eller loddet brødbræt til at montere alt på og pin headere.
  • jumperkabler, et multimeter, tang, loddejern og en flad skruetrækker til at fjerne bilens dæksler.

Trin 2: Programmer bootloaderen

Programmer bootloaderen
Programmer bootloaderen
Programmer bootloaderen
Programmer bootloaderen

Brættet nummer et vil gå i bilen. Board to vil kun være nødvendigt for at blinke bootloaderen på Arduino nummer et, én gang. Dette skyldes, at AVR-baserede Arduinos har en tendens til at sende med den ældre bootloader, der har en indbygget forsinkelse på 500 ms eller 1 sekund før du starter dine programmer, for at give programmereren tid til at signalere det. Den nye standard bootloader er optiboot, som har en mekanisme, der lader den køre programmer straks ved opstart.

I bilen vil Arduino blive drevet af et af følgende tre signaler: ACC tænd, lås eller lås op. De to sidstnævnte signaler er korte 12V -impulser, der kun vækker os et øjeblik, derfra skal Arduino bruge en af sine digitale ben til at signalere, at den ønsker at blive ved med at modtage strøm. Vi er nødt til at omskylle Arduino -målet med optiboot, så det kan gøre dette hurtigt nok, før pulserne slutter, og vi mister strømmen. (Du kan omgå det ved at tilføje en stor kondensator, men meh)

Tilslut kort to til pc'en - hvis den ikke har en USB -port, som de Pro Mini -kloner, jeg bruger, lod 5 hanstifter på GND, VCC, RXD, TXD, DTS -siden af kortet og tilslut via en USB -til-seriel adapter. Åbn derefter Arduino IDE, indlæs Arduino ISP fra Fil/eksempler, og fjern denne kommentar:

#define USE_OLD_STYLE_WIRING

(hvis din Arduino IDE er ny nok til at have dette, ellers behøver du ikke at kommentere noget). I menuen Værktøjer/Board skal du vælge en af Arduino Pro eller Pro Mini, Arduino/Genuino Duemilanove eller Arduino/Genuino Uno afhængigt af baudhastigheden, der er konfigureret i bootloaderen, der blev sendt på dine tavler. Prøv dem, indtil du kan uploade skitsen til tavlen. Afbryd kortet.

Loddetappe, han eller hun, afhængigt af hvilke jumperkabler du har til rådighed, på de digitale ben 10, 11, 12, 13 på begge brædder (du kan bruge han -jumperkabler uden overskrifter, men meh …) og RST, VCC og GND ombord på en. Faktisk på dette bræt har du sandsynligvis brug for overskrifter alle stifter på den side af brættet, så du kan lige så godt lodde dem direkte. Tilslut derefter stifterne 11, 12 og 13, VCC og GND på begge brædder sammen og pin 10 på tavle to til RST på tavle et. Du vil måske bruge de alternative VCC- og GND-ben på bord to, så du også kan holde USB-til-seriel adapteren tilsluttet.

Tilslut til sidst bord to til computeren, download den seneste optiboot -udgave optiboot.zip fra https://github.com/Optiboot/optiboot/releases, og følg installationen ved hjælp af Arduino IDE -instruktionerne på wiki. Alternativt, hvis du kører Linux og har avrdude installeret, skal du bare pakke optiboot.zip ud og kø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 kommando indstiller AVR -sikringerne for at fremskynde skitsestart endnu mere på bekostning af urstabiliteten. Juster /dev /ttyUSB0-stien i henhold til, hvad din USB-til-serielle adapter viser sig som.

Trin 3: Programmer Arduino Sketch

Programmer Arduino Sketch
Programmer Arduino Sketch

Nu kan du forbinde Arduino -kortet 1 direkte til pc'en, åbne denne skitse i Arduino IDE og kompilere og uploade skitsen til tavlen. Hvis du bruger 16MHz Pro Mini som jeg gør, med den binære optiboot -udgivelse, skal du først vælge Arduino/Genuino Uno fra Værktøjer/tavler.

Du kan senere vende tilbage og ændre alle pin -mappinger og muligheder i koden. Hvis du senere foretager rettelser eller forbedringer af koden, skal du huske at indsende dem tilbage i en github pull -anmodning et stykke tid.

Trin 4: Byg dit elektroniske kort

Byg dit elektroniske kort
Byg dit elektroniske kort
Byg dit elektroniske kort
Byg dit elektroniske kort
Byg dit elektroniske kort
Byg dit elektroniske kort

Endelig skal du forbinde alle komponenterne sammen, og der er mange måder at gøre det på. Du bliver nødt til at ende med skematisk som vist på billedet (eller her). Den nemmeste måde ser ud til at være at foretage alle forbindelser på et brødbræt og have pin header række til at forbinde Arduino boardet, yderligere 2 pin headers til højttaleren positive og negative, 2, 3 eller 4 pin headers til at forbinde til H-Bridge breakout afhængigt af dens type og tykkere kabler til i sidste ende at lave 12V-forbindelserne til biltrådene og PWR- og GND-kablerne til H-broen. Mit bord kom temmelig forfærdeligt ud, men det virker, du kan se det på billederne ovenfor.

Nogle noter om skemaerne:

  • For enkelhedens skyld besluttede jeg at sætte alle de gennemgående huller og stifthovederne og på den ene side af brødbrætets printkort og de faktiske forbindelser mellem dem med ledninger eller loddeklatter på den anden.
  • Tavlelayoutet, hvis du selv vil bruge et printkort, behøver ikke at ligne skematisk layout.
  • Mit bord har ledninger til GND, ACC, SWITCH-, MIRROR+ og MIRROR- på cirka 8 cm, de vil alle forbinde til M7-stikket i bilen, som er lige under instrumentbrættet. Mine BAT+, LOCK+ og LOCK- ledninger er længere, fordi de forbinder andre steder.
  • Modstandene R1 til R8 danner spændingsdelere for de 12V indgangssignaler, der skal aflæses af Arduino's digitale ben. Forholdet mellem 47k og 100k modstande er omkring 2: 1, hvilket for en 5V Arduino (med ca. 3V til 5,5V input tolerance for højt niveau) betyder, at han spændinger fra bilen kan variere fra omkring 9,5V til omkring 17V. Det burde være nok til, at alt fungerer, selv med et stærkt afladet batteri i bilen op til fuldt og endda op til det 4-cellede litiumpolymerbatteri som dem, der bruges i droner (nogle gange bruges det også til at starte biler med et afladet batteri, hvis det er alt du har). Du kan bruge forskellige modstandsværdier, men de skal også være tæt på eller højere end Arduino's indbyggede pull-up-modstand på de digitale ben, fordi vi skitsen bruger pull-up til at registrere HIGH, LOW og flydende tilstande på pin. Det er også grunden til, at en typisk I2C -niveauskifter ikke kan bruges til niveauoversættelsen. I2C-niveauskifteren inkluderer permanente pull-up-modstande og ville komplicere tingene meget. Vores spændingsdelere fungerer som pull-downs.
  • De to mosfets giver Arduino mulighed for at slukke helt, når den beslutter, at den ikke længere skal gøre noget for at være helt sikker på, at bilbatteriet ikke tømmes, hvis du forlader bilen i længere tid. P-kanal MOSFET skal bære al strømmen til H-broen, spejlmotorer og andre potentielle motorer, så den skal tåle omkring 1A som minimum og meget mere, hvis du også vil drive vinduerne igennem den.
  • Jeg har brugt en ekstra 4.7K modstand ved N-kanal mosfet-porten for at beskytte den, tingene fungerer stadig uden den modstand, men jeg brændte et par 2n7000 mosfets under testning og ville have dækket alle de mulige problemer.
  • Hvis du bruger en PNP-transistor (f.eks. TIP135) i stedet for P-kanal MOSFET, kan du springe R10-modstanden over, fordi porten vil have mindre kapacitans.
  • Hvis du også bruger en NPN-transistor (f.eks. 2N2222A) i stedet for N-kanal MOSFET, kan du også springe R9-modstanden over.
  • Hvis du synes, det er en god idé at bygge din egen H-Bridge, kan du kigge på denne side, den viser en række H-Bridge-designs og nogle faldgruber, du skal være opmærksom på.
  • R2 og R6 kunne muligvis også blive fjernet, hvis du gjorde Arduino -skitsen smart nok til at opdage låsesignalet fra bare han låsekablet.
  • H-Bridge nuværende sansesignal (SenseA) er valgfrit, og min nuværende skitse gør ikke engang brug af det. Aliexpress L298n -udbruddet kommer uden de aktuelle registreringsmodstande vist i referenceskemaerne i dets datablad, men de kan let tilføjes (kræver afskæring af et spor).
  • Hvis du ændrer Arduino's pin-kortlægning, er de eneste overvejelser: LOCK+ er forbundet til en analog-kompatibel pin for at muliggøre registrering af både låse- og oplåsningssignalerne fra den pin i fremtiden. De aktuelle sansesignaler er også en analog-egnet pin. H-Bridge's ENA-signal og højttaleren er begge forbundet til PWM-kompatible stifter for at muliggøre generering af PWM på dem, men igen bruges det ikke i øjeblikket.
  • Hvis du bruger en piezo -højttaler, skal du ikke have brug for modstande ved højttalerens positive pin. For andre typer højttalere har du sandsynligvis brug for en 100Ω modstand mellem Arduinos pin 10 og højttaleren, som ikke er i skematisk.

Trin 5: Find låsesignalerne i bilen

Find låsesignalerne i bilen
Find låsesignalerne i bilen
Find låsesignalerne i bilen
Find låsesignalerne i bilen
Find låsesignalerne i bilen
Find låsesignalerne i bilen

Denne er lidt vanskelig, og hvor jeg har set et par af de mennesker, der købte de færdige kits, mislykkes under installationen, ifølge køberkommentarer. Servicemanualerne er nyttige til at finde de rigtige ledninger, men kun i en vis grad, fordi disse manualer er lavet til diagnostik (hvis dette gør det..) frem for dokumentation. Jeg kopierede nogle sider fra en af versionerne af manualerne, som du kan google, og jeg tilføjede nogle noter over dem.

Tag et kig på diagrammet på side 72 (til LHD) eller 89 (til RHD) for navnene på stikket på Main Harness. Jeg placerede min arduino under instrumentbrættet, luk spejlkontrollerne, så jeg ville tilslutte ledninger i Main Harness.

For de fleste signaler kan vi bruge kablerne, der går til M7 -stikket, som rent faktisk tilsluttes spejlkontrolenheden. Men batteriets positive og låse positive (eller låse negative) og låse negative (eller låse op) ledninger er der ikke. Der kommer faktisk mere end en låsekabel (negativ negativ) fra Body Control Module, fordi døre kan låses op uafhængigt. Vi kan bruge alle oplåsningssignalerne til vores formål. Dørene kan dog kun låses samtidigt, så der er kun ét låsesignal (oplåsning negativ).

I venstrestyrede version dirigeres det positive låsesignal til bagdørene gennem den højre halvdel af bilen, så vi ikke kan bruge M13-stikket, hvilket ville have været praktisk, fordi det kun har låsesignalet. I højrestyrede biler kan du bruge ledningerne til M11-stikket, som både har de signaler, vi har brug for, og er let tilgængelige. I LHD -versionen splittede jeg kablerne, der går til M19 -stikket, der har lås og oplåsningskabler til den forreste førerdør (M19 tilsluttes D2 i Dørselet på side 82). M19 er ret utilgængelig, men kablerne, der går til den, forlader et stort plastrør sammen med kablerne til M18, M77, M78, M13 og M14, så de er lette at finde. M11-tilslutningskablerne til version med højrestyring forlader et rør, der er på samme sted, men i højre side.

For at komme dertil skal du først fjerne det, manualen kalder "frontsparkepladen", som er plastdelen af gulvet lige ved førerdøren. (Jeg tror, det er nummer 4 i diagrammet på side 14 i denne del af servicehåndbogen). Du kan tvinge den op med en skruetrækker, som skal få plastikfanerne til at løsne sig fra gulvet, og du skal derefter se alle kabler og stik i den forreste del. Næste er "dash side finisher", som er et plastdæksel, der starter ved gulvet, til siden af pedalerne (nummer 1). Den forreste ende har en plastskrue, der går igennem den (nummer 12 i diagrammet) med en plastmøtrik, der skal fjernes, og derefter kan det hele løsnes ved at trække i hænderne forhåbentlig uden at plastikfanerne går i stykker. Du kan eventuelt fjerne det "nedre instrumentpanel", side 14 her.

De stik, som du nu vil se, forbinder hovedselet til kropsselen (M13, M14), maskinrumsselen (M77, M78) og dørselen (ikke synlig, M18, M19).

Side 630 i denne del af servicevejledningen viser layoutet af M19-stikket til "UDEN I-KEY & SUPERLOCK" -konfigurationen, du kan slå pinouts for hver konfiguration i indekset op, men farvekablerne skal stort set være de samme. I mit tilfælde står der (på side 630) pin 2 "GR" for grå og pin 3 "SB" for himmelblå. Side 626 viser, hvordan disse er forbundet hele vejen fra BCM til "hoveddørlåsaktuatoren (førersiden)", men grundlæggende er farverne alt, hvad vi behøver at vide. I mit tilfælde er grå låst op, og himmelblå er lås.

Så når du finder omkring 6 bundter kabler, der går ud fra det brede bølgepaprør lige til siden af håndtaget til brændstoflåg, vil 4 grupper af kabler gå til stikkene længere nede, mens 2 vil gå et sted til venstre. Af disse to lagde jeg mærke til, at en har tykkere kabler, det er den, der går til M19 -stikket. Find et gråt, et himmelblåt og et lyserødt kabel. Lyserødt er batteriet positivt. I mit tilfælde er der to himmelblå kabler med en slags håndlavede prikmarkeringer, og den, vi har brug for, er den lidt tyndere af de to. Jeg endte med at lave små snit med en fræser og kontrollerede, hvilken der viste en kort positiv puls på multimeteret, når bilen låste. Derefter klippede jeg alle tre kabler med en tang, lavede forbindelserne igen med skrueterminaler og tilføjede derefter tre forlængerkabler (2x hvid, 1x rød) på cirka 40 cm for at lede signalerne til, hvor min Arduino skulle være (nær spejlkontrollerne). Intet bør ske, men du vil måske først skære et kabel, låse dets tabte ender i skrueterminalerne, først derefter skære det næste for at undgå at kortslutte noget.

Bemærk: du kan midlertidigt afbryde de fleste ting for at få kabler af vejen, men hvis du afmonterer M77/M78 -stikket, mister hele instrumentbrættet batteristrøm, og dit ur nulstilles, og din Nissan Connect vil bede dig om sikkerhedskoden.

Bemærk: Nogle af disse stik har andre interessante signaler, som f.eks. M13 har ledninger fra døråbnede sensorer, så hvis du ville foretage nogen form for automatisering på Arduino, der har brug for at vide, om en dør er åbnet, kan du tage chancen for at forbinde også splejse de respektive kabler for at føre dem til Arduino.

Bemærk: I forbindelse med denne instruks kan du også montere Arduino inde i døren, og du vil have adgang til alle signalerne ét sted.

Trin 6: Valgfrit: Windows Power

Valgfrit: Windows Power
Valgfrit: Windows Power

Mens du er der, kan du også forberede et fjerde kabel, der driver vindueskontrollerne og motorerne fra vores Arduino -styrede MOSFET i stedet for fra BCM -ledningen, der kun leverer 12V, når nøglen er i ON -positionen. Det lader dig styre vinduerne i de 15 sekunder, som vi har programmeret Arduino til at forblive tændt efter afbrydelse af nøglen. Men du skal bruge en tilsvarende heftig P-kanal MOSFET og ledninger. Jeg mangler endnu at undersøge, om mine ledninger ikke stresser sikringerne eller BCM'en lidt for meget, men jeg har endnu ikke sprængt nogen sikringer.

Så for at gøre det skal du finde de to "blå" (ikke "himmelblå") kabler, der går til M19-stikket. Den, hvor vi vil injicere strøm, er den tykkere af de to, pin nummer 8 ved M19. Begge er normalt kortsluttet sammen, så der er ingen måde at finde ud af, hvad der er, med bare et multimeter, før du skærer en af dem. Skær bare den lidt tykkere. Nu har vi ikke brug for den øverste halvdel af den (den, der normalt leverer strøm fra BCM gennem Main Harness), så bare pakk den ende ind i elektrisk tape. Brug en skrueterminal til at forlænge den anden halvdel (den, der går til M19) på samme måde som de tre andre forlængerkabler, vi har forberedt.

Jeg pakkede derefter det hele inklusive skrueterminalbåndet med masser af elektrisk tape, også viklede mine fire forlængerledninger sammen og førte dem under instrumentbrættets dæksler. Med dette udført kan du montere "sparkeplade" og "dash side finisher" tilbage på deres steder.

Bemærk: Denne fjerde ledning er valgfri, men du kan gøre dette, selvom du planlægger at finde en stor nok MOSFET senere, så du ikke behøver at rode med ledningsnettet igen. I mellemtiden kan du tilslutte dette fjerde kabel direkte til ACC -strømmen i det næste trin.

Trin 7: Tilslut Contraption til Mirror Control Wires

Tilslut Contraption til Mirror Control Wires
Tilslut Contraption til Mirror Control Wires
Tilslut Contraption til Mirror Control Wires
Tilslut Contraption til Mirror Control Wires
Tilslut Contraption til Mirror Control Wires
Tilslut Contraption til Mirror Control Wires

Nu hvor du har alle de 8 kabler i nærheden af spejlkontrollerne, kan du tage en anden skrueklemme og forbinde alt sammen. Du vil bemærke, at spejlkontrollerne er monteret på en nogenlunde rektangulær plade, som du kan tvinge ud med en flad skruetrækker. På indersiden vil den have tre stik, den største er, hvor M7 -stikket fra Main Harness tilsluttes. Se ovenfor pinout af M7 -stikket med de noter, jeg tilføjede. Du skal dybest set skære ledningerne til stifter 1 (GND, sort), 3 (ACC, rød), 8 (MIRROR+, orange) og 9 (MIRROR-, blå).

Disse forbindelser skal du lave:

  • LOCK+ (lås) og LÅS- (lås op) og BAT+ (batteripositive) forlængerledninger fra M19 fra det foregående trin til vores printkort.
  • GND -kablet, du skærer i to, skal sættes sammen igen med en skrueterminal og splejses for også at kunne tilsluttes vores kredsløb.
  • MIRROR+ og MIRROR- signalerne er ikke splejset. De halvdele, der går til Main Harness, skal tilsluttes H-broen, mens halvdelen af MIRROR-signalet fra M7-stikket skal tilsluttes SWITCH-signalet, der går til Arduino gennem spændingsdeleren. Det andet kabel er ikke nødvendigt, men lås det fast i skrueterminalen, så det ikke taber.
  • ACC -ledningen fra selen tilsluttes vores kort, mens PWR -udgangen fra vores bord forbinder til det sted, hvor ACC var tilsluttet ved M7 -stikket. Du kan bruge to skrueterminaler til at forbinde de to halvdele af det originale kabel til ACC- og PWR -ledningerne fra vores nye kredsløb.

Tilslut Arduino og højttaleren til resten af kredsløbet og påfør elektrisk tape overalt, eller du kan designe et smukt 3D-printet etui til at holde alt sammen. Jeg valgte selv den elektriske tape overalt metode. Jeg forlod lige USB-til-Serial-adapteren tilsluttet Arduino, testede, at Arduino reagerer på alle de rigtige hændelser ved at lave lyde med højttaleren, skubbede derefter rodet gennem åbningen til spejlkontrolpanelet, satte panelet tilbage i og forlod kun USB -stikket eksponeret for yderligere ændringer i skitsen.

Trin 8: Test

Hvis du har fået de fleste kabler til højre, er det eneste problem, der er tilbage, at finde ud af låsen/oplåsningssignalernes polaritet, spejlmotorens ledningspolaritet og switchens polaritet. Med min sketch som det er, skal du i det mindste høre Imperial March -melodien spille, når du drejer nøglen til ACC -positionen, og spejlene skal enten folde ind eller ud. Hvis de foldes ind i stedet for ud, skal du bare skifte PIN_HBRIDGE_DIR1 og PIN_HBRIDGE_DIR2 pinnumre i skitsen og uploade igen til tavlen. Hvis den manuelle spejlkontakt derefter fungerer den forkerte vej, skal du kommentere

#define MIRROR_SWITCH_INVERT

linje. Prøv endelig at låse og låse bilen op, hvis spejlene bevæger sig i den anden retning, skal du skifte PIN_LOCK1_IN og PIN_LOCK2_IN pin -numre i skitsen.

Trin 9: Hvad kan man ellers gøre

  • Luk vinduer og taget på billås og gendann muligvis til sidste position ved oplåsning. Dette burde også fungere med H-Bridges, men jeg er ikke sikker på, at der vil være nok IO'er tilbage på Arduino til alle ledninger. Du skulle bruge nuværende sensing for at kunne fornemme, hvor længe motorerne havde kørt for at kunne gendanne den samme position senere. Blot at lukke vinduerne på lås er lettere, fordi du bare har brug for en udgangsstift og den ene halvdel af en H-bro med ekstra dioder eller MOSFET'er for at undgå kortslutning, hvis nogen havde aktiveret de manuelle vindueskontroller samtidigt. Det er let at koble alt dette til passager- og bagruderne, fordi alt dette går gennem D8/B8 -stikket, men førervinduet er mere vanskeligt.
  • Ifølge fora kan det være uønsket at forsøge at folde spejlene om vinteren, hvis mekanismen er frosset. Arduino har en NTC -termistor og kan automatisk beslutte, at i stedet for at føreren skal røre spejlkontakten to gange om året.
  • Find ud af, om bakgearssignalet til Nissan Connect er en enkelt ledning eller et OBD2 -signal. Jeg ville elske, at Nissan Connect blev ved med at vise bagkameraets visning i et par sekunder efter at have skiftet til et fremadgående gear, og også at vise kameraet bagfra, når bilen ruller bagud uden at bakgearet er aktiveret. Min største irritation over dette system.
  • Tilføj en Raspberry Pi eller en anden SBC sammen med Arduino for at behandle OBD2 -signaler samt signaler fra Arduino, foretage logning og yderligere smarts.

Anbefalede: