Taula de continguts:

Tacòmetre de bricolatge: 5 passos (amb imatges)
Tacòmetre de bricolatge: 5 passos (amb imatges)

Vídeo: Tacòmetre de bricolatge: 5 passos (amb imatges)

Vídeo: Tacòmetre de bricolatge: 5 passos (amb imatges)
Vídeo: 10 идеи панно своими руками. Настенный декор своими руками 2024, Desembre
Anonim
Image
Image
Tacòmetre de bici de bricolatge
Tacòmetre de bici de bricolatge

Us mostraré com construir un velocímetre de bicicleta. Mostra la vostra velocitat, la velocitat mitjana, la temperatura, el temps de viatge i la distància total. Podeu canviar-lo amb el botó. A més, la velocitat es mostra en un tacòmetre. El vaig construir perquè m'agrada construir coses noves, no he trobat res semblant a Internet, així que vull mostrar-vos com construir un bon velocímetre, ja que el de la meva bicicleta no és tan fresc com vull:). Comencem doncs.

Pas 1: parts:

Parts
Parts

Aquesta és una llista de les peces que necessiteu. Em van costar uns 40 dòlars:

  • Arduino
  • Bicicleta amb interruptor de canya
  • Pantalla LCD 16x2
  • Servo
  • Taula de pa
  • Termòmetre DS18B20
  • Resistència 1,2 k Ω, 4,7 k Ω
  • Interruptor
  • Botó
  • Potenciòmetre 10 kΩ
  • Bateria de 9V
  • Cables
  • Caixa
  • Eines (trepant, soldadura, ganivet, cinta adhesiva)

Pas 2: connexió

Connexió
Connexió
Connexió
Connexió
Connexió
Connexió
Connexió
Connexió

Vaig afegir una imatge de Fritzing i una descripció verbal de com connectar-la. A la imatge, tots els cables vermells estan connectats a 5V, tots els cables blaus estan connectats a GND.

Pantalla LCD:

VSS GND Arduino

VDP 5V Arduino

Potenciòmetre de sortida VO (potenciòmetre VCC -> 5V Arduino, potenciòmetre GND -> Arduino GND).

Pin RS 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

Un Arduino de 5V

K GND Arduino

Servo:

VCC 5V Arduino

massa GND Arduino

Pin de dades 6 Arduino

Termòmetre:

VCC 5V Arduino

massa GND Arduino

Pin de dades 1 Arduino

les dades i l'alimentació es connecten mitjançant un resistor de 4,7 kΩ

Sensor a la roda:

un extrem -> 5V Arduino

segon extrem -> A0 Arduino i resistència 1, 2 kΩ

L'altre extrem de la resistència a terra a l'Arduino

Botó:

un extrem 5V Arduino

segon final A1 Arduino

Pas 3: pengeu el codi:

A continuació he afegit el codi als comentaris hi ha una explicació.

enllaços a les biblioteques de descàrregues:

www.pjrc.com/teensy/arduino_libraries/OneWire.zip

github.com/milesburton/Arduino-Temperature-Control-Library

Si teniu un diàmetre de roda diferent, heu de canviar-lo. El podeu calcular amb aquesta fórmula:

circuit = π * d * 2, 54 (d = diàmetre de la vostra roda, la vaig multiplicar per 2,54 per obtenir el resultat en metres).

/*

####################################################### Copyright de Nikodem Bartnik el juny de 2014 ################################################# ###### * / // biblioteques #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS); Sensors de temperatura Dallas (& oneWire); // Pins LCD Display LiquidCrystal (12, 11, 5, 4, 3, 2); // nom del servo Servo myservo; // definició de variables molt anteriors, triptime, temps, impulsos; velocímetre de flotació, dist, aspeed; int servo; pantalla int = 1; // Si teniu un altre circuit de roda, heu de canviar-lo per circuit flotant = 2.0; doble temperatura; void setup () {lcd.begin (16, 2);

pinMode (A0, INPUT); pinMode (A1, INPUT); // servo definició i configuració del tacòmetre a 0 myservo.attach (6); myservo.write (180); lcd.print ("tacòmetre de bicicleta"); retard (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); retard (4000); lcd.clear (); retard (500); lcd.setCursor (0, 0); lcd.print ("Dist:"); } void loop () {// si la roda gira si (analogRead (A0)> = 300) {// nombre de voltes ++ impulsos ++; // compte temps de tornada = (millis () - anterior); // compta velocímetre de velocitat = (circuit / temps) * 3600,0; anterior = millis (); Tacòmetre (); retard (100); } Lcd (); } // mostra la velocitat al tacòmetre void Tacòmetre () {// mapa la velocitat 0-180 al servo velocímetre = int (velocímetre); servo = mapa (velocímetre, 0, 72, 180, 0); // setup servo myservo.write (servo); } void Lcd () {// quan es fa clic al botó if (analogRead (A1)> = 1010) {lcd.clear (); pantalla ++; if (pantalla == 5) {pantalla = 1; }} if (pantalla == 1) {// mostra la velocitat lcd.setCursor (0, 1); lcd.print ("Velocitat"); lcd.setCursor (7, 1); lcd.print (velocímetre); lcd.print ("km / h"); } if (pantalla == 2) {// mostra la temperatura de la temperatura = sensors.getTempCByIndex (0); sensors.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.setCursor (7, 1); impressió lcd (temperatura); lcd.print ("C"); } if (pantalla == 3) {// mostra la velocitat mitjana 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 (pantalla == 4) {// diplays temps de viatge triptime = millis () / 60000; lcd.setCursor (0, 1); lcd.print ("Temps:"); lcd.setCursor (7, 1); lcd.print (triptime); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // càlcul de la distància dist = impulsos * circuit / 1000,00; // mostra la distància lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

Pas 4: empaqueteu

Pack
Pack
Pack
Pack
Pack
Pack

Com a tapa, vaig utilitzar una caixa de plàstic que vaig comprar per 1 dòlar. Vaig tallar forats amb un ganivet i un trepant. Servo i pantalla LCD que vaig enganxar amb una cinta, la punta que vaig fer amb cartró i la vaig pintar amb pintura. Vaig protegir el Corel Draw X5 i el vaig imprimir, vaig afegir una imatge-p.webp

Pas 5: executeu-lo

Córrer!
Córrer!
Córrer!
Córrer!
Córrer!
Córrer!
Córrer!
Córrer!

Ara ja està llest. Tot el que heu de fer és engegar-lo i muntar-lo. Diverteix-te amb el teu velocímetre. Si t’agrada aquest projecte, vota’m.

Recomanat: