Cuprins:

OmniBoard: Skateboard și Hoverboard hibrid cu control Bluetooth: 19 pași (cu imagini)
OmniBoard: Skateboard și Hoverboard hibrid cu control Bluetooth: 19 pași (cu imagini)

Video: OmniBoard: Skateboard și Hoverboard hibrid cu control Bluetooth: 19 pași (cu imagini)

Video: OmniBoard: Skateboard și Hoverboard hibrid cu control Bluetooth: 19 pași (cu imagini)
Video: Hoverboard via aerial drone footage 2024, Iulie
Anonim
OmniBoard: Skateboard și Hoverboard hibrid cu control Bluetooth
OmniBoard: Skateboard și Hoverboard hibrid cu control Bluetooth

OmniBoard este un roman electric Skateboard-Hoverboard Hybrid controlabil printr-o aplicație pentru smartphone Bluetooth. Este capabil să se miște cu toate cele trei grade de libertate realizabile de ambele plăci combinate, să meargă înainte, să se învârtă în jurul axei sale și să se îndrepte lateral.

Acest lucru vă permite să vă deplasați în orice direcție doriți, precum și să faceți trucuri ingenioase pe care altfel nu le-ați putea face cu modul dvs. de transport tipic, cum ar fi skateboard-urile (electrice), hoverboard-urile, mașinile, bicicletele etc.

Prietenul meu și cu mine am decis să construim OmniBoard ca un exercițiu și o provocare distractivă, precum și să participăm la anumite concursuri Instructables, și anume provocarea roților. Am vrut să facem ceva care nu a mai fost făcut până acum, care să fie cool și care să ne fie de folos. Deoarece sistemul de transport public este adesea nesigur, iar traficul în oraș este îngrozitor în timpul dimineaței și după-amiezii cu mașina de la și de la serviciu, un mod alternativ de transport, cum ar fi ciclismul sau skateboard-ul, este util. Skateboard-urile și bicicletele electrice sunt utile pentru naveta pe distanțe lungi, dar există deja multe soluții pentru consumatori și DIY pentru acest subiect. Așa că am decis să reinventăm roata, la propriu, și să facem un OmniBoard nou și distractiv.

Pasul 1: Instrumente și materiale

Instrumente și materiale
Instrumente și materiale
Instrumente și materiale
Instrumente și materiale
Instrumente și materiale
Instrumente și materiale

Sistem de acționare

  • (4) Roți Omni
  • (4) scripete cu 60 de dinți
  • (4) scripete cu 20 de dinți
  • (4) Curea de distributie GT2 (am folosit 140 de dinti)
  • (8) ID 7 mm, rulment OD 19 mm *
  • (20) Șuruburi pentru mașini M5 (sau dimensiuni similare), de aproximativ 25 mm lungime *
  • (28) Piulițe, aceeași dimensiune ca șuruburile mașinii *
  • (32) Nr. 2 șuruburi pentru lemn, lung de 3/8 "*
  • (16) Suporturile unghiulare, de preferință patru găuri, trebuie să fie la cel puțin 1/2 "de la colț la gaura șurubului *
  • 1'x2 'foaie de placaj *
  • Suprafața skateboardului

Electronică:

Sistem de acționare

  • (4) Motoare de curent continuu
  • (4) Controlere electronice de viteză (ESC)
  • Placă de distribuție a energiei (PDB)
  • Sârmă de silicon 16AWG - roșu și negru
  • Separator paralel pentru conector XT90
  • Conector XT90 tată cu coadă
  • (8 perechi) conector glonț de 4 mm
  • (4 perechi) Conectori XT60
  • (2) Baterii LiPo

Telecomandă

  • Placă de perfecționare față-verso *
  • LM7805 Regulator de tensiune *
  • Firuri solide de 24AWG - culoare asortată *
  • Modul Bluetooth HC-05 *
  • Arduino Uno v3 *
  • (32 pini) Anteturi pin masculin față-verso *
  • (12 pini) anteturi unipolare *

