|
18650 Battery. |
x 1 | |
|
18650 Holder |
x 1 | |
|
ATTiny85 |
x 1 | |
|
0.96 |
x 1 | |
|
NEO-6M GPS Module |
x 1 | |
|
Pushbutton |
x 1 | |
|
3.7v to 5v Step Up Module. |
x 1 |
|
Soldering Iron Kit |
|
|
arduino IDEArduino
|
Handheld GPS
Within the swiftly advancing realm of portable technology and travel essentials, innovation often shines a light on more personalized and enhanced experiences. Introducing the "Handheld GPS", a sleek and reliable real-time location assistant. At its core is the remarkable ATTiny85 microcontroller, coupled seamlessly with the precise NEO6M GPS module. Its mission? Deliver real-time location and time at the simple push of a button – a true companion for wanderers and tech enthusiasts alike.
Disclaimer:
The "Handheld GPS" is crafted with tech hobbyists and DIY navigation buffs in mind. It's imperative to understand both its assets and limitations. Always adhere to safety protocols during both assembly and utilization to avert potential mishaps.
Potential Applications:
- Traveler's Companion: Trekking mountains, strolling in unfamiliar cities, or biking trails, the "Handheld GPS" becomes your guide.
- Swift Locator: In emergencies or unexpected situations, quickly determine and share your exact coordinates.
- Learning Device: An engaging way for educators and students to delve into GPS technology and the wonders of microcontrollers.
Building Guide - The Handheld GPS:
Gather the Necessary Tools and Materials:
- ATTiny85 microcontroller
- NEO6M GPS module
- 0.96" OLED Display (I2C compatible)
- Pushbutton
- 18650 Battery and holder
- Step-up module (to elevate 3.7V to 5V)
- PCB (for permanent assembly)
- Soldering iron, solder, flux
- Tweezers or small pliers
Assembly:
- Organize Your Workspace: Choose a clean, adequately lit workspace, ensuring it's devoid of unnecessary distractions.
- Position the ATTiny85: Begin by placing the ATTiny85 on your PCB, ensuring the pins are correctly oriented.
- Integrate the NEO6M GPS Module: Solder the NEO6M's TX to pin 1 of the ATTiny85.
- Attach the OLED Display: Carefully solder the OLED's I2C SDA and SCL pins to the designated pins on the ATTiny85.
- Set Up the Push Button: Solder one terminal of the button to pin 4 of the ATTiny85 and the other to the ground.
- Manage Power Efficiently: Affix the 18650 battery to its holder, then solder the holder to the step-up module's input. After verifying a 5V output, solder the VCC and GND to the ATTiny85 and other components.
- Programming the ATTiny85:
- To infuse life into the "Handheld GPS", upload the designated code to the ATTiny85. This code will process the GPS module's data, project it onto the OLED, and regulate the button interactions. Confirm your environment is aptly set up for programming the ATTiny85, be it through the Arduino IDE or another favored platform.
Conclusion:
The "Handheld GPS" embodies the harmonious fusion of DIY tenacity and modern technology, gifting users with an intimate, navigational marvel. As you commence this assembly journey, embrace the fusion of imagination, technical prowess, and precise components to create awe-inspiring devices.
#include <TinyGPS++.h>
#include <TinyWireM.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &TinyWireM);
TinyGPSPlus gps;
#define BUTTON_PIN 4
#define GPS_RX_PIN 1
bool showTime = false;
void setup() {
TinyWireM.begin();
display.begin(SSD1306_I2C_ADDRESS, SCREEN_RESET);
display.display();
delay(2000);
display.clearDisplay();
pinMode(GPS_RX_PIN, INPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), toggleDisplayMode, FALLING);
}
void toggleDisplayMode() {
showTime = !showTime;
}
void loop() {
while (Serial.available() > 0) {
if (gps.encode(Serial.read())) {
updateDisplay();
}
}
}
void updateDisplay() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
if (showTime) {
display.setCursor(0, 0);
display.print("TIME:");
if (gps.time.isValid()) {
display.setCursor(0, 15);
display.print(gps.time.hour());
display.print(":");
display.print(gps.time.minute());
display.print(":");
display.print(gps.time.second());
} else {
display.setCursor(0, 15);
display.print("No time data");
}
} else {
display.setCursor(0, 0);
display.print("LAT:");
display.setCursor(0, 15);
display.print(gps.location.lat(), 6);
display.setCursor(0, 30);
display.print("LON:");
display.setCursor(0, 45);
display.print(gps.location.lng(), 6);
}
display.display();
}
Handheld GPS
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Inaki Iturriaga
- GPS Mobile Beacon Building a GPS Emergency Beacon: A DIY TutorialWelcome to our latest DIY project: creating a GPS Eme...
- Wireless RFID Card Copier. Wireless RFID Card CopierIn today's digital world, security and accessibility are of paramount impor...
- Piezo Alert System. Within the fast-evolving sphere of security tools and home automation, creativity often paves the wa...
- Wifi Weather Station - Sensors board WiFi Weather Station - Sensor unitIn our digital era, many electronics projects integrate diverse se...
- RC Receiver Build Your Own RC ReceiverHarnessing advanced electronics and precise control systems, the RC Receiv...
- Universal RC Controller Build Your Own Universal RC RemoteHarnessing the power of custom PCBs and wireless communication, th...
- Continuous GPS Tracker This compact and efficient tracker provides real-time location updates, making it ideal for surveill...
- Air Quality Monitor Welcome to our DIY tutorial on assembling an Air Quality Monitoring Device. This project is perfect ...
- Automatic Watch Winder Automatic Watch WinderIn the realm of luxury timepieces and watch aficionados, an automatic watch is...
- Handheld GPS Within the swiftly advancing realm of portable technology and travel essentials, innovation often sh...
- Dual Motor Controller for Model Robotics In the thrilling world of robotics and DIY engineering, innovation continues to soar to new heights....
- Altitude Indicator with Beeper for Rocketry Altitude Indicator for Model RocketryIn our ever-advancing technological landscape, countless projec...
- Wifi Weather Station - Display unit WiFi Weather Station - Display UnitIn this technologically advanced age, countless electronics proje...
- Positon Breakout Board Position Sensors Breakout Board In today's era of advanced technology, many electronics projects req...
- Ambient Sensors Breakout Board In today's world, electronics projects often require the integration of multiple sensors to collect ...
- Infrared Launch Controller IntroductionHave you ever wanted to remotely launch a rocket, drone or other device using infrared t...
- Altimeter Datalogger with Display. Building TutorialAltimeter Datalogger with Display.Components needed:BMP280 sensorI2C to 16x2 displa...
- Remote Igniter + 3D printed Case. Remote IR Igniter.Build an Infrared remote ignitor for model rocket testing and launching!This guide...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
124 0 0 -
DIY Laser Power Meter with Arduino
173 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
163 0 2 -