Overtake Alert System
0 kommentarer

Vi kan alla vara överens om att det är irriterande när du cyklar och plötsligt hittar en annan cyklist som försöker köra om dig utan att signalera och i vissa fall kanske du inte ens observerar honom och av misstag slår honom. Så det här projektet kan hjälpa till med detta problem genom att bygga ett omkörningsvarningssystem som kommer att använda en ultraljudssensor för att spåra inkommande cyklister som planerar att köra om dig från sidan, och det kommer att använda en vibrationsmotor som kommer att vibrera för att varna dig när detta oannonserat omkörning äger rum. Detta kan också vara användbart för människor som jag som gillar att använda öronsnäckor eller ett headset när de cyklar.

  • Komponenter som krävs
  • Guide
  • Hårdvara
  • Kabeldiagram
  • Det 3D-tryckta fodralet
  • Koda
  • Ställa in variablerna
  • Installationsfas
  • Huvudfunktion
  • Video av arbetsenheten
  • Komponenter krävs

    För att kunna genomföra detta projekt behöver du följande komponenter (Varje komponenter innehåller en länk där du kan köpa dem från vår hemsida):


    Arduino nano

    1

    Vibrationsmotor

    1

    HC SR04 Ultraljudssensor

    1

    Hona till hane dupont kablar

    7

    Mini USB-kabel

    1

    Lipo 18650 batterihållare och laddare

    1

    Lipo 18650 batteri

    1

    3D-tryckt fodral

    1

    Liten 170 anslutningspunkter Breadboard

    1



    Filerna för 3D Printed Case kommer att inkluderas i artikeln.

    Guide

    Förutsättningar


    Du måste installera Arduino IDE från denna länk , du använder den för att programmera din Arduino Nano.


    Du kan installera denna version:

    När du har installerat och öppnat programvaran måste du ställa in den för Arduino Board som vi ska använda i det här projektet.

    I Arduino IDE måste du gå till fliken Verktyg:

    Och ändra brädan till Arduino Nano så här:

    Och efter att du har anslutit ditt kort till din dator kommer det automatiskt att hitta och välja kommunikationsporten som det använder.


    Hårdvara


    Kabeldiagram

    För att driva mikrokontrollkortet kan du använda en 18650 batterihållare/laddare från vår hemsida, observera att du måste tillhandahålla ditt eget 18650 batteri.

    Du måste löda två stift på batterihållaren som på bilden nedan:

    Det 3D-tryckta fodralet


    Det 3D-utskrivna fodralet

    Det 3D-printade locket


    Du kan få nätfilerna så att du skriver ut fallet på denna länk .


    För det har du möjlighet att fästa locket på lådan med 4 M4*0,7 skruvar som är minst 6 mm och upp till 10 i längd, eller så kan du använda tejp för enklare demontering. Och för att fästa på cykelstolen skulle jag rekommendera antingen ducktejp eller en mycket stark dubbelhäftande tejp.



    Koda


    För det här projektet måste du ställa in sensorn från koden, och för att göra det enklare för dig kommer jag att dela upp koden åt dig, och jag kommer också att inkludera hela koden i slutet av denna uppdelning.


    Ställa in variablerna


    Variabler lagrar information som siffror eller ord, i vårt fall använder vi dem för att enkelt flytta information runt koden och vi kan också använda dem för att ge namn till stiften från Arduino, detta kommer att göra det mycket lättare att använda dem i koden två användningsområden.

    Det spelar ingen roll var du initierar dem, vilket ger dem ett startvärde, vilket rekommenderas varje gång du vill använda dem i koden för att jämföra med andra värden, till exempel.

    När du skapar en variabel måste du ange vilken typ av variabel du vill ha, beroende på programmeringsspråk kan dessa typer vara olika, men i vårt fall betyder "int" heltal och definierar att variabeln är ett heltal.

    Const betyder konstant vilket betyder att vi inte vill att värdet från den variabeln ska ändras.


    Därefter måste vi definiera "Speed ​​of Sound" och skapa två variabler utan att ge initiala värden.

    Vi ska använda dem för ultraljudssensorn, för att kunna beräkna avståndet.

    Ultraljudssensorn använder något som liknar ekolokalisering , men i vårt fall kan vi använda den tid som det tog vågen att träffa objektet och komma tillbaka.


    Installationsfas


    Som standard när du skapar ett nytt projekt i Arduino IDE får du 2 funktioner, setup och loop.


    För inställningsfunktionen måste vi starta seriekommunikationen så att vi kan få avståndet utskrivet i terminalen. Detta använder vi för att testa sensorn när vi har enheten kopplad till datorn som vi programmerar den från. Efteråt ställer vi in ​​de relevanta ultraljudssensorstiften som en ingång eller en utgång.

    Huvudfunktion


    För vår huvudfunktion använder vi den förgenererade loop-funktionen, som loopar koden som är inkapslad av loop-funktionen.

    I slingfunktionen hämtar vi avläsningarna från vår sensor och utför beräkningar så att vi kan se till att vi hela tiden kontrollerar om någon vill göra en omkörning.


    Det första vi vill göra är att ta avläsningar från ultraljudssensorn genom att be den skicka en puls och tala om för oss när den kommer tillbaka med hjälp av den här delen av koden:

    Vi måste använda en ekvation för att bestämma "avståndet", i den ekvationen tar vi den tid som det tog vågen att resa avståndet till objektet och komma tillbaka. Vi tar "avståndet" och multiplicerar det med "ljudets hastighet", som vi vet är 343 m/s. Vi ska använda 0,034 eftersom vi vill få avståndet i cm inte i meter, slutligen måste vi dividera med 2 för att bara få "avståndet" från sensorn till objektet.


    Avstånd = (längd * ljudhastighet)/ 2


    I koden måste vi skriva det så här:


    För att skriva ut detta i terminalen använder vi denna kod:


    Nu har vi den del där vi bestämmer om någon vill köra om oss eller inte:

    Här tar vi avläsningar och om något inom 2 meter ändrar sitt avstånd jämfört med sensorn väldigt snabbt, så tar vi det som en annan cyklist som vill köra om oss, du kan justera tillståndet från om för att kalibrera sensorn för dina behov .


    När det händer kommer vi att trigga vår vibrationsmotor. Denna motor använder analoga värden för att bestämma dess styrka, genom att skriva ett analogt värde ( PWM ) på 255 till vibrationsmotorn.

    I mitt fall ville jag ha det maximala värdet så att jag kunde använda det för att testa, men du kan ändra det som du vill.

    Detta är hela koden:

     const int trigPin = 9 ;
     const int echoPin = 8 ;
     const int pwmPin = 5 ;
     int x= 0 ;
     int y= 0 ; 
    # define Speed_of_Sound 0,034
     lång varaktighet;
     flytavstånd ;
    
     ogiltig installation ()
     {
     Seriell . börja ( 115200 );
     pinMode (trigPin, OUTPUT );
     pinMode (echoPin, INPUT );
     pinMode (pwmPin, OUTPUT );
     }
    
     void loop ()
     { 
    digitalWrite (trigPin, LOW );
     delayMikrosekunder ( 2 );
     digitalWrite (trigPin, HIGH );
     delayMikrosekunder ( 10 );
     digitalWrite (trigPin, LOW );
    
     duration = pulseIn (echoPin, HIGH );
    
     distans = varaktighet * Speed_of_Sound/ 2 ;
    
     Seriell . print ( "Avståndet är: " ); 
    Seriell . println (avstånd);
    
     x=avstånd;
     if (yx>= 90 &&x< 200 )
     {
     Seriell . print ( "Någon kommer" );
     digitalWrite (pwmPin, HIGH );
     fördröjning ( 1000 );
     digitalWrite (pwmPin, LOW );
     }
     annat
     om (x< 200 )
     y=x;
       
    fördröjning ( 1000 );
     }

    Du kan komma åt hela koden på denna länk .



    Efter att du skrivit eller kopierat klistra in koden i Arduino IDE kan du ladda upp den till Microcontroller Board genom att trycka på uppladdningsknappen som ser ut så här:

    Video av arbetsenheten

    Skriv en kommentar!

    Relevanta produkter

    TS101 digital loddekolbeTS101 digital loddekolbe i hånd
    TS101 digital lödkolv med USB C-försörjning
    Erbjudande prisFrån 1 114 kr
    14 i lager
    TS80P USB-C Loddekolbe kitTS80P Loddekolbe
    TS80P USB-C mini Lödpenna sats
    Erbjudande prisFrån 1 273 kr
    2 i lager
    bruge Loddekolbe Renser til at rengøre loddekolbespidsenLoddekolbe Renser
    Lyxigt rengöringsmedel för lödkolv
    Erbjudande pris142 kr
    8 i lager