Innehållsförteckning:

Bygg en Arduino i en Nissan Qashqai för att automatisera vingspegelvikning eller något annat: 9 steg (med bilder)
Bygg en Arduino i en Nissan Qashqai för att automatisera vingspegelvikning eller något annat: 9 steg (med bilder)

Video: Bygg en Arduino i en Nissan Qashqai för att automatisera vingspegelvikning eller något annat: 9 steg (med bilder)

Video: Bygg en Arduino i en Nissan Qashqai för att automatisera vingspegelvikning eller något annat: 9 steg (med bilder)
Video: Magnet attack on mechanical water meter 2024, Juli
Anonim
Bygg en Arduino i en Nissan Qashqai för att automatisera vingspegelvikning eller något annat
Bygg en Arduino i en Nissan Qashqai för att automatisera vingspegelvikning eller något annat
Bygg en Arduino i en Nissan Qashqai för att automatisera vingspegelvikning eller något annat
Bygg en Arduino i en Nissan Qashqai för att automatisera vingspegelvikning eller något annat

Nissan Qashqai J10 har några små irriterande saker om kontrollerna som lätt kan bli bättre. En av dem måste komma ihåg att trycka på speglarnas öppna/stänga omkopplare innan du tar ut nyckeln ur tändningen. En annan är den lilla konfigurerbarheten hos BCM (kroppskontrollmodul) och Nissan Connect -huvudenheten. Det finns några andra saker, men viktigast av allt spelar det inte Imperial March när du startar motorn, som mina fyrhjulingar gör! Något måste göras.

Den förra har enligt uppgift lösts i nyare J11 -modeller (2015+?) Men jag tror att för 2014 J11 Qashqai måste du fortfarande köpa ett kit. Det finns separata kit för J11- och J10 -modellerna (2008 - 2013 eller så) som Nissans officiella kit (vet inte priset), £ 70 AcesDVD -kit från vissa människor på qashqaiforums.co.uk och några nyare alternativ. En har till och med dykt upp på aliexpress för bara 17 € men är inte längre tillgänglig. Dessa kit tenderar att ansluta till bara 8 ledningar i bilen som du behöver hitta och de fäller automatiskt in speglarna när du låser bilen och fälls ut när du låser upp den, så det är verkligen användbart men ger dig fortfarande inte mycket flexibilitet.

Så att ha cirka $ 1 Arduino -kloner och några lådor med MOSFET, transitorer, en högtalare och andra komponenter på den lokala hackerspace och vet lite om analog elektronik, jag bestämde mig för att replikera vad dessa kit gör men med flexibiliteten för att ändra logiken genom omprogrammering Arduino -kortet över USB när som helst. Vad kan vara komplicerat med att ansluta en Arduino och några MOSFET, eller hur? Det visar sig att det finns många särdrag när man kör en motor med MOSFETs eller transitorer vilket innebar att man omdesignar anslutningarna några gånger och lägger till en $ 1,50 H-Bridge från aliexpress och ett gäng motstånd, men det fungerar och jag har lärt mig några saker. Så här kan du göra samma sak om du föredrar det framför att köpa ett färdigt kit för någonstans mellan € 17 och € 90. Det tar förmodligen en dag att räkna ut allt, lödda det som behöver lödas, programmera och göra ledningarna.

När du har löst arduinoen med problem med strömförsörjning, som inte gör någonting 99% av tiden och vet hur du kommer åt kablarna i bilen, kan du lägga till många andra mekanismer genom att ansluta andra signalkablar till kortet. Hittills fick jag min att spela Star Wars imperial March när jag startade bilen, antingen med den lilla högtalaren, eller faktiskt med DC -motorerna i de drivna speglarna, som drivs med Arduinos PWM -signaler är lika bra som drone -motorer för att spela ljud. Arduino fäller/viker ut speglarna med en fördröjning på 1 sekund vid billåshändelser (för att fördela lasten) och låter dig också manuellt fälla/fälla ut speglar i 15 sekunder efter att du har kopplat bort nyckeln eftersom arduino stänger av sig själv efter 15 sekunder av inaktivitet (alla konfigurerbara). Den styr nu också strömmen till fönstren, så jag kan stänga dem i 15 sekunder efter att jag tagit ut nyckeln.

