chariot esp32
Préface
Certains étudiants ont peut-être remarqué qu'il y avait des github C ++ dans mon github.
Voici le contenu de esp32.
Début
Il y a trois fichiers ici:
Quelles serial test tool串口调试器
utilisations voir un autre morceau de l'article
téléchargé sketch_car.ino
il y aura les problèmes suivants, veuillez cliquer sur OK
le téléchargement, utilisé ici DOIT ESP32 DEVKIT V1
pour télécharger, vous devez installer le pilote et espressif décompressez le dossier et passez au <arduino安装路径>/Contents/Java/hardware
chemin suivant (mac, windows Mengchuo ici )
après la fin de l'utilisation du débogueur série envoyé udlrs
à
Analyse de code
initialisation:
#include <BluetoothSerial.h>
#include "ssd1306.h"
#include "ssd1306_console.h"
Ssd1306Console console;
int readleft = 0;
int readright = 0;
long leftnum = 0;
long rightnum = 0;
BluetoothSerial SerialBT;
void setup() {
ssd1306_128x64_i2c_init();
ssd1306_clearScreen();
ssd1306_setFixedFont(ssd1306xled_font6x8);
ledcSetup(0, 5000, 10);
ledcSetup(1, 5000, 10);
ledcSetup(2, 5000, 10);
ledcSetup(3, 5000, 10);
ledcAttachPin(2, 2);
ledcAttachPin(4, 3);
ledcAttachPin(13, 0);
ledcAttachPin(27, 1);
SerialBT.begin("car");
pinMode(12, INPUT);
pinMode(14, INPUT);
}
Afficher le numéro du cercle:
void loop() {
console.print("L:");
console.print(leftnum);
console.print('\t');
console.print("R:");
console.println(rightnum);
Calculez le nombre de tours:
if (digitalRead(12) == HIGH) {
readleft ++;
}
if (digitalRead(14) == HIGH) {
readright ++;
}
if (readleft == 112) {
readleft = 0;
leftnum ++;
}
if (readright == 112) {
readright = 0;
rightnum ++;
}
Exécuter les commandes de port Bluetooth
while (SerialBT.available()) {
char input = SerialBT.read();
if (input == 'u') {
forward();
} else if (input == 'd') {
backward();
} else if (input == 'l') {
left();
} else if (input == 'r') {
right();
} else if (input == 's') {
Stop();
}
}
}
Fonction d'action
void forward() {
ledcWrite(0, 900);
ledcWrite(1, 0);
ledcWrite(2, 900);
ledcWrite(3, 0);
}
void backward() {
ledcWrite(0, 0);
ledcWrite(1, 900);
ledcWrite(2, 0);
ledcWrite(3, 900);
}
void right() {
ledcWrite(0, 0);
ledcWrite(1, 900);
ledcWrite(2, 900);
ledcWrite(3, 0);
}
void left() {
ledcWrite(0, 900);
ledcWrite(1, 0);
ledcWrite(2, 0);
ledcWrite(3, 900);
}
void Stop() {
ledcWrite(0, 1);
ledcWrite(1, 1);
ledcWrite(2, 1);
ledcWrite(3, 1);
}
Auteur
hit-road
Au revoir, sortir des cours, c'est fini!
La hit-road est mise à jour de temps en temps, à voir ou à quitter!