Instrumente:

  • Stație de lipit și lipit
  • Freze de sârmă
  • Decapanti de sârmă
  • Cleşte
  • Foarfece
  • Burghie: 1-3 / 8 ", 3/4", 1/4"

Echipament

  • imprimantă 3d
  • Cutter cu laser
  • Bandă ferăstrău
  • Perforator

* Obținut de la magazinul local de electronice sau magazinul de hardware.

Pasul 2: Cum funcționează

Cum functioneaza
Cum functioneaza

Omniboard este un skateboard electric și hoverboard într-unul! Este capabil să se deplaseze înainte și înapoi, de la o parte la alta și să se rotească, totul controlat de un joystick de pe telefon.

Omniboard este alimentat de patru motoare atașate fiecare la o roată omnidirecțională. Deoarece roțile omni sunt permise să alunece lateral, modificarea vitezei și direcției fiecărui motor permite plăcii să se deplaseze în orice direcție alege utilizatorul, așa cum este descris în imaginea de mai sus.

Pasul 3: Asamblarea axelor roților Omni

Asamblarea axelor roților Omni
Asamblarea axelor roților Omni
Asamblarea axelor roților Omni
Asamblarea axelor roților Omni
Asamblarea axelor roților Omni
Asamblarea axelor roților Omni
Asamblarea axelor roților Omni
Asamblarea axelor roților Omni

Piesele de care aveți nevoie pentru asamblarea axelor sunt:

  • (8) Distanțier rulment imprimat 3D
  • (4) Distanțier mare pentru scripete tipărit 3D
  • (8) Rulment
  • (4) Roată omni
  • (4) Scripete mare
  • (4) cheie 3x3x80mm

Mai întâi, doriți să puneți un distanțier de rulment pe capătul arborelui, așa cum se arată. Distanțierul este potrivit pentru a se potrivi foarte bine, așa că vă recomand să folosiți un menghină sau un ciocan pentru al porni. Dacă se potrivește prea ușor, deplasați-l puțin mai sus în cheie și atașați un guler. Nu trebuie să vă faceți griji cu privire la un guler pentru celălalt capăt.

Apoi glisați roata omni pe urmată de un distanțier de rulment orientat în direcția opusă. Puteți aluneca rulmenții acum (nu contează atât de mult din faptul că nu sunt confortabili) și ar trebui să arate ca imaginea. În cele din urmă, puteți strecura distanțierii de scripete lungi sub fulii. În acest moment, nu strângeți șuruburile de fixare ale fuliei și nu le puneți pe cheie. Aceștia vin mai târziu.

Pasul 4: Tăierea și găurirea camioanelor cu roți Omni

Image
Image
Tăierea și găurirea camioanelor cu roți Omni
Tăierea și găurirea camioanelor cu roți Omni
Tăierea și găurirea camioanelor cu roți Omni
Tăierea și găurirea camioanelor cu roți Omni
Tăierea și găurirea camioanelor cu roți Omni
Tăierea și găurirea camioanelor cu roți Omni

Acesta este locul în care tăietorul laser și placajul gros de 3/8 vă sunt la îndemână! CAD pentru tăierea cu laser a cadrului este atașat într-un format.dxf.

Apoi veți face două găuri peste micile cruci pe care tăietorul laser le va lăsa pe placaj. Crucea puțin mai mică va fi forată cu 3/4 "bit doar 1/4" din parcurs, în timp ce crucea mai mare va fi forată cu 1-3 / 8 "bit până la capăt. Este foarte important că vă amintiți pentru jumătate din bucăți pentru a tăia găurile de 3/4 "dintr-o parte și cealaltă jumătate din cealaltă parte. Apoi găuriți o gaură mai mică de 3/8 "prin mijlocul găurilor de 3/4", până la capăt, prin stratul pe care nu l-ați tăiat înainte.

În cele din urmă, înșurubați parantezele unghiulare pe laturile mai scurte ale pieselor dreptunghiulare. Aveți aproape tot ce aveți nevoie acum pentru a asambla camioanele omni.