Observera att om det inte är för skojs skull är det inte värt att göra allt detta, ärligt talat köper du satsen och sparar tid.

Steg 1: Översikt

Översikt
Översikt

Så min Qashqai är 2013 års J10-modell, vänsterstyrd (för högertrafik), icke-intelligent nyckel och icke-Superlock-version, men detta bör gälla alla J10-modeller utrustade med drivna vingspeglar, kanske J11 och eventuellt andra modeller. Kablarna är något olika i varje version av J10, allt som allt har du 8 kombinationer (LHD/RHD, iKey/no iKey, Superlock/no Superlock) med skillnaderna dokumenterade i servicehandböckerna som jag länkar, J11 är också väl dokumenterat.

Vad du behöver:

  • en dator med Arduino IDE installerat,
  • två Arduino 5V -brädor eller kloner därav. Jag använder aliexpress 5V 16MHz Pro Mini -kloner som dessa. Den ena är den för bilen och du behöver en andra, eller en verklig ISP -programmerare, för att omprogrammera startladdaren på den första. Du kan också använda vilken annan utvecklingsbräda som helst men de måste vara av den dumma typen (som en Arduino, inte en enda kortdator) för att se till att de startar upp snabbt. Du kan dock lägga till en SBC tillsammans med Arduino.
  • en H-Bridge som det populära L298n-chipet om du inte vill bygga ditt eget med 6 till 8 MOSFETs eller transistorer och några andra komponenter. Jag använder dessa 2-kanals aliexpress L289n breakout boards med allt som ingår.
  • fyra dioder av vilken typ som helst som stöder upp till ca 15V (nästan vilken genomgående hålsdiod) som helst.
  • en uppsättning motstånd på 100kΩ, 47kΩ, 4.7kΩ eller så, jag använder genomgående hålmotstånd som finns på mitt lokala hackerspace.
  • en P-kanal Power MOSFET som kan hålla 1A eller 2A (alternativt en PNP-transistor) använder jag IRF9540n. Om du också vill att den ska driva fönstren genom att sikta på minst 5A.
  • en liten N-kanal MOSFET (alternativt en NPN-transistor), jag använder 2n7000 men en större som IRF540 eller RFP50N06 fungerar också.
  • valfritt en högtalare och ett 100Ω motstånd.
  • kablar, några av cirka 18 AWG för bilens ledningar (jag använder 18 eller mindre AWG -kiselkablar från aliexpress) och lite tunn tråd för att ansluta komponenterna tillsammans, eventuellt ett löd eller lödfritt brödbräda för att montera allt på och stifthuvuden.
  • bygelkablar, en multimeter, tång, lödkolv och en platt skruvmejsel för att ta bort bilskydden.

Steg 2: Programmera Bootloader

Programmera Bootloader
Programmera Bootloader
Programmera Bootloader
Programmera Bootloader

Brädan nummer ett kommer att gå i bilen. Kort två kommer bara att behövas för att blinka startladdaren på Arduino nummer ett, en gång. Detta beror på att AVR-baserade Arduinos tenderar att levereras med den äldre bootloader som har en inbyggd fördröjning på 500 ms eller 1 sekund innan du startar dina program, för att ge programmerare tid att signalera det. Den nya standardstartladdaren är optiboot, som har en mekanism som låter den köra program direkt vid start.

I bilen kommer Arduino att drivas av en av följande tre signaler: ACC slå på, låsa eller låsa upp. De två sistnämnda signalerna är korta 12V -pulser som bara väcker oss ett ögonblick, därifrån måste Arduino använda en av sina digitala stift för att signalera att den vill fortsätta ta emot ström. Vi måste spola om målet Arduino med optiboot så att den kan göra detta tillräckligt snabbt innan pulsarna tar slut och vi tappar ström. (Du kan kringgå det genom att lägga till en stor kondensator men meh)

Anslut kort två till datorn - om det inte har en USB -port, som Pro Mini -klonerna jag använder, löd 5 stift på hanen på GND, VCC, RXD, TXD, DTS -sidan av kortet och anslut via en USB -till-seriell adapter. Öppna sedan Arduino IDE, från Arkiv/Exempel ladda Arduino ISP och avmarkera den här raden:

