Hatkat

Code for Car Remote

Jan 1st, 2024
1,391
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.02 KB | None | 1 0
  1. from machine import Pin, PWM
  2. from ir_rx.nec import NEC_16
  3. import time
  4.  
  5. pinIR = 17 # numero de PIN conectado al OUT del sensor IR
  6. pinLed = Pin(16, Pin.OUT)
  7. pinFoco1 = Pin(12, Pin.OUT)
  8. pinFoco2 = Pin(13, Pin.OUT)
  9. pinSonido = Pin(2, Pin.OUT)
  10.  
  11. motorVelocidad_1 = PWM(10)
  12. motorVelocidad_2 = PWM(11)
  13. motorVelocidad_1.freq(500)
  14. motorVelocidad_2.freq(500)
  15.  
  16. velocidad = 65000
  17.  
  18. in1 = Pin(0, Pin.OUT)
  19. in2 = Pin(1, Pin.OUT)
  20. in3 = Pin(14, Pin.OUT)
  21. in4 = Pin(15, Pin.OUT)
  22.  
  23. valueCode = -1
  24.  
  25. moveMotor = False
  26. focoEncendidoApagado = True
  27.  
  28.  
  29. def callback(data):
  30.     global valueCode
  31.     global moveMotor
  32.     global focoEncendidoApagado
  33.     if(data != -1):
  34.         valueCode = data
  35.    
  36.     if(data == 0 or data == 1 or data == 4 or data == 5): #Cambiar por el valor del control a usar
  37.          moveMotor = True
  38.     else:
  39.         moveMotor = False
  40.  
  41.     if(data == 20): #Cambiar por el valor del control a usar
  42.          if(focoEncendidoApagado == True):
  43.             focoEncendidoApagado = False
  44.          else:
  45.             focoEncendidoApagado = True
  46.    
  47.  
  48. def encenderFocos():
  49.      if(focoEncendidoApagado == False):
  50.         pinFoco1.on()
  51.         pinFoco2.on()
  52.      else:
  53.         pinFoco1.off()
  54.         pinFoco2.off()
  55.  
  56.  
  57. def encenderLed():
  58.     pinLed.on()
  59.     time.sleep_ms(50)
  60.     pinLed.off()
  61.     time.sleep_ms(50)
  62.        
  63.  
  64. def MotorFrente(valorMotor):
  65.      if(valorMotor):
  66.           encenderLed()
  67.           time.sleep_ms(100)
  68.           in1.on()
  69.           in2.off()
  70.           in3.on()
  71.           in4.off()
  72.  
  73. def MotorAtras(valorMotor):
  74.      if(valorMotor):
  75.           encenderLed()
  76.           time.sleep_ms(100)
  77.           in1.off()
  78.           in2.on()
  79.           in3.off()
  80.           in4.on()
  81.  
  82. def MotorIz(valorMotor):
  83.     if(valorMotor):
  84.           in1.on()
  85.           in2.off()
  86.           in3.off()
  87.           in4.on()
  88.  
  89. def MotorDr(valorMotor):
  90.     if(valorMotor):
  91.           in1.off()
  92.           in2.on()
  93.           in3.on()
  94.           in4.off()
  95.  
  96. def MotorApagado(valor):
  97.      if(valor == 2):
  98.           in1.off()
  99.           in2.off()
  100.           in3.off()
  101.           in4.off()
  102.          
  103.        
  104. pinIR = 17 # numero de PIN conectado al OUT del sensor IR
  105. pin_ir = Pin(pinIR, Pin.IN)
  106.  
  107. # Cambia NEC_8 por la clase adecuada si es necesario
  108. ir_receiver = NEC_16(pin_ir, callback)  
  109. pausaMotor = 800
  110. pausaMotorMove = 250
  111.  
  112. while True:
  113.     if(valueCode == 0): #Cambiar por el valor del control a usar
  114.         encenderLed()
  115.         MotorFrente(moveMotor)
  116.         time.sleep_ms(pausaMotor)
  117.         MotorApagado(2)
  118.         valueCode = -1
  119.  
  120.     if(valueCode == 1): #Cambiar por el valor del control a usar
  121.         encenderLed()
  122.         MotorAtras(moveMotor)
  123.         valueCode = -1
  124.         time.sleep_ms(pausaMotor)
  125.         MotorApagado(2)
  126.  
  127.     if(valueCode == 2): #Cambiar por el valor del control a usar
  128.          encenderLed()
  129.          MotorApagado(valueCode)
  130.          valueCode = -1
  131.  
  132.     if(valueCode == 20): #Cambiar por el valor del control a usar
  133.          encenderFocos()
  134.      
  135.     if(valueCode == 4): #Cambiar por el valor del control a usar
  136.          MotorIz(moveMotor)
  137.          time.sleep_ms(pausaMotorMove)
  138.          MotorApagado(2)
  139.          encenderLed()
  140.          valueCode = -1
  141.  
  142.     if(valueCode == 5): #Cambiar por el valor del control a usar
  143.          encenderLed()
  144.          MotorDr(moveMotor)
  145.          time.sleep_ms(pausaMotorMove)
  146.          MotorApagado(2)
  147.          encenderLed()
  148.          valueCode = -1
  149.  
  150.          
  151.     if(valueCode == 3): #Cambiar por el valor del control a usar
  152.         encenderFocos()
  153.         if(velocidad >= 65000):
  154.             velocidad = 65000
  155.         else:
  156.             velocidad += 2000
  157.         valueCode = -1
  158.            
  159.     if(valueCode == 7): #Cambiar por el valor del control a usar
  160.         encenderFocos()
  161.         if(velocidad <= 0):
  162.             velocidad = 1000
  163.         else:
  164.             velocidad -= 2000
  165.         valueCode = -1
  166.        
  167.    
  168.     motorVelocidad_1.duty_u16(velocidad)
  169.     motorVelocidad_2.duty_u16(velocidad)
  170.    
  171.    
  172.    
  173.    
  174.    
  175.  
Advertisement
Add Comment
Please, Sign In to add comment