Pasul 5: Asamblarea camioanelor cu roți Omni

Asamblarea camioanelor cu roți Omni
Asamblarea camioanelor cu roți Omni
Asamblarea camioanelor cu roți Omni
Asamblarea camioanelor cu roți Omni
Asamblarea camioanelor cu roți Omni
Asamblarea camioanelor cu roți Omni

Acum putem termina ansamblul camionului! Veți avea nevoie de piesele din ultimii doi pași plus:

  • (4) Curea de distributie
  • (4) Distanțier mic pentru scripete tipărit 3D
  • (4) Scripete mic
  • (4) Motor

Glisați fiecare parte a placajului pe rulmenți. Dacă găurile de 3/4 nu se potrivesc cu ușurință peste rulmenți, folosiți un Dremel pentru a le șlefui puțin mai larg. Odată ce se încadrează, puneți scripetele peste cheia proeminentă și strângeți șuruburile de fixare. Înșurubați piesa dreptunghiulară în crestătură deasupra roții omni.

În acest moment, verificați dacă roata omni se rotește liber. În caz contrar, scripetele ar putea fi prins pe placaj. Ridicați-l puțin mai sus în cheie.

Apoi vom monta motoarele. Găurile de 1-3 / 8 sunt puțin prea mici, așa că șlefuiți încet cercul interior cu un Dremel până când motorul se potrivește bine în interior. Aveți grijă să nu forțați motorul și să Odată ce motorul este în poziție, glisați cureaua peste scripetele mici, apoi scripetele mici peste distanțierele lor și pe arborele motorului de 3,175 mm. Strângeți șuruburile de reglare.

Din motive de compactitate și simetrie, veți dori să puneți scripetele și curelele pe o parte a camionului pentru două dintre ele și cealaltă parte pentru celelalte două.

Pasul 6: Montare pe platforma de skateboard

Montare pe platforma de skateboard
Montare pe platforma de skateboard
Montare pe platforma de skateboard
Montare pe platforma de skateboard
Montare pe platforma de skateboard
Montare pe platforma de skateboard

Acum vom atașa camioanele la platforma de skateboard. Ai putea să-l faci din placaj și bandă de prindere; a noastră a fost luată de pe un skateboard vechi.

Mai întâi, veți dori să faceți găuri de 1/4 în ambele părți ale placajului, așa cum se arată în imagine. În fiecare gaură, atașați un suport unghiular cu un șurub M5 și dublați-l pe partea interioară pentru a preveni venirea acestuia slăbiți din cauza vibrațiilor. Măsurați și găuriți găurile care vă permit să montați camioanele cât mai aproape de capete și la un unghi cât mai abrupt posibil în timp ce rămâneți în amprenta platformei. !

Pasul 7: lipirea motoarelor

Image
Image
Lipirea motoarelor
Lipirea motoarelor

Lipiți conectorii glonți de 4 mm pe un fir care se va conecta la motoare, apoi lipiți acest fir pe terminalele motorului. Pentru organizarea cablurilor, fiecare fir este tăiat la 6 cm și dezbrăcat de ambele capete

Sfat: Este mai ușor să lipiți firele pe conectorii glonți mai întâi, apoi să le lipiți la motor decât invers.

Pentru a lipi conectorul glonț pe sârmă, așezați-l pe o clemă de aligator izolată a mâinii de ajutor (deoarece căldura se disipează rapid de la corpul conectorului glonț la corpul de mână de ajutor metalic, care conduce conducta de căldură). Apoi, puneți o lipire pe conectorul glonț, la jumătatea drumului și, în timp ce păstrați fierul de călcat în conector, înmuiați firul în piscina de lipit, așa cum se arată în videoclip. Apoi, micșorați firul și conectorul glonț.

Apoi, așezați firul lângă terminalul motorului și țineți-l în poziție verticală cu ajutorul mâinii de ajutor. Am folosit rola de lipit pentru a ține motorul invers. Apoi lipiți firul pe terminalul motorului. Ordinea și culoarea firelor sunt ambigue și nu contează, deoarece comanda poate fi comutată pentru a inversa rotația, ceea ce se va face în următorii pași, dacă este necesar.

Pasul 8: lipirea conectorilor bateriei ESC

Conectori pentru baterii ESC de lipit
Conectori pentru baterii ESC de lipit
Conectori pentru baterii ESC de lipit
Conectori pentru baterii ESC de lipit

Înainte de lipire, tăiați niște termocontractori pentru fiecare dintre firele care vor fi utilizate pentru a izola capetele lipite expuse.

Tăiați unul dintre cablurile de la conectorul bateriei, dezbrăcați-l, glisați termocontractorul și lipiți-l la conectorul XT60 cu roșu conectat la borna pozitivă a XT60 și negru la borna negativă a XT60.

Avertisment: Tăiați firele ESC doar unul câte unul, deoarece există un condensator care poate fi încărcat între bornele pozitive și negative, care se va scurta dacă foarfecele sau tăietorii de sârmă le taie simultan.

Pentru a lipi firul pe conectorul XT60, utilizați mâinile de ajutor pentru a ține corpul conectorului XT60. Apoi, adăugați o lipire la terminalul XT60 aproximativ la jumătatea drumului și păstrând în același timp fierul de lipit pe conectorul XT60, introduceți firul în piscina de lipit lichid, așa cum se arată în videoclipul de la pasul anterior. Odată răcit, glisați căderea de căldură în jos pentru a izola capătul expus și încălziți-l cu laturile fierului de lipit.

Repetați acest lucru pentru restul firelor conectorilor bateriei ESC-urilor.

Pasul 9: lipirea plăcii de distribuție a energiei (PDB)

Lipirea plăcii de distribuție a energiei (PDB)
Lipirea plăcii de distribuție a energiei (PDB)
Lipirea plăcii de distribuție a energiei (PDB)
Lipirea plăcii de distribuție a energiei (PDB)
Lipirea plăcii de distribuție a energiei (PDB)
Lipirea plăcii de distribuție a energiei (PDB)
Lipirea plăcii de distribuție a energiei (PDB)
Lipirea plăcii de distribuție a energiei (PDB)

PDB va prelua intrarea de la cele două baterii de litiu polimer (LiPo) cu o tensiune și curent combinate de 11,1V și respectiv 250A și le va distribui către cele patru ESC-uri.

Sfat: Este mai ușor să lipiți conectorul XT90 tată mai întâi la plăcile PDB, apoi cele 16 fire AWG către ESC-uri, urmate de conectorii XT60 pe aceste fire.

Înainte, lipiți firele, tăiați termocontractorul pentru a se potrivi cu fiecare dintre ele, astfel încât să poată fi alunecat pe capătul lipit expus mai târziu pentru a preveni scurtcircuitul.

Pentru a lipi firele pe tampoanele PDB, mi s-a părut cel mai ușor să folosesc mâinile ajutătoare pentru a ține firele în poziție verticală (în special cablul mare XT90) și a-l așeza deasupra PDB-ului, așezat pe masă. Apoi lipiți firul din jurul tamponului PDB. Apoi, glisați căderea de căldură în jos și încălziți-o pentru a izola circuitele.

Repetați acest lucru pentru restul firelor ESC.

Pentru a lipi XT60, urmați pasul anterior privind modul în care terminalul bateriei ESC a fost înlocuit cu XT60.

Pasul 10: Conectarea firelor

Conectarea firelor
Conectarea firelor

Conectați firele motorului la bornele conectorului glonț al ESC. Apoi, conectați pinul de semnal alb de la ESC la pinul 9 și pinul negru de masă la pinul GND de pe Arduino. Fâșiile de blocare duală au fost folosite pentru a fixa toate ESC-urile și firele pe placă.

Pentru a verifica dacă rotația motoarelor este corectă (se rotește spre față), rulați codul de probă pe Arduino de mai jos.

#include

Servo motor;

octet în sensul acelor de ceasornic = 110; interval lung nesemnat = 1500; int motorPin = 9;

configurare nulă ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println ("Începutul testului"); }

bucla nulă ()

{motor.write (speedwisewise); Serial.println („Opriți motorul de la rotire”); întârziere (interval); }

Ordinea firelor conectate de la ESC la motor determină rotația motorului. Dacă rotirea motorului este în sens invers acelor de ceasornic, țineți cont de motor și schimbați booleanul în codul controlerului la pasul „Programarea controlerului Omniboard”. Dacă se rotește în sens orar spre față, atunci rotația este corectă. Faceți acest lucru pentru fiecare dintre cele patru motoare. Dacă motorul nu se rotește, verificați dublu toți conectorii dacă există o lipire rece care duce la o conexiune slăbită.

Pasul 11: Schimbarea modului ESC

Schimbarea modului ESC
Schimbarea modului ESC

În mod implicit, ESC-urile periate sunt în modul de antrenament. Acest lucru este indicat de lumina LED intermitentă. Pentru a controla programatic un motor în direcția inversă, este nevoie de modul de urcare.

Pentru a accesa acest mod, conectați ESC la Arduino conectând pinul de semnal alb de la ESC la pinul 9 și pinul de masă negru la pinul GND de pe Arduino. Apoi încărcați și rulați următorul program pe placa Arduino:

#include

Servo motor;

octet stopSpeed = 90; interval lung nesemnat = 1500; int motorPin = 9;

configurare nulă ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println ("Începutul testului"); }

bucla nulă ()

{motor.write (stopSpeed); Serial.println („Opriți motorul de la rotire”); întârziere (interval); }

Porniți ESC, apoi țineți apăsat butonul de programare timp de două secunde. Indicatorul LED va fi acum stabil, spre deosebire de intermitent, ceea ce înseamnă că modul a fost schimbat cu succes în modul de urcare.

Pasul 12: interfață cu modulul Bluetooth și telefon

Interfață cu modulul Bluetooth și telefon
Interfață cu modulul Bluetooth și telefon
Interfață cu modulul Bluetooth și telefon
Interfață cu modulul Bluetooth și telefon
Interfață cu modulul Bluetooth și telefon
Interfață cu modulul Bluetooth și telefon

Modulul HC-05 Bluetooth permite Arduino să se conecteze cu un telefon pentru a permite controlul wireless al skateboard-ului printr-o aplicație. Deoarece am găsit probleme cu interfețele modulului Bluetooth defecte, ar fi mai bine să îl testez mai întâi înainte de a lipi circuitele finale, Vom folosi 4 din cei 6 pini de pe modulul Bluetooth. Acestea sunt: Tx (Transmit), Rx (Receive), 5V și GND (Ground). Conectați pinii Tx și Rx de la modulul HC-05 Bluetooth la pinii 10 și, respectiv, 11 de pe Arduino. Apoi, conectați pinii de 5V și pinii GND la pinii cu eticheta la fel pe Arduino.

În aplicația Blynk, adăugați Bluetooth și butoane widget-uri, așa cum se arată în imaginile de mai sus. Apoi, atribuiți butonul pinul digital D13, care este conectat la LED-ul încorporat de pe Arduino Uno.

Încărcați și rulați următorul cod pe Arduino cu modulul Bluetooth conectat și deschideți monitorul serial pentru a vedea dacă modulul Bluetooth s-a conectat. Apoi comutați butonul On / Off și observați LED-ul încorporat pe schimbarea Arduino.

#define BLYNK_PRINT Serial

#include

#include

// Ar trebui să obțineți Auth Token în aplicația Blynk.

// Accesați Setările proiectului (pictograma piuliță). char auth = "Indicativul dvs. de autentificare";

SoftwareSerial SerialBLE (10, 11); // RX, TX

BLYNK_WRITE (V1)

{int PinValue = param.asInt (); // atribuirea valorii primite de la pinul V1 unei variabile}

configurare nulă ()

{Serial.begin (9600); // debug consola SerialBLE.begin (9600); Blynk.begin (SerialBLE, auth); Serial.println („Se așteaptă conexiunile …”); }

bucla nulă ()

{Blynk.run (); }

Pasul 13: lipirea scutului Arduino

Lipirea Scutului Arduino
Lipirea Scutului Arduino
Lipirea Scutului Arduino
Lipirea Scutului Arduino
Lipirea Scutului Arduino
Lipirea Scutului Arduino
Lipirea Scutului Arduino
Lipirea Scutului Arduino

Pentru a curăța circuitele și a desprinde firele jumperului de la prototip, vom lipi un scut Arduino care se conectează la fiecare dintre ESC-uri și modulul Bluetooth, precum și o sursă de alimentare la Arduino.

Lipiți următoarea schemă de mai sus pe o placă de perfecționare pe două fețe.

Am dimensionat și conectat mai întâi anteturile pin masculin cu două fețe pe anteturile feminine Arduino, apoi le-am lipit în partea superioară a plăcii de perfecție pentru ambele părți. Odată ce au fost lipite, l-am îndepărtat de pe placa Arduino pentru a lipi partea inferioară a plăcii. Apoi, am lipit anteturile ESC Single-Sided Pin masculin în 4 seturi de 3 pe partea inferioară a plăcii de perf. După care am așezat modulul Bluetooth HC-05 în poziție verticală și am lipit conectorii și pe partea inferioară a plăcii de perf.

Deoarece modulul Bluetooth necesită o intrare de tensiune de 5V și PDB este reglementat doar la 12V, am folosit un LM7805 pentru a reduce curentul pentru a limita extragerea de curent de la Arduino. Aceeași sursă de 5V este, de asemenea, conectată la pinul de 5V al Arduino, astfel încât Arduino să poată fi alimentat prin scut, spre deosebire de un adaptor suplimentar pentru mufa baril.

Pinii LM7805 au fost lipiți în partea inferioară a plăcii de perf, cu componenta regulatorului de tensiune așezată deasupra plăcii de perf, așa cum se arată în imaginea de mai sus. Am lipit toate conexiunile de alimentare la fiecare dintre componente și anteturile pin ESC și modulul Bluetooth HC-05 așa cum este descris în schemă. Ieșirea de 12V a PDB a fost apoi lipită la pinul de intrare VCC (cel mai stâng) și pinul de masă (mijloc) al regulatorului de tensiune LM7805. În cele din urmă, fiecare dintre anteturile pinului de semnal ESC și pinii Tx și Rx ale modulului Bluetooth HC-05 la pinii digitali Arduino prin intermediul anteturilor pin masculin cu două fețe, așa cum se arată în schemă.

Pasul 14: Crearea aplicației prin Blynk

Crearea aplicației prin Blynk
Crearea aplicației prin Blynk

Omniboard va fi controlat prin Bluetooth folosind orice smartphone prin intermediul aplicației Blynk. Blynk este o aplicație pentru Android și iOS care permite utilizatorilor să utilizeze module și widget-uri care pot interfața cu mai multe microcontrolere cu funcții Bluetooth sau wireless sau module Bluetooth / wireless, cum ar fi HC-05.

1. Instalați Blynk pe telefon.

2. Creați un cont și conectați-vă

3. Creați un proiect nou și denumiți-l. Am numit-o pe „controler Omniboard”, selectez Arduino Uno ca microcontroler și selectez Bluetooth ca tip de interfață.

4. Trageți și fixați următoarele widget-uri pe ecran: Bluetooth, Hartă, 2 Butoane și Joystick

Pasul 15: Interfațarea widgeturilor cu Arduino

Interfațarea widgeturilor cu Arduino
Interfațarea widgeturilor cu Arduino
Interfațarea widgeturilor cu Arduino
Interfațarea widgeturilor cu Arduino
Interfațarea widgeturilor cu Arduino
Interfațarea widgeturilor cu Arduino

Butonul va fi utilizat pentru a comuta modul Hoverboard vs modul Skateboard. Modul Hoverboard permite controlul precis al centrifugării și al alunecării în timp ce țineți viteza de croazieră. În timp ce modul skateboard oferă un control precis al vitezei înainte și al rotirii. Joystick-ul va controla skateboard-ul cu două grade de libertate, care sunt schimbate de butonul de comutare. Harta va afișa locația dvs. curentă, precum și puncte de referință pentru alte locuri. Bluetooth permite interfeței să se conecteze cu un modul Bluetooth.

Setări joystick:

Selectați „Merge” pentru tipul de ieșire și atribuiți-l la pinul virtual V1

Setarea butoanelor:

  • Denumiți primul buton „Hover Mode” și al doilea buton „Cruise Control”.
  • Alocați ieșirea primului buton la pinul virtual V2 și schimbați modul la „Comutare”.
  • Alocați ieșirea celui de-al doilea buton pe pinul virtual V3 și schimbați modul în „Comutare”.
  • Redenumiți numele de comutare ale primelor butoane ca „Hover” și „Skate” și păstrați „ON” și „OFF”.

Setări hartă:

Alocați intrarea să fie V4

Setări Bluetooth:

Selectați widgetul Bluetooth din aplicația Blynk și conectați-vă cu modulul dvs. Parola implicită pentru modulul Bluetooth este „1234”

Pasul 16: Programarea controlerului Omniboard

Programarea controlerului Omniboard
Programarea controlerului Omniboard
Programarea controlerului Omniboard
Programarea controlerului Omniboard
Programarea controlerului Omniboard
Programarea controlerului Omniboard

Dinamica Omniboard a fost programată pe baza algoritmului de dinamică derivat din secțiunea „Cum funcționează”. Fiecare dintre cele 3 grade de libertate, înainte, strafe și rotire sunt calculate independent și sunt suprapuse unele pe altele pentru a rezulta într-o gamă completă de control al mișcării Omniboard. Controlul fiecărui motor este liniar proporțional cu mișcarea joystick-ului. Încărcați și rulați următorul cod pe Arduino.

#define BLYNK_PRINT Serial

#include

#include

#include

ServomotorFR; Servomotor FL; ServomotorBR; Servomotor BL;

motor boolFRrev = adevărat;

motorul boolFLrev = adevărat; motor boolBRrev = adevărat; bool motorBLrev = adevărat;

motor plutitor FRang = 330,0 * PI / 180,0;

motor plutitor FLang = 30,0 * PI / 180,0; motor plutitor BRang = 210,0 * PI / 180,0; motor plutitor BLang = 150,0 * PI / 180,0;

motor plutitorFRspeedT;

motor plutitor FLspeedT; motor plutitorBRspeedT; motor plutitor BLspeedT;

motor plutitorFRspeedR;

motor plutitor FLspeedR; motor plutitorBRspeedR; motor plutitor BLspeedR;

float maxAccel = 10;

octet forwardSpeed = 110;

octet backSpeed = 70; octet stopSpeed = 90; // treceți la un număr deternmiat experimental

int cruiseControl;

int yawMode;

// Ar trebui să obțineți Auth Token în aplicația Blynk.

// Accesați Setările proiectului (pictograma piuliță). char auth = "8523d5e902804a8690e61caba69446a2";

SoftwareSerial SerialBLE (10, 11); // RX, TX

BLYNK_WRITE (V2) {cruiseControl = param.asInt ();}

BLYNK_WRITE (V3) {yawMode = param.asInt ();} WidgetMap myMap (V4);

BLYNK_WRITE (V1)

{int x = param [0].asInt (); int y = param [1].asInt ();

if (! cruiseControl) calcTranslation (x, y);

if (yawMode) calcRotation (x, y); else {motorFRspeedR = 0; motorFLspeedR = 0; motorBRspeedR = 0; motorBLspeedR = 0; } writeToMotors (); }

configurare nulă ()

{motorFR.attach (9); motorFL.attach (6); motorBR.attach (5); motorBL.attach (3); întârziere (1500); // așteptați inițializarea motoarelor // Depanați consola Serial.begin (9600);

SerialBLE.begin (9600);

Blynk.begin (SerialBLE, auth);

Serial.println („Se așteaptă conexiunile …”);

// Dacă doriți să eliminați toate punctele:

//myMap.clear ();

int index = 1;

float lat = 43.653172; float lon = -79.384042; myMap.location (index, lat, lon, „valoare”); }

bucla nulă ()

{Blynk.run (); }

void calcTranslation (int joyX, int joyY)

{float normX = (joyX - 127.0) /128.0; float normY = (joyY - 127.0) /128.0; motorFRspeedT = (normY * cos (motorFRang) + normX * sin (motorFRang)) * (1 - 2 * motorFRrev); motorFLspeedT = (normY * cos (motorFLang) + normX * sin (motorFLang)) * (1 - 2 * motorFLrev); motorBRspeedT = (normY * cos (motorBRang) + normX * sin (motorBRang)) * (1 - 2 * motorBRrev); motorBLspeedT = (normY * cos (motorBLang) + normX * sin (motorBLang)) * (1 - 2 * motorBLrev); }

void calcRotation (int joyX, int joyY)

{float normX = (joyX - 127.0) /128.0; float normY = (joyY - 127.0) /128.0; motorFRspeedR = joyX * (1 - 2 * motorFRrev); motorFLspeedR = -joyX * (1 - 2 * motorFLrev); motorBRspeedR = -joyX * (1 - 2 * motorBRrev); motorBLspeedR = joyX * (1 - 2 * motorBLrev); }

void writeToMotors ()

{float motorFRspeed = motorFRspeedT + motorFRspeedR; float motorFLspeed = motorFLspeedT + motorFLspeedR; motor plutitorBRspeed = motorBRspeedT + motorBRspeedR; float motorBLspeed = motorBLspeedT + motorBLspeedR;

lung motorFRmapped = hartă ((lung) (100 * motorFRspeed), -100, 100, backSpeed, forwardSpeed);

motorFLmapped lung = hartă ((lung) (100 * motorFLspeed), -100, 100, backSpeed, forwardSpeed); motor lung BRmapped = hartă ((lung) (100 * motorBRspeed), -100, 100, backSpeed, forwardSpeed); long motorBLmapped = map ((long) (100 * motorBLspeed), -100, 100, backSpeed, forwardSpeed); motorFR.write (motorFRmapped); motorFL.write (motorFLmapped); motorBR.write (motorBRmapped); motorBL.write (motorBLmapped); }

Pasul 17: Instalarea carcasei electronice

Instalarea carcasei electronice
Instalarea carcasei electronice
Instalarea carcasei electronice
Instalarea carcasei electronice
Instalarea carcasei electronice
Instalarea carcasei electronice
Instalarea carcasei electronice
Instalarea carcasei electronice

Pentru a împiedica toate firele și piesele să atârne din fund, imprimați carcasa atașată 3D, apoi înșurubați-o pe skateboard folosind șuruburi M5.

Pasul 18: Pictura

Pictura
Pictura
Pictura
Pictura
Pictura
Pictura

Inspirația pentru designul punții superioare sunt circuitele și modelele PCB. Pentru a face acest lucru, mai întâi partea de jos a skateboard-ului este acoperită cu banda de pictor înfășurată în jurul ei. Apoi, întreaga punte superioară este acoperită cu vopsea albă. Odată uscat, este mascat cu negativul modelului circuitului, apoi revopsit cu un strat negru. Apoi, îndepărtați cu atenție mascările din stratul superior și voila, un skateboard cu aspect rece.

Vă încurajez să personalizați designul pentru propriul dvs. Omniboard și să vă exercitați libertatea creativă.

Pasul 19: Test și demonstrație

Image
Image

Premiul II la concursul de roți 2017

Concurs de telecomandă 2017
Concurs de telecomandă 2017

Premiul I la Concursul de Telecomandă 2017

Recomandat: