Taula de continguts:
Vídeo: Com fer un robot intel·ligent amb Arduino: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Hola,
Sóc fabricant d’arduino i en aquest tutorial us mostraré com fer un robot intel·ligent amb arduino
si us ha agradat el meu tutorial, considereu donar suport al meu canal de youtube anomenat arduino maker
Subministraments
COSES QUE NECESSITAREU:
1) arduino uno
2) sensor d'ultrasons
3) Motor Bo
4) rodes
5) pals de gelat
6) bateria de 9v
Pas 1: CONNEXIONS
Després, obtenint tots els subministraments ara, hauríeu de començar a connectar totes les coses segons el diagrama de circuits que es mostra a dalt
Pas 2: PEGEU TOTS ELS COMPONENTS QUE SITUEN
D'ACORD,
ara connecteu totes les coses al lloc tal com es mostra a la imatge superior
Pas 3: PROGRAMACIÓ
Ara,
comenceu a programar el tauler amb el codi indicat a continuació
// ARDUINO OBSTACLE EVITING CAR //// Abans de carregar el codi heu d’instal·lar la biblioteca necessària // // Biblioteca AFMotor https://learn.adafruit.com/adafruit-motor-shield/library-install // // Biblioteca NewPing https://github.com/livetronic/Arduino-NewPing// // Servo Library https://github.com/arduino-libraries/Servo.git // // Per instal·lar les biblioteques aneu a sketch >> Inclou Biblioteca >> Afegir fitxer. ZIP >> Seleccioneu els fitxers ZIP descarregats dels enllaços anteriors //
#incloure
#incloure
#incloure
#define TRIG_PIN A0
#define ECHO_PIN A1 #define MAX_DISTANCE 200
#define MAX_SPEED 150 // estableix la velocitat dels motors de corrent continu
#define MAX_SPEED_OFFSET 20
Newar sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor1 (1, MOTOR12_1KHZ);
// AF_DCMotor motor2 (2, MOTOR12_1KHZ); // AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motor4 (4, MOTOR34_1KHZ); Servo miservo;
booleà va endavant = fals;
int distància = 100; int speedSet = 0;
configuració nul·la () {
myservo.attach (10);
myservo.write (115); retard (1000); distància = readPing (); retard (100); distància = readPing (); retard (100); distància = readPing (); retard (100); distància = readPing (); retard (100); }
bucle buit () {
int distància R = 0; int distànciaL = 0; retard (40); if (distància <= 15) {moveStop (); retard (100); moveBackward (); retard (300); moveStop (); retard (200); distànciaR = lookRight (); retard (300); distànciaL = lookLeft (); retard (300);
si (distànciaR> = distànciaL)
{ giri a la dreta(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distància = readPing (); }
int lookRight ()
{myservo.write (50); retard (650); int distance = readPing (); retard (100); myservo.write (115); distància de retorn; }
int lookLeft ()
{myservo.write (170); retard (650); int distance = readPing (); retard (100); myservo.write (115); distància de retorn; retard (100); }
int readPing () {
retard (70); int cm = sonar.ping_cm (); if (cm == 0) {cm = 250; } retorn cm; }
void moveStop () {
motor1.run (LLANÇAMENT); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run (LLANÇAMENT); } void moveForward () {
if (! goesForward)
{va endavant = cert; motor1.run (AVANT); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (AVANT); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // augmenta lentament la velocitat per evitar carregar les bateries massa ràpidament {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); retard (5); }}}
void moveBackward () {
va endavant = fals; motor1.run (BACKWARD); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // augmenta lentament la velocitat per evitar carregar les bateries massa ràpidament {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); retard (5); }}
void turnRight () {
motor1.run (BACKWARD); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (AVANT); retard (350); motor1.run (AVANT); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (AVANT); } void turnLeft () {motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (BACKWARD); retard (350); motor1.run (AVANT); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (AVANT); }
Recomanat:
Llum LED d'escriptori intel·ligent - Il·luminació intel·ligent amb Arduino - Espai de treball Neopixels: 10 passos (amb imatges)
Llum LED d'escriptori intel·ligent | Il·luminació intel·ligent amb Arduino | Espai de treball de Neopixels: ara passem molt de temps a casa estudiant i treballant virtualment, per què no fer que el nostre espai de treball sigui més gran amb un sistema d’il·luminació personalitzat i intel·ligent basat en els LEDs Arduino i Ws2812b. Aquí us mostro com construir el vostre Smart Llum LED d'escriptori que
Converteix un telèfon intel·ligent no utilitzat en una pantalla intel·ligent: 6 passos (amb imatges)
Converteix un telèfon intel·ligent no utilitzat en una pantalla intel·ligent: el tutorial de Deze es troba a Engels, per a la versió del clàssic espanyol. Teniu un telèfon intel·ligent (antic) sense utilitzar? Convertiu-lo en una pantalla intel·ligent amb Fulls de càlcul de Google i paper i llapis seguint aquest senzill tutorial pas a pas. Quan hagis acabat
Làmpada LED intel·ligent controlada per telèfon intel·ligent Bluetooth: 7 passos
Làmpada LED intel·ligent controlada per telèfon intel·ligent Bluetooth: sempre somio amb controlar els meus aparells d’il·luminació. Aleshores algú va fabricar una increïble llum LED de colors. Fa poc em vaig trobar amb una làmpada LED de Joseph Casha a Youtube. Inspirant-me en ell, vaig decidir afegir diverses funcions mantenint la comoditat
Rellotge despertador intel·ligent: un despertador intel·ligent fabricat amb Raspberry Pi: 10 passos (amb imatges)
Rellotge despertador intel·ligent: un rellotge despertador intel·ligent fet amb Raspberry Pi: Heu volgut mai un rellotge intel·ligent? Si és així, aquesta és la solució per a vosaltres. He creat Smart Alarm Clock (Rellotge despertador intel·ligent), aquest és un rellotge que permet canviar l’hora de l’alarma segons el lloc web. Quan l’alarma s’activi, hi haurà un so (brunzidor) i 2 llums
Com controlar l'interruptor intel·ligent bàsic Sonoff basat en ESP8266 amb un telèfon intel·ligent: 4 passos (amb imatges)
Com controlar el commutador intel·ligent bàsic de Sonoff basat en ESP8266 amb un telèfon intel·ligent: Sonoff és una línia de dispositius per a Smart Home desenvolupada per ITEAD. Un dels dispositius més flexibles i econòmics d’aquesta línia és Sonoff Basic. És un commutador habilitat per Wi-Fi basat en un gran xip, ESP8266. En aquest article es descriu com configurar el Cl