#define USE_OLD_STYLE_WIRING

(om du Arduino IDE är tillräckligt ny för att ha detta, annars behöver du inte kommentera något). I Verktyg/Board -menyn måste du välja en av Arduino Pro eller Pro Mini, Arduino/Genuino Duemilanove eller Arduino/Genuino Uno beroende på överföringshastigheten som är konfigurerad i startladdaren som levererades på dina kort. Prova dem tills du kan ladda upp skissen till tavlan. Koppla bort kortet.

Lödstift, hane eller hona, beroende på vilka bygelkablar du har tillgängliga, på de digitala stiften 10, 11, 12, 13 på båda korten (du kan använda manliga bygelkablar utan några rubriker, men meh …) och RST, VCC och GND ombord på ett. Egentligen på det brädet behöver du förmodligen rubriker alla stift på den sidan av brädet, så du kan lika gärna lödda dem direkt. Anslut sedan stiften 11, 12 och 13, VCC och GND på båda brädorna tillsammans och stift 10 på bräda två till RST på bräda ett. Du kanske vill använda de alternativa VCC- och GND-stiften ombord på två så att du också kan hålla USB-till-seriell adapter ansluten.

Anslut slutligen kort två till datorn, ladda ner den senaste optiboot -versionen optiboot.zip från https://github.com/Optiboot/optiboot/releases och följ Installera med Arduino IDE -instruktionerna på wikin. Alternativt, om du kör Linux och har avrdude installerat, packa upp optiboot.zip och kör följande kommandon:

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

Det första kommandot ställer in AVR -säkringarna för att påskynda skissstart ännu mer på bekostnad av klockstabiliteten. Justera /dev /ttyUSB0-banan enligt vad din USB-till-seriella adapter visas som.

Steg 3: Programmera Arduino Sketch

Programmera Arduino Sketch
Programmera Arduino Sketch

Nu kan du ansluta Arduino -kortet 1 direkt till datorn, öppna denna skiss i Arduino IDE och sammanställa och ladda upp skissen till tavlan. Om du använder 16MHz Pro Mini som jag gör, med den binära optiboot -versionen, måste du först välja Arduino/Genuino Uno från Tools/Boards.

Du kan senare komma tillbaka och ändra någon av stiftmappningarna och alternativen i koden. Om du senare gör några korrigeringar eller förbättringar av koden, kom ihåg att lämna tillbaka dem i en github pull -begäran en tid.

Steg 4: Bygg ditt elektroniska kort

Bygg din elektroniska styrelse
Bygg din elektroniska styrelse
Bygg din elektroniska styrelse
Bygg din elektroniska styrelse
Bygg din elektroniska styrelse
Bygg din elektroniska styrelse

Slutligen måste du ansluta alla komponenter tillsammans och det finns många sätt att göra det. Du måste sluta med schemat som visas på bilden (eller här). Det enklaste sättet verkar vara att göra alla anslutningar på ett brödbräda och ha stifthuvudrad för att ansluta Arduino-kortet, ytterligare två stifthuvuden för högtalaren positiva och negativa, 2, 3 eller 4-stifts rubriker för att ansluta till H-bron brytning beroende på dess typ och tjockare kablar för att så småningom göra 12V-anslutningarna till biltrådarna och PWR- och GND-kablarna till H-bron. Mitt bräde kom ut ganska hemskt men det fungerar, du kan se det på bilderna ovan.

Några anteckningar om schemat:

  • För enkelhetens skull bestämde jag mig för att sätta alla genomgående hålskomponenter och stifthuvudena och på ena sidan av brödbrädans kretskort, och de faktiska anslutningarna mellan dem, med ledningar eller lödkulor, på den andra.
  • Kortets layout, om du ens vill använda ett kretskort, behöver inte likna schematisk layout.
  • Mitt kort har ledningar för GND, ACC, SWITCH-, MIRROR+ och MIRROR- på cirka 8 cm, de kommer alla att ansluta till M7-kontakten i bilen som ligger precis under instrumentbrädan. Mina BAT+, LOCK+ och LOCK- trådar är längre eftersom de ansluter någon annanstans.
  • Motstånden R1 till R8 bildar spänningsdelarna för 12V ingångssignaler som ska läsas av Arduinos digitala stift. Förhållandet mellan motstånden 47k och 100k är cirka 2: 1, vilket för en 5V Arduino (med cirka 3V till 5,5V ingångstolerans för hög nivå) innebär att spänningarna från bilen kan variera från cirka 9,5V till cirka 17V. Det borde räcka för att allt ska fungera även med ett kraftigt urladdat batteri i bilen upp till fullt och till och med upp till 4-cellars litiumpolymerbatteri som de som används i drönare (ibland även för att starta bilar med urladdat batteri om det är allt du har). Du kan använda olika motståndsvärden men de måste också vara nära eller högre än Arduinos inbyggda uppdragningsmotstånd på de digitala stiften, eftersom vi skissen använder pull-up för att detektera HÖG, LÅG och flytande tillstånd på stift. Det är också anledningen till att en typisk I2C -nivåväxel inte kan användas för nivåöversättningen. I2C-nivåskiftet innehåller permanenta uppdragningsmotstånd och skulle komplicera saker mycket. Våra spänningsdelare fungerar som neddragningar.
  • De två mosfeterna gör att Arduino kan stängas av helt när den bestämmer att den inte längre behöver göra någonting för att vara helt säker på att bilbatteriet inte dräneras om du lämnar bilen under en längre tid. P-kanal MOSFET måste bära all ström till H-bron, spegelmotorerna och andra potentiella motorer så den måste tåla minst 1A och mycket mer om du också kommer att driva fönstren genom den.
  • Jag har använt ett ytterligare 4,7K-motstånd vid N-kanalens mosfet-port för att skydda det, saker fungerar fortfarande utan det motståndet men jag brände några 2n7000-mosfeter under testet och ville ha alla möjliga problem täckta.
  • Om du använder en PNP-transistor (t.ex. TIP135) i stället för P-kanalens MOSFET kan du hoppa över R10-motståndet eftersom grinden kommer att ha mindre kapacitans.
  • Om du också använder en NPN-transistor (som 2N2222A) i stället för N-kanal MOSFET kan du också hoppa över R9-motståndet.
  • Om du tycker att det är en bra idé att bygga din egen H-Bridge, ta en titt på den här sidan, den listar ett antal H-Bridge-mönster och några fallgropar att vara medveten om.
  • R2 och R6 kan möjligen också bli av om du gjorde Arduino -skissen smart nog att upptäcka upplåsningssignalen från bara han låstråd.
  • Strömavkänningssignalen H-Bridge (SenseA) är valfri och min nuvarande skiss använder inte ens den. Aliexpress L298n -utbrottet kommer utan de nuvarande avkänningsmotstånden som visas i referensschemat i dess datablad, men de kan enkelt läggas till (kräver skärning av ett spår).
  • Om du ändrar Arduinos stiftmappning är de enda övervägandena: LOCK+ är ansluten till en analog kapabel för att möjliggöra avkänning av både lås- och upplåsningssignaler från den stiftet i framtiden. De nuvarande avkänningssignalerna är också en stift med analog kapacitet. H-Bridge: s ENA-signal och högtalaren är båda anslutna till PWM-kompatibla stift för att möjliggöra generering av PWM på dem men igen som inte används för närvarande.
  • Om du använder en piezohögtalare borde du inte behöva motstånd vid högtalarens positiva stift. För andra typer av högtalare behöver du förmodligen ett 100Ω motstånd mellan Arduinos stift 10 och högtalaren, vilket inte finns i schemat.

Steg 5: Hitta låssignalerna i bilen

Hitta låssignalerna i bilen
Hitta låssignalerna i bilen
Hitta låssignalerna i bilen
Hitta låssignalerna i bilen
Hitta låssignalerna i bilen
Hitta låssignalerna i bilen

