2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
Ukážu vám, jak postavit rychloměr na kole. Ukazuje vaši rychlost, průměrnou rychlost, teplotu, čas cesty a celkovou vzdálenost. Můžete to změnit pomocí tlačítka. Rychlost je navíc zobrazena na tachometru. Postavil jsem to, protože rád stavím nové věci, nic takového jsem na internetu nenašel, takže vám chci ukázat, jak postavit dobrý rychloměr, protože ten na mém kole není tak cool, jak bych chtěl:). Začněme tedy.
Krok 1: Díly:
Toto je seznam dílů, které budete potřebovat. Stály mě asi 40 $:
- Arduino
- Kolo s jazýčkovým spínačem
- LCD displej 16x2
- Servo
- Prkénko
- Teploměr DS18B20
- Rezistor 1,2k Ω, 4,7k Ω
- Přepínač
- Knoflík
- Potenciometr 10 kΩ
- 9V baterie
- Kabely
- Krabice
- Nástroje (vrtačka, pájení, nůž, páska)
Krok 2: Připojení
Přidal jsem obrázek z Fritzingu a slovní popis, jak to propojit. Na obrázku jsou všechny červené vodiče připojeny k 5V, všechny modré kabely jsou připojeny k GND.
LCD displej:
VSS GND Arduino
VDP 5V Arduino
Výstupní potenciometr VO (potenciometr VCC -> 5V Arduino, potenciometr GND -> Arduino GND).
RS pin 12 Arduino
RW GND Arduino
E pin 11 Arduino
D4 pin 5 Arduino
D5 pin 4 Arduino
D6 pin 3 Arduino
D7 pin 2 Arduino
5V Arduino
K GND Arduino
Servo:
VCC 5V Arduino
masový GND Arduino
Datový pin 6 Arduino
Teploměr:
VCC 5V Arduino
masový GND Arduino
Datový pin 1 Arduino
data a napájení jsou připojeny přes odpor 4,7 kΩ
Senzor na kole:
jeden konec -> 5V Arduino
druhý konec -> A0 Arduino a rezistor 1, 2 kΩ
Druhý konec odporu k zemi v Arduinu
Knoflík:
jeden konec 5V Arduino
druhý konec A1 Arduino
Krok 3: Nahrajte kód:
Níže jsem přidal kód do komentářů, tam je vysvětlení.
odkazy na knihovny ke stažení:
www.pjrc.com/teensy/arduino_libraries/OneWire.zip
github.com/milesburton/Arduino-Temperature-Control-Library
Pokud máte jiný průměr kola, musíte jej změnit. Můžete to vypočítat podle tohoto vzorce:
obvod = π*d*2, 54 (d = průměr vašeho kola, vynásobil jsem ho 2,54, abych získal výsledek v metrech).
/*
############################################################################ Copyright Nikodem Bartnik červen 2014 ################################################################### ###### */// knihovny #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS); Senzory teploty Dallas (& oneWire); // piny LCD displeje LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // název servo Servo myservo; // definice proměnných long previous, triptime, time, impulses; plovoucí rychloměr, vzdálenost, rychlost; int servo; int obrazovka = 1; // Pokud máte jiný obvod kola, musíte jej změnit float circuit = 2.0; dvojnásobná teplota; neplatné nastavení () {lcd.begin (16, 2);
pinMode (A0, INPUT); pinMode (A1, VSTUP); // definice serva a nastavení otáčkoměru na 0 myservo.attach (6); myservo.write (180); lcd.print („Cyklometr“); zpoždění (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); zpoždění (4000); lcd.clear (); zpoždění (500); lcd.setCursor (0, 0); lcd.print ("Dist:"); } void loop () {// pokud se kolo otáčí if (analogRead (A0)> = 300) {// počet otáček ++ impulzů ++; // počítat čas otočení time = (millis ()-předchozí); // spočítání rychloměru = (okruh /čas)*3600,0; předchozí = milis (); Tachometr(); zpoždění (100); } Lcd (); } // zobrazení rychlosti na tachometru neplatné tachometr () {// mapování rychlosti 0-180 na servo rychloměr = int (rychloměr); servo = mapa (rychloměr, 0, 72, 180, 0); // nastavení servo myservo.write (servo); } neplatné Lcd () {// po kliknutí na tlačítko if (analogRead (A1)> = 1010) {lcd.clear (); obrazovka ++; if (obrazovka == 5) {obrazovka = 1; }} if (obrazovka == 1) {// zobrazí rychlost lcd.setCursor (0, 1); lcd.print ("Rychlost:"); lcd.setCursor (7, 1); lcd.print (rychloměr); lcd.print ("km/h"); } if (obrazovka == 2) {// zobrazuje teplotu teploty = senzory.getTempCByIndex (0); sensor.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Teplota:"); lcd.setCursor (7, 1); lcd.print (teplota); lcd.print ("C"); } if (screen == 3) {// zobrazuje průměrnou rychlost aspeed = dist/(millis ()/1000.0)*3600.0; lcd.setCursor (0, 1); lcd.print ("A.speed:"); lcd.setCursor (8, 1); lcd.print (aspeed); lcd.print ("km/h"); } if (screen == 4) {// zobrazuje dobu vypnutí triptime = millis ()/60000; lcd.setCursor (0, 1); lcd.print ("Čas:"); lcd.setCursor (7, 1); lcd.print (triptime); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // výpočet vzdálenosti dist = impulsy*obvod/1000,00; // zobrazuje vzdálenost lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }
Krok 4: Balení
Jako kryt jsem použil plastovou krabičku, kterou jsem koupil za 1 dolar. Vyřezával jsem otvory nožem a vrtákem. Servo a LCD displej jsem lepil páskou, špičku jsem vyrobil kartonem a natřel barvou. Udělal jsem štít v Corel Draw X5 a vytiskl jsem ho, přidal jsem obrázek-p.webp
Krok 5: Spusťte to
Nyní je připraven. Vše, co musíte udělat, je zapnout a jet. Bavte se s rychloměrem. Pokud se vám tento projekt líbí, hlasujte pro mě.
Doporučuje:
Bike Cassette Clock: 7 kroků (s obrázky)
Bike Cassette Clock: Toto jsou hodiny vyrobené z náhradních dílů, kolem kterých jsem ležel. Z tohoto důvodu lze mnoho použitých dílů snadno nahradit čímkoli, co můžete mít doma. Například používání Arduina a serva k pohonu hodin je rozhodně přehnané
DIY Alarm Bike Lock (aktivovaný šok): 5 kroků (s obrázky)
DIY Alarm Bike Lock (Shock Activated): V tomto projektu vám ukážu, jak vytvořit jednoduchý šokem aktivovaný alarm na kole. Jak název napovídá, vytváří zvuk alarmu, když se vaše kolo pohybuje se svolením. Cestou se naučíme něco o piezoele
Arduino Cardboard Gun (RangeFinder & Tachometer): 8 kroků
Arduino Cardboard Gun (RangeFinder & Tachometer): Nebylo by úžasné, kdybyste mohli měřit vzdálenost a pohodlně sedět na gauči? Místo toho, abyste museli používat tradiční pásku? Dnes tedy vyrobím arduino zbraň, která dokáže bezkontaktně měřit vzdálenosti od 2 cm do 400 cm
Bike mobilní nabíječka 5v 3A: 6 kroků (s obrázky)
Bike Mobile Charger 5v 3A: původně jsem to neplánoval sdílet (protože mám pocit, že to není nová ani originální technologie), ale nějak to nyní sdílím (důvodem je, že neexistuje správný DIY projekt pro výrobu Bike Mobile Charger), takže pokud najdete moji práci spojenou s nějakým starým
NESblinky - Nintendo Controller Bike Flasher: 12 kroků (s obrázky)
NESblinky - Nintendo Controller Bike Flasher: Viděl jsem " Light Up Your Ride " soutěž, a přemýšlel jsem o tom, co by bylo možné znovu zamýšlet, aby se zvýšila viditelnost mého kola, a doufejme, že oslepí jednoho nebo dva motoristy v záchvatu retro vzteku. Narazil jsem na staré rozbité Nintendo