Përmbajtje:
- Hapi 1: Skica e letrës
- Hapi 2: Lista e pajisjeve
- Hapi 3: Dizajni i qarkut
- Hapi 4: Lidhja e harduerit
- Hapi 5: Dizajni i softuerit
- Hapi 6: Rregulloni gabimet në Breadboard
- Hapi 7: Asambleja e harduerit
- Hapi 8: Dizajni i Strehimit Elektronik në Adobe Illustrator
- Hapi 9: Prototip kartoni
- Hapi 10: Prototipi i kompensatës së thuprës
- Hapi 11: Prototipi i Asamblesë Finale
![FinduCar: Një çelës i zgjuar i makinës që i udhëzon njerëzit atje ku është parkuar makina: 11 hapa (me fotografi) FinduCar: Një çelës i zgjuar i makinës që i udhëzon njerëzit atje ku është parkuar makina: 11 hapa (me fotografi)](https://i.howwhatproduce.com/images/001/image-719-62-j.webp)
Video: FinduCar: Një çelës i zgjuar i makinës që i udhëzon njerëzit atje ku është parkuar makina: 11 hapa (me fotografi)
![Video: FinduCar: Një çelës i zgjuar i makinës që i udhëzon njerëzit atje ku është parkuar makina: 11 hapa (me fotografi) Video: FinduCar: Një çelës i zgjuar i makinës që i udhëzon njerëzit atje ku është parkuar makina: 11 hapa (me fotografi)](https://i.ytimg.com/vi/z7LglSy4B3w/hqdefault.jpg)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:22
![FinduCar: Një çelës i zgjuar i makinës që udhëzon njerëzit atje ku makina është e parkuar FinduCar: Një çelës i zgjuar i makinës që udhëzon njerëzit atje ku makina është e parkuar](https://i.howwhatproduce.com/images/001/image-719-63-j.webp)
Me qëllim të zgjidhjes së problemeve të mësipërme, ky projekt propozon zhvillimin e një çelësi të zgjuar të makinës i cili mund t'i drejtojë njerëzit atje ku e kanë parkuar makinën. Dhe plani im është integrimi i një GPS në çelësin e makinës. Nuk ka nevojë të përdorni aplikacionin smartphone për të gjurmuar makinën, të gjitha udhëzimet do të shfaqen vetëm në çelësin e makinës.
Hapi 1: Skica e letrës
![Skicë letre Skicë letre](https://i.howwhatproduce.com/images/001/image-719-64-j.webp)
Kur njerëzit shtypin butonin për të kyçur makinën, informacioni i vendndodhjes mund të regjistrohet automatikisht në mikrokontrollues. Pastaj, kur njerëzit fillojnë të lundrojnë në makinë, LED i ndryshëm ndizet për t'u drejtuar në pozicionin e makinës dhe frekuenca e ndezjes tregon distancën nga makina. Ata lehtë mund të ndjekin dritën LED që pulson dhe të gjejnë shpejt makinën.
Hapi 2: Lista e pajisjeve
![Lista e pajisjeve Lista e pajisjeve](https://i.howwhatproduce.com/images/001/image-719-65-j.webp)
Këta janë përbërësit e përdorur në këtë projekt. Disa janë nga grupet e grimcave (dërrasa buke, buton, tituj), të tjerat blihen nga faqja zyrtare e Adafruit (Adafruit Feather M0, Adafruit Ultimate GPS module, Lpoly Battery and Coin Cell Battery) dhe Amazon (NeoPixel Ring - 12 RGB LED).
Hapi 3: Dizajni i qarkut
![Dizajni i Qarkut Dizajni i Qarkut](https://i.howwhatproduce.com/images/001/image-719-66-j.webp)
Neopixel_LED është i lidhur me PIN 6 të Pendës M0
Button_Unlock është i lidhur me PIN 12 të Pendës M0
Button_Lock është i lidhur me PIN 13 të Pendës M0
Hapi 4: Lidhja e harduerit
![Lidhja e harduerit Lidhja e harduerit](https://i.howwhatproduce.com/images/001/image-719-67-j.webp)
![Lidhja e harduerit Lidhja e harduerit](https://i.howwhatproduce.com/images/001/image-719-68-j.webp)
![Lidhja e harduerit Lidhja e harduerit](https://i.howwhatproduce.com/images/001/image-719-69-j.webp)
Ngjitini titujt me pendën Adafruit M0, Adafruit Ultimate GPS Featherwing. Vendosini të dy bordet së bashku. GPS FeatherWing futet direkt në bordin tuaj Feather M0 pa më shumë tela.
Hapi 5: Dizajni i softuerit
![Projektimi i Softuerit Projektimi i Softuerit](https://i.howwhatproduce.com/images/001/image-719-70-j.webp)
Komponentët e Testit
Lexoni një FIX
void setup () {
Serial.println ("GPS eko test"); Serial.filloj (9600); Serial1.fill (9600); // parazgjedhja e NMEA GPS baud}
lak void () {
if (Serial.disponueshëm ()) {char c = Serial.read (); Serial1.shkruani (c); } if (Serial1.disponueshëm ()) {char c = Serial1.read (); Serial.shkruani (c); }}
Unaza LED e ndezjes
Shihni Shembujt Adafruit NeoPixel.
Funksionet e llogaritjes GPS
Llogaritni Azimuthin
// Llogarit Azimutin
azimuth i dyfishtë (i dyfishtë lat_a, i dyfishtë lon_a, i dyfishtë lat_b, i dyfishtë lon_b) {
dyfish d = 0; lat_a = lat_a*PI/180; lon_a = lon_a*PI/180; lat_b = lat_b*PI/180; lon_b = lon_b*PI/180; d = sin (lat_a)*sin (lat_b)+cos (lat_a)*cos (lat_b)*cos (lon_b-lon_a); d = sqrt (1-d*d); d = cos (lat_b)*sin (lon_b-lon_a)/d; d = asin (d)*180/PI; kthimi d; }
Llogaritni kohën në orën LED, e cila është gjithashtu drejtimi i automjetit
// Llogaritni kohën në orën LED
int led_time (kënd i dyfishtë) {
int flamur = 0; nëse (këndi = 15) {koha_këndi = koha_këndi + 1; } if (flag == 1) {angle_time = 12 - angle_time; } koha_këndi i kthimit; }
Llogaritni distancën midis personit dhe automjetit të tij
// Llogarit Distancën
distancë e dyfishtë (dyshe lat_a, dyshe lon_a, dyshe lat_b, dyshe lon_b) {
dyshe EARTH_RADIUS = 6378137.0; radLat1 = (lat_a * PI / 180.0); radLat2 = (lat_b * PI / 180.0); dyfish a = radLat1 - radLat2; dyshe b = (lon_a - lon_b) * PI / 180.0; dyshe s = 2 * asin (sqrt (pow (sin (a / 2), 2) + cos (radLat1) * cos (radLat2) * pow (sin (b / 2), 2))); s = s * EARTH_RADIUS / 10000000; kthimi s; }
Funksionet e ekranit LED
Ndizni LED -të në një rreth që tregojnë se fillon të lundrojë
// Ndriçimi i unazës LED një nga një tregon se lundrimi fillon
ngjyra e pavlefshme Fshij (uint32_t c, uint8_t prit) {
për (uint16_t i = 0; i strip.setPixelColor (i, c); strip.show (); vonesë (prit);}}
Merrni frekuencën LED në bazë të distancës
// Merrni Frekuencën LED
frekuenca int (distancë e dyfishtë) {
int f = (int) distanca * 20; kthimi f; }
Mbyllni dritën LED të caktuar që tregon drejtimin e makinës
// Shfaq në LED
shirit.i qartë ();
shirit.shfaq (); vonesa (frekuenca (distanca_personi_ makinë)); // vonesë (500); strip.setPixelColor (koha_këndore, strip. Color (0, 0, 255)); shirit.shfaq (); vonesa (frekuenca (distanca_personi_ makinë)); // vonesë (500);
// Çaktivizoni LED
nëse (button_flag == 1 && distanca e makinës <5.0) {button_flag = 0; flamuri i udhëhequr = 1; shirit.i qartë (); shirit.shfaq (); }
Kryesore
#përfshi Adafruit_GPS.h #përfshi Adafruit_NeoPixel.h #përfshi HardwareSerial.h #përfshi Button.h #përfshi matematikën.h
#përcaktoni Neopixel_LED_PIN 6
#define Neopixel_LED_NUM 12 #define Button_Lock_PIN 13 #define Button_Unlock_PIN 12 #define GPSSerial Serial1
#përcaktoni GPSECHO false
Adafruit_GPS GPS (& GPSSerial); Rrip Adafruit_NeoPixel = Adafruit_NeoPixel (Neopixel_LED_NUM, Neopixel_LED_PIN, NEO_GRB + NEO_KHZ800); Butoni i butonit_bllokues (Butoni_Lock_PIN); Butoni i hapjes së butonit (Butoni_Unlock_PIN); int button_flag = 0; int led_flag = 1; kohëmatësi uint32_t = millis (); makinë e dyfishtë_lat, makinë_lon; makinë_person_distanca e dyfishtë; lëvizje_drejtim i dyfishtë; makinë e dyfishtë_azimuth; dykëndësh_këndi i makinës; int angle_time;
void setup () {
Serial.fillo (115200); // Serial1.filloj (9600); GPS.filloj (9600); // default NMEA GPS baud strip.begin (); // mos komentoni këtë linjë për të aktivizuar RMC (minimumi i rekomanduar) dhe GGA (rregulloni të dhënat) përfshirë lartësinë GPS.sendCommand (PMTK_SET_NMEA_OUTPUT_RMCGGA); // Vendosni normën e përditësimit GPS.sendCommand (PMTK_SET_NMEA_UPDATE_1HZ); // Shkalla e përditësimit 1 Hz // Kërkoni përditësime mbi statusin e antenës, komentoni për të heshtur // GPS.sendCommand (PGCMD_ANTENNA); vonesë (1000);}
lak void () {// if (Serial.disponueshëm ()) {
// char c = Serial.read (); // Serial1.shkruani (c); //} // nëse (Serial1.disponueshëm ()) {char c = GPS.read (); nëse (GPSECHO) nëse (c) Serial.print (c); // nëse një fjali merret, ne mund të kontrollojmë shumën e kontrollit, ta analizojmë atë … nëse (GPS.newNMEArecedived ()) {// një gjë e ndërlikuar këtu është nëse shtypim fjalinë NMEA, ose të dhënat // ne përfundojmë duke mos dëgjuar dhe kapja e fjalive të tjera! // prandaj jini shumë të kujdesshëm nëse përdorni OUTPUT_ALLDATA dhe përpiqeni të printoni të dhënat Serial.println (GPS.lastNMEA ()); // kjo gjithashtu vendos flamurin newNMEAreceived () në false nëse (! GPS.parse (GPS.lastNMEA ())) // kjo gjithashtu vendos flamurin newNMEAreceived () në kthim të rremë; // ne mund të dështojmë në analizimin e një fjalie, në të cilin rast thjesht duhet të presim për një tjetër} // nëse millis () ose kohëmatësi përfundon, thjesht do ta rivendosim nëse (timer> millis ()) timer = millis (); if (millis () - kohëmatësi> 2000) {timer = millis (); // rivendosni kohëmatësin Serial.print ("\ nOra:"); Serial.print (GPS.hour, DEC); Serial.print (':'); Serial.print (GPS.minute, DEC); Serial.print (':'); Serial.print (GPS.sekonda, DEC); Serial.print ('.'); Serial.println (GPS.milisekonda); Serial.print ("Data:"); Serial.print (GPS.day, DEC); Serial.print ('/'); Serial.print (GPS.month, DEC); Serial.print ("/20"); Serial.println (GPS.year, DEC); Serial.print ("Rregullo:"); Serial.print ((int) GPS.fix); Serial.print ("cilësia:"); Serial.println ((int) GPS.fixquality); if (GPS.fix) {Serial.print ("Vendndodhja:"); Serial.print (GPS.latitude, 4); Serial.print (GPS.lat); Serial.print (","); Serial.print (GPS.gjatësia, 4); Serial.println (GPS.lon); Serial.print ("Vendndodhja (në gradë, punon me Google Maps):"); Serial.print (GPS.latitudeDegrees, 4); Serial.print (","); Serial.println (GPS.gjatësia e gradave, 4); Serial.print ("Shpejtësia (nyjet):"); Serial.println (GPS.speed); Serial.print ("Këndi:"); Serial.println (GPS.angle); Serial.print ("Lartësia:"); Serial.println (GPS.altitude); Serial.print ("Satelitë:"); Serial.println ((int) GPS.satellites); // Ruani GPS -në e automjetit nëse (button_lock.read ()) {car_lat = GPS.latitudeDegrees; car_lon = GPS.longitudeDegrees; // për korrigjimin Serial.print ("carLatitude:"); Serial.println (car_lat); Serial.print ("carLongitude:"); Serial.println (makinë_lon); } // Filloni të gjeni makinën nëse (button_flag == 0) {button_flag = button_unlock.read (); } if (button_flag == 1 && led_flag == 1) {colorWipe (strip. Color (0, 255, 0), 500); flamuri i udhëhequr = 0; } if (button_flag == 1) {car_person_distance = distance (GPS.latitudeDegrees, GPS.longitudeDegrees, car_lat, car_lon); // Njehsoni distancën // distanca e_karbonit = distanca (100.0005, 100.0005, 100.0, 100.0); // për debug Serial.println (car_person_distance); move_direction = GPS.angle; // Regjistroni drejtimin e lëvizjes (këndi) // move_direction = 100.0; // Regjistroni Azimuthin (këndin) car_azimuth = azimuth (GPS.latitudeDegrees, GPS.longitudeDegrees, car_lat, car_lon); // makinë_azimuth = azimuth (100.0005, 100.0005, 100.0, 100.0); // Llogarit kohën në orën LED car_person_angle = car_azimuth - move_direction; koha_këndore = koha_ udhëheqëse (këndi_person_i makinës); // Shfaq në shiritin LED. I qartë (); shirit.shfaq (); // vonesa (frekuenca (distanca_personi_ makinë)); vonesë (500); strip.setPixelColor (koha_këndore, strip. Color (0, 0, 255)); shirit.shfaq (); // vonesa (frekuenca (distanca_personi_ makinë)); vonesë (500); // Çaktivizo LED nëse (button_flag == 1 && car_person_distance <5.0) {button_flag = 0; flamuri i udhëhequr = 1; shirit.i qartë (); shirit.shfaq (); }}} //}}}
Hapi 6: Rregulloni gabimet në Breadboard
![Debug në Breadboard Debug në Breadboard](https://i.howwhatproduce.com/images/001/image-719-71-j.webp)
![Debug në Breadboard Debug në Breadboard](https://i.howwhatproduce.com/images/001/image-719-72-j.webp)
![Debug në Breadboard Debug në Breadboard](https://i.howwhatproduce.com/images/001/image-719-73-j.webp)
Hapi 7: Asambleja e harduerit
![Asambleja e harduerit Asambleja e harduerit](https://i.howwhatproduce.com/images/001/image-719-74-j.webp)
![Asambleja e harduerit Asambleja e harduerit](https://i.howwhatproduce.com/images/001/image-719-75-j.webp)
![Asambleja e harduerit Asambleja e harduerit](https://i.howwhatproduce.com/images/001/image-719-76-j.webp)
Hapi 8: Dizajni i Strehimit Elektronik në Adobe Illustrator
![Dizajni i Strehimit Elektronik në Adobe Illustrator Dizajni i Strehimit Elektronik në Adobe Illustrator](https://i.howwhatproduce.com/images/001/image-719-77-j.webp)
Hapi 9: Prototip kartoni
![Prototip kartoni Prototip kartoni](https://i.howwhatproduce.com/images/001/image-719-78-j.webp)
![Prototip kartoni Prototip kartoni](https://i.howwhatproduce.com/images/001/image-719-79-j.webp)
Ky hap përdoret për të konfirmuar madhësinë e strehimit dhe çdo pjesë të modelit, duke u siguruar që madhësia e kutisë, pozicioni i butonit dhe pozicioni LED të përshtaten me përbërësit elektronikë të grumbulluar.
Hapi 10: Prototipi i kompensatës së thuprës
![Prototipi i kompensatës së thuprës Prototipi i kompensatës së thuprës](https://i.howwhatproduce.com/images/001/image-719-80-j.webp)
![Prototipi i kompensatës së thuprës Prototipi i kompensatës së thuprës](https://i.howwhatproduce.com/images/001/image-719-81-j.webp)
Ky ishte prototipi fillestar. Një vrimë katrore për t'u lidhur me një karikues u shtua në njërën prej pjesëve më në fund.
Hapi 11: Prototipi i Asamblesë Finale
Recommended:
Hyrja Biometrike e Makinave - Makina e Vërtetë pa Çelës: 4 Hapa
![Hyrja Biometrike e Makinave - Makina e Vërtetë pa Çelës: 4 Hapa Hyrja Biometrike e Makinave - Makina e Vërtetë pa Çelës: 4 Hapa](https://i.howwhatproduce.com/images/005/image-13130-j.webp)
Hyrja Biometrike e Makinës - Makinë e vërtetë pa çelës: Disa muaj më parë vajza ime më pyeti, pse makinat moderne nuk janë të pajisura me sistem hyrjeje bio -metrikë, kur edhe një celular e ka atë. Që atëherë ishte duke punuar në zbatimin e së njëjtës dhe më në fund arrita të instaloj dhe provoj diçka në T -në time
Ndërtimi i alarmit të makinës pa çelës: 3 hapa
![Ndërtimi i alarmit të makinës pa çelës: 3 hapa Ndërtimi i alarmit të makinës pa çelës: 3 hapa](https://i.howwhatproduce.com/images/006/image-17470-j.webp)
Ndërtimi i Alarmit të Makinave pa Çelës: Shumica e automjeteve moderne të nivelit të lartë vijnë me Alarm të makinave pa çelës ose PKE: siç thotë emri në makinën më të vogël nuk keni nevojë të përdorni asnjë çelës për të zhbllokuar/kyçur dyert dhe as të ndizni motorin e makinës. Për të zhbllokuar ose mbyllni dyert shoferi thjesht shtyp në sma
Nike LED Swoosh! Ky është një dekor i shkëlqyeshëm për një dhomë. Ky është një projekt që të gjithë mund ta përsërisin .: 5 hapa
![Nike LED Swoosh! Ky është një dekor i shkëlqyeshëm për një dhomë. Ky është një projekt që të gjithë mund ta përsërisin .: 5 hapa Nike LED Swoosh! Ky është një dekor i shkëlqyeshëm për një dhomë. Ky është një projekt që të gjithë mund ta përsërisin .: 5 hapa](https://i.howwhatproduce.com/images/010/image-28228-j.webp)
Nike LED Swoosh! Ky është një dekor i shkëlqyeshëm për një dhomë. Ky është një projekt që të gjithë mund ta përsërisin .: Mjetet -masë-kaçavidë-hekur saldimi-sharrë për përballim-stërvitje elektrike-letër zmerile Furnizon-Rrip LED (RGB) 5m-kontrollues LED-Furnizim me energji 12V 4A-lëndë drusore 50-50-1500 2x-lëndë druri 20-20-3000 2x-kompensatë 500-1000mm-vida (45mm) 150x-vida (35mm) 30x-scr
Një mënyrë vërtet e thjeshtë/e lehtë/jo e ndërlikuar për t'i bërë njerëzit/njerëzit/kafshët/robotët të duken sikur kanë vërtet vizion të nxehtë të ftohtë/të ndritshëm (ngjyra sipas zgjedhjes suaj) duke përdorur GIMP: 4 hapa
![Një mënyrë vërtet e thjeshtë/e lehtë/jo e ndërlikuar për t'i bërë njerëzit/njerëzit/kafshët/robotët të duken sikur kanë vërtet vizion të nxehtë të ftohtë/të ndritshëm (ngjyra sipas zgjedhjes suaj) duke përdorur GIMP: 4 hapa Një mënyrë vërtet e thjeshtë/e lehtë/jo e ndërlikuar për t'i bërë njerëzit/njerëzit/kafshët/robotët të duken sikur kanë vërtet vizion të nxehtë të ftohtë/të ndritshëm (ngjyra sipas zgjedhjes suaj) duke përdorur GIMP: 4 hapa](https://i.howwhatproduce.com/images/005/image-14508-25-j.webp)
Një mënyrë vërtet e thjeshtë/e lehtë/jo e komplikuar për t'i bërë njerëzit/njerëzit/kafshët/robotët të duken sikur kanë vërtet vizion të nxehtë të ftohtë/të ndritshëm (ngjyra sipas zgjedhjes suaj) Duke përdorur GIMP: Lexoni … titullin
Hack një zile derë pa tel në një çelës alarmi pa tel ose çelës aktivizues/fikës: 4 hapa
![Hack një zile derë pa tel në një çelës alarmi pa tel ose çelës aktivizues/fikës: 4 hapa Hack një zile derë pa tel në një çelës alarmi pa tel ose çelës aktivizues/fikës: 4 hapa](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11133018-hack-a-wireless-doorbell-into-a-wireless-alarm-switch-or-onoff-switch-4-steps-j.webp)
Hack një zile derë pa tel në një çelës alarmi pa tel ose çelës aktivizues/fikës: Kohët e fundit kam ndërtuar një sistem alarmi dhe e kam instaluar në shtëpinë time. Kam përdorur çelsat magnetikë në dyert dhe i kam lidhur ato me papafingo. Dritaret ishin një histori tjetër dhe instalimi i fortë i tyre nuk ishte një opsion. Kisha nevojë për një zgjidhje pa tel dhe kjo është