Den här är lite knepig och där jag har sett några av de personer som köpte de färdiga satserna misslyckas under installationen, enligt köparens kommentarer. Servicehandböckerna är till hjälp för att hitta rätt ledningar men bara i viss utsträckning eftersom dessa manualer är gjorda för diagnostik (om detta gör det..) snarare än dokumentation. Jag kopierade några sidor från en av versionerna av manualerna som du kan googla, och jag lade till några anteckningar över dem.

Ta en titt på diagrammet på sidan 72 (för LHD) eller 89 (för RHD) för kontaktnamnen på huvudkabeln. Jag placerade min arduino under instrumentbrädan, stäng spegelkontrollerna så jag ville ansluta till ledningar i Main Harness.

För de flesta signaler kan vi använda kablarna till M7 -kontakten som faktiskt ansluts direkt till spegelkontrollenheten. Men batteriets positiva och lås positiva (eller låsa negativa) och låsa negativa (eller låsa upp positiva) ledningar finns inte där. Det finns faktiskt mer än en upplåsningskabel (lås negativ) från Body Control Module eftersom dörrar kan låsas upp självständigt. Vi kan använda vilken som helst av upplåsningssignalerna för vårt ändamål. Dörrarna kan dock bara låsas samtidigt så det finns bara en låssignal (upplåsning negativ).

I den vänstra drivversionen leds den positiva signalen med enlås till bakdörrarna genom bilens högra hälft så vi kan inte använda M13-kontakten, vilket hade varit bekvämt, eftersom den bara har upplåsningssignalen. I högerstyrda bilar kan du använda ledningarna till M11-kontakten som har både de signaler vi behöver och är lättillgänglig. I LHD -versionen skar jag ihop kablarna som går till M19 -kontakten som har låsnings- och upplåsningskablarna till den främre förardörren (M19 ansluts till D2 i dörrkabeln på sidan 82). M19 är ganska otillgänglig men kablarna som går till den lämnar ett stort plaströr tillsammans med kablarna för M18, M77, M78, M13 och M14 så att de är lätta att hitta. M11-anslutningskablarna för högerstyrda versionen lämnar ett rör som är på samma plats men på höger sida.

För att komma dit måste du först ta bort vad manualen kallar "främre sparkplattan" som är plastdelen av golvet precis vid förardörren. (Jag tror att det är nummer 4 i diagrammet på sidan 14 i denna del av servicehandboken). Du kan tvinga upp den med en skruvmejsel som gör att dess plastflikar lossnar från golvet och du ska sedan se alla kablar och kontakter i den främre delen. Nästa är "dash side finisher", som är ett plastlock som börjar på golvet, till sidan av pedalerna (nummer 1). Den främre änden har en plastskruv som går igenom den (nummer 12 i diagrammet) med en plastmutter som måste tas bort och sedan kan det hela lossas genom att dra i händerna förhoppningsvis utan att plastflikarna går sönder. Alternativt kan du ta bort den "nedre instrumentpanelen", sidan 14 här.

De kontakter som du nu ser ansluta huvudselet till kroppsselen (M13, M14), motorrumsselen (M77, M78) och dörrselet (inte synligt, M18, M19).

Sidan 630 i denna del av servicehandboken visar layouten för M19-kontakten för "UTAN I-KEY & SUPERLOCK" -konfigurationen, du kan leta upp pinouts för varje konfiguration i indexet men färgkablarna ska vara mestadels desamma. I mitt fall står det (på sidan 630) stift 2 "GR" för grått och stift 3 "SB" för himmelblått. Sidan 626 visar hur de är anslutna hela vägen från BCM till "frontluckans låsmotor (förarsidan)", men i grunden är färgerna allt vi behöver veta. I mitt fall är grått låst upp och himmelblått är lås.

Så när du hittar cirka 6 buntar kablar som går ut från det breda korrugerade röret precis till sidan av bränslelocket, kommer 4 grupper av kablar att gå till kontakterna längre ner, medan 2 kommer någonstans till vänster. Av dessa två märkte jag att en har tjockare kablar, det här är den som går till M19 -kontakten. Leta reda på en grå, en himmelblå och en rosa kabel. Rosa är batteriet positivt. I mitt fall finns det två himmelblå kablar med någon form av handgjorda prickmarkeringar och den vi behöver är den något tunnare av de två. Jag slutade med att göra små snitt med en skärare och kollade vilken som visade en kort positiv puls på multimetern när jag låste bilen. Sedan klippte jag alla tre kablarna med en tång, gjorde anslutningarna igen med skruvplintar och lade sedan till tre förlängningskablar (2x vit, 1x röd) på cirka 40 cm för att leda signalerna dit min Arduino skulle vara (nära spegelkontrollerna). Inget ska hända men du kanske först vill klippa av en kabel, låsa dess förlorade ändar i skruvplintarna, först sedan klippa nästa för att undvika att kortsluta något.

Obs! Du kan tillfälligt koppla bort det mesta för att få kablar ur vägen, men om du kopplar bort M77/M78 -kontakterna kommer hela instrumentbrädan att tappa batteriström och din klocka återställs och din Nissan Connect kommer att be dig om säkerhetskoden.

Obs: några av dessa kontakter har andra intressanta signaler, som till exempel M13 har kablar från dörröppnade sensorer så om du ville göra någon form av automatisering på Arduino som behöver veta om någon dörr öppnas kan du ta chansen att anslut också skarva respektive kablar för att koppla dem till Arduino.

Obs! För denna instruktion kan du också montera Arduino inuti dörren och du får tillgång till alla signaler på ett ställe.

Steg 6: Valfritt: Windows Power

Valfritt: Windows Power
Valfritt: Windows Power

Medan du är där kan du också förbereda en fjärde kabel som driver fönsterkontrollerna och motorerna från vår Arduino -styrda MOSFET istället för från BCM -kabeln som bara levererar 12V när nyckeln är i ON -läget. Det låter dig styra fönstren under de 15 sekunder som vi har programmerat Arduino för att hålla strömmen efter att du kopplat bort nyckeln. Du behöver dock en rejäl P-kanal MOSFET och kablar. Jag har ännu inte undersökt om min ledning inte stressar säkringarna eller BCM lite för mycket men jag har ännu inte sprungit några säkringar.

Så för att göra det måste du hitta de två "blå" (inte "himmelblå") kablarna som går till M19-kontakten. Den där vi ska injicera kraft är den tjockare av de två, stift nummer 8 vid M19. Båda är normalt kortslutna men så det finns inget sätt att ta reda på vilken som är vilken med bara en multimeter tills du skär en av dem. Klipp bara den lite tjockare. Nu behöver vi inte den övre halvan av den (den som normalt levererar ström från BCM via Main Harness), så linda bara in den änden i eltejp. Använd en skruvterminal för att förlänga den andra halvan (den som går till M19) på samma sätt som de tre andra förlängningskablarna vi har förberett.

Jag lindade sedan in det hela inklusive skruvplintremsan med massor av tejp, lindade också ihop mina fyra förlängningstrådar och ledde dem under instrumentbrädans lock. Med detta gjort kan du montera "sparkplatta" och "dash side finisher" tillbaka på sina platser.

Obs! Den här fjärde ledningen är valfri men du kan göra detta även om du planerar att hitta en tillräckligt stor MOSFET senare så att du inte behöver krångla med kabelstammarna igen. Under tiden kan du ansluta den fjärde kabeln direkt till ACC -strömmen i nästa steg.

Steg 7: Anslut Contraption till Mirror Control Wires

Anslut Contraption till Mirror Control Wires
Anslut Contraption till Mirror Control Wires
Anslut Contraption till Mirror Control Wires
Anslut Contraption till Mirror Control Wires
Anslut Contraption till Mirror Control Wires
Anslut Contraption till Mirror Control Wires

Nu när du har alla 8 kablar nära spegelkontrollerna kan du ta en annan skruvplint och ansluta allt. Du märker att spegelkontrollerna är monterade på en ungefär rektangulär platta som du kan tvinga ut med en platt skruvmejsel. På insidan kommer den att ha tre uttag, den största är där M7 -kontakten från Main Harness ansluts. Se ovanför pinout på M7 -kontakten med anteckningarna jag lade till. Du behöver i princip klippa av trådarna för stift 1 (GND, svart), 3 (ACC, röd), 8 (MIRROR+, orange) och 9 (MIRROR-, blå).

Det här är de anslutningar du måste göra:

  • LOCK+ (lås) och LÅS- (lås upp) och BAT+ (batteripositiva) förlängningskablar från M19 från föregående steg till vårt kretskort.
  • GND -kabeln du skär i två måste sammanfogas igen med en skruvterminal och skarvas för att även ansluta till vår krets.
  • MIRROR+ och MIRROR-signalerna skarvas inte. Halvorna som går till Main Harness måste anslutas till H-bron, medan hälften av MIRROR-signalen från M7-kontakten måste anslutas till SWITCH-signalen som går till Arduino genom spänningsdelaren. Den andra kabeln behövs inte, men lås den i skruvterminalen så att den inte går förlorad.
  • ACC -kabeln från selen ansluts till vårt kort medan PWR -utgången från vårt kort ansluts till där ACC var ansluten vid M7 -kontakten. Du kan använda två skruvplintar för att ansluta de två halvorna av den ursprungliga kabeln till ACC- och PWR -ledningarna från vår nya krets.

Anslut Arduino och högtalaren till resten av kretsen och applicera eltejp överallt, eller så kan du designa ett vackert 3D-tryckt fodral för att hålla ihop allt. Jag valde själv den elektriska tejpen överallt. Jag lämnade precis USB-till-Serial-adaptern ansluten till Arduino, testade att Arduino reagerar på alla rätta händelser genom att göra ljud med högtalaren, drev sedan röran genom öppningen för spegelkontrollpanelen, sätt tillbaka panelen i och lämnade bara USB -kontakten exponerad för ytterligare ändringar i skissen.

Steg 8: Testa

Om du har fått de flesta kablarna rätt, är det enda problemet kvar att räkna ut låsnings-/upplåsningssignalernas polaritet, spegelmotorns ledningar och polaritet. Med min skiss som det är bör du åtminstone höra Imperial March -melodin spela när du vrider nyckeln till ACC -läget, och speglarna ska antingen fälla in eller ut. Om de viker in istället för ut, byter du bara PIN_HBRIDGE_DIR1- och PIN_HBRIDGE_DIR2-pinnumren i skissen och laddar upp igen till tavlan. Om den manuella spegelbrytaren fungerar på fel sätt, kommentera sedan

#define MIRROR_SWITCH_INVERT

linje. Slutligen försök låsa och låsa upp bilen, om speglarna rör sig åt andra hållet, byt sedan PIN_LOCK1_IN och PIN_LOCK2_IN stiftnumren i skissen.

Steg 9: Vad annat kan göras

  • Stäng fönster och tak på billås och återställ eventuellt till sista position vid upplåsning. Detta borde också fungera med H-Bridges men jag är inte säker på att det kommer att finnas tillräckligt med IO: er på Arduino för alla ledningar. Du behöver strömavkänning för att kunna känna hur länge motorerna hade kört för att kunna återställa till samma position senare. Att helt enkelt stänga fönstren på lås är lättare eftersom du bara behöver en utgångsstift och en halv H-bro med ytterligare dioder eller MOSFET för att undvika kortslutning om någon hade manövrerat de manuella fönsterkontrollerna samtidigt. Att köra allt detta verkar enkelt för passagerar- och bakrutorna eftersom allt detta går via D8/B8 -kontakten, men förarfönstret är svårare.
  • Enligt forum kan det vara oönskat att försöka fälla speglarna på vintern om mekanismen är frusen. Arduino har en NTC -termistor och kan automatiskt bestämma att istället för att föraren måste röra spegelströmställaren två gånger om året.
  • Ta reda på om backväxelsignalen till Nissan Connect är en enda tråd eller en OBD2 -signal. Jag skulle älska att Nissan Connect skulle fortsätta visa bakre kameravyn i några sekunder efter att ha bytt till en framåtväxel, och även att visa bakre kameravy när bilen rullar bakåt utan att backväxeln är inkopplad. Min största irritation med detta system.
  • Lägg till en Raspberry Pi eller en annan SBC bredvid Arduino för att bearbeta OBD2 -signaler samt signaler från Arduino, göra loggning och ytterligare smarts.

Rekommenderad: