Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#define ledPin 13 #define motorDerecha1 4 #define motorDerecha2 5 #define motorIzquierda1 2 #define motorIzquierda2 3 #define echoPin 6 #define triggerPin 7 char estado = 'q'; void setup() { pinMode(ledPin, OUTPUT); pinMode(motorDerecha1, OUTPUT); pinMode(motorDerecha2, OUTPUT); pinMode(motorIzquierda1, OUTPUT); pinMode(motorIzquierda2, OUTPUT); pinMode(triggerPin, OUTPUT); pinMode(echoPin, INPUT); digitalWrite(ledPin, LOW); digitalWrite(motorDerecha1, LOW); digitalWrite(motorDerecha2, LOW); digitalWrite(motorIzquierda1, LOW); digitalWrite(motorIzquierda2, LOW); Serial.begin(9600); } void loop() { long tiempo; long distancia; digitalWrite(triggerPin, HIGH); delayMicroseconds(10); digitalWrite(triggerPin, LOW); tiempo = pulseIn(echoPin, HIGH); distancia = (tiempo/29)/3; Serial.println(distancia); Serial.println(estado); if(distancia <= 15) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } //adelante y evadir if(estado == 'w' && distancia <= 15) { digitalWrite(motorDerecha1, LOW); digitalWrite(motorDerecha2, HIGH); digitalWrite(motorIzquierda1, HIGH); digitalWrite(motorIzquierda2, LOW); } //adelante if(estado == 'w' && distancia > 15) { digitalWrite(motorDerecha1, HIGH); digitalWrite(motorDerecha2, LOW); digitalWrite(motorIzquierda1, HIGH); digitalWrite(motorIzquierda2, LOW); } //atras if(estado == 's') { digitalWrite(motorDerecha1, LOW); digitalWrite(motorDerecha2, HIGH); digitalWrite(motorIzquierda1, LOW); digitalWrite(motorIzquierda2, HIGH); } //stop if(estado == 'q') { digitalWrite(motorDerecha1, LOW); digitalWrite(motorDerecha2, LOW); digitalWrite(motorIzquierda1, LOW); digitalWrite(motorIzquierda2, LOW); } //derecha if(estado == 'd' && distancia <= 15) { digitalWrite(motorDerecha1, LOW); digitalWrite(motorDerecha2, HIGH); digitalWrite(motorIzquierda1, HIGH); digitalWrite(motorIzquierda2, LOW); } if(estado == 'd' && distancia > 15) { digitalWrite(motorDerecha1, LOW); digitalWrite(motorDerecha2, LOW); digitalWrite(motorIzquierda1, HIGH); digitalWrite(motorIzquierda2, LOW); } //izquierda if(estado == 'a' && distancia <= 15) { digitalWrite(motorDerecha1, HIGH); digitalWrite(motorDerecha2, LOW); digitalWrite(motorIzquierda1, LOW); digitalWrite(motorIzquierda2, HIGH); } if(estado == 'a' && distancia > 15) { digitalWrite(motorDerecha1, HIGH); digitalWrite(motorDerecha2, LOW); digitalWrite(motorIzquierda1, LOW); digitalWrite(motorIzquierda2, LOW); } } void serialEvent() { if(Serial.available() > 0 ){ int x = Serial.read(); if(x>=97) { estado = (char) x; } } }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)