Finally ... Make a radio control using python on Raspberry Pi 3! (When the magnet is brought closer, the motor moves and stops automatically)

Introduction

My name is Ryosuke Kamei and I am an IT consultant based on the idea of "gentle IT"! Currently, in my work, I am doing upstream processes focusing on requirements analysis and requirements definition, but I also write programs! As part of our friendly IT activities, we will introduce "Raspberry Pi 3" (commonly known as Raspberry Pi), which has the philosophy of "providing inexpensive PCs that can be programmed for education"!

Until now, I've been touching Raspberry Pi because I was wondering if my daughter (11 and 8) would work on a radio-controlled model during the summer vacation! (I'm a daughter, but a radio-controlled model? How to raise it ... Fufufu) As a result, I don't know if they will choose a radio-controlled model (laughs), but I will try to make a prototype.

In "Motor moves while pressing the button", the motor moves while the button is pressed. As an advanced version, I made "(The motor moves while the magnet is approaching)" using a magnet switch (reed switch). However, with this method, you have to chase the car when you stop the motor. The car seems to go in the wrong direction ... So, when I brought the magnet closer, the motor started to move and stopped automatically after a while!

[Razpai Magazine-June 2016 Special Feature 1 Akiba's Popular Parts Wiring Diagram Best 17](https://www.amazon.co.jp/ Razpai Magazine-June 2016 Issue-Nikkei BP PC Best Mook- Nikkei Linux-ebook / dp / B01EH2RX42 / ref = as_li_ss_tl? ie = UTF8 & dpID = 61P3o6Agz + L & dpSrc = sims & preST = OU09__BG0,0,0,0_FMpng_AC_UL160_SR120,160 & psc = 1 & refRID = 31SKG5E0DGKBSF9BWNGV & linkCode = ll1 & tag = sr2smail-22 & linkId = 18fd04738627edef8d6fffd6c9b8f9c2) [Razpai Magazine-August 2016 Special Feature 1 Basic Patterns for Electronic Work 12](https://www.amazon.co.jp/%E3%83%A9%E3%82%BA%E3%83%91 % E3% 82% A4% E3% 83% 9E% E3% 82% AC% E3% 82% B8% E3% 83% B3-2016% E5% B9% B48% E6% 9C% 88% E5% 8F% B7 -% E6% 97% A5% E7% B5% 8CBP% E3% 83% 91% E3% 82% BD% E3% 82% B3% E3% 83% B3% E3% 83% 99% E3% 82% B9% E3% 83% 88% E3% 83% A0% E3% 83% 83% E3% 82% AF-% E6% 97% A5% E7% B5% 8CLinux / dp / 4822237710 / ref = as_li_ss_tl? Ie = UTF8 & qid = 1471057119 & sr = 8-4 & keywords =% E3% 83% A9% E3% 82% BA% E3% 83% 91% E3% 82% A4 & linkCode = ll1 & tag = sr2smail-22 & linkId = c42c3f78bd8af3af1414020a400090fe) While watching, I am studying and applying. It was very helpful!

procedure

  1. Wiring
  2. Program Raspycon_ver2.py
  3. Run the program

1. Wiring

If you get an image like this, referring to the picture of the circuit "The motor moves while pressing the button" and "[(The motor moves while the magnet is close)](http://qiita.com /RyosukeKamei/items/18619f3a7ad879dca298) "is the same circuit. ついに…Raspberry Pi 3でpythonを使いラジコンを作る!(磁石を近づけるとモータが動く編)回路.jpg

I also made a video Click the video commentary →

I tried to wake it up in the text. Wiring seen from Raspberry Pi

--Raspberry Pi 1st terminal (3.3V) --Motor driver 8th pin (Vs) --Raspberry Pi 2nd terminal (5V) --Motor driver 7th pin (Vcc) --Raspberry Pi 2nd terminal (5V) --Lead switch left side --Raspberry Pi 16th terminal (GPIO23) --Motor driver 5th pin (IN1) --Raspberry Pi 18th terminal (GPIO24) --Motor driver 6th pin (IN2) --Raspberry Pi 6th terminal (GND) --Motor driver pin 1 (GND) --Battery minus side --Raspberry Pi 11th terminal (GPIO17) --Reed switch right side

Wiring seen from the motor driver

--Motor driver No. 4 (Vref) --Resistance 5.1kΩ --Motor driver No. 8 (Vs) --Motor driver No. 2 (OUT1) --DC motor --Motor driver No. 10 (OUT2) --DC motor

Others (not included in images and videos)

--Condenser --DC motor --Reed switch center --GND

2. Program Raspycon_ver2.py

The source is uploaded to GitHub, so please use it as you like.

Clone with git


$ git clone https://github.com/RyosukeKamei/raspberrypi3.git

Raspycon_ver2.py


#Library to control GPIO
import wiringpi
#Timer library
import time

#GPIO terminal number to which the button switch is connected
button_pin = 17 #Terminal 11
#GPIO terminal settings
motor1_pin = 23 #Terminal 16
motor2_pin = 24 #Terminal 18

#GPIO initialization
wiringpi.wiringPiSetupGpio()

#Set the button switch to input mode (0)
wiringpi.pinMode( button_pin  , 0 )

#Motor driver set to output mode (1)
wiringpi.pinMode( motor1_pin, 1 )
wiringpi.pinMode( motor2_pin, 1 )


#Set the state when nothing is connected to the terminal
# 3."2" (pull-up) for 3V
#(Set to "1" for 0V (pull-down))
wiringpi.pullUpDnControl( button_pin  , 2 )

#Initial state of the switch
switch_status = wiringpi.digitalRead(button_pin)

#While processing becomes the range of the loop when indented
while True:
    #Detects switch status
    print("Initial value of the switch", switch_status)
    print("Acquired switch status", wiringpi.digitalRead(button_pin))
    
    #Move the motor when the switch changes
    if( wiringpi.digitalRead(button_pin) != switch_status ):
        print ("Run the motor for 3 seconds")
        #Rotate the motor
        wiringpi.digitalWrite( motor1_pin, 1 )
        wiringpi.digitalWrite( motor2_pin, 1 )
        time.sleep(3)
        wiringpi.digitalWrite( motor1_pin, 1 )
        wiringpi.digitalWrite( motor2_pin, 0 )
        switch_status = wiringpi.digitalRead(button_pin)
        
    # 0.Event catch every 5 seconds
    time.sleep(0.5)

3. Run the program

I recorded the video of how it is moving. Click the video commentary →

The motor moves while the magnet is brought closer


$ sudo python3 Raspycon_ver2.py

It looks like Choro-Q!

site map

Raspberry Pi 3 setup

Install Raspberry Pi 3 → Wireless LAN → Japanese input / output → Operate from Mac

Build a Python + MySQL environment with Docker on Raspberry Pi 3!

Install Docker on RaspberryPi3 Build a Python + bottle + MySQL environment with Docker on RaspberryPi3![Easy construction] Build a Python + bottle + MySQL environment with Docker on RaspberryPi3![Trial and error]

Make an air conditioner integrated PC "airpi" with Raspberry Pi 3!

Make an air conditioner integrated PC "airpi" with Raspberry Pi 3!

Let's play with Raspberry Pi 3 (Raspberry Pi) and python Record of Raspberry Pi struggle

Programming with Node-RED programming with Raspberry Pi 3 and programming normally Light the LED with python on Raspberry Pi 3 (Hello World) Detect switch status on Raspberry Pi 3 Run a servo motor using python on Raspberry Pi 3 Control the motor with a motor driver using python on Raspberry Pi 3! Detect slide switch using python on Raspberry Pi 3! Detect magnet switch using python on Raspberry Pi 3! Detect temperature using python on Raspberry Pi 3! Sound the buzzer using python on Raspberry Pi 3! Detect analog signals with A / D converter using python on Raspberry Pi 3! Detect "brightness" using python on Raspberry Pi 3! Detect "temperature (using A / D converter)" using python on Raspberry Pi 3! Output to "7-segment LED" using python on Raspberry Pi 3! Use python on Raspberry Pi 3 to light the LED with switch control! Use python on Raspberry Pi 3 and turn on the LED when it gets dark!

Rules focused on test-driven development

Coding rules "Let's write gentle code" (FuelPHP) Naming convention "Friendly to yourself, team-friendly, and unseen members after 3 months"

Web application development with Docker + Python

Install Python3, related libraries pip, virtualenv and frameworks Django, bottle, Flask on CentOS on Docker! With a Dockerfile that summarizes these!

Easy to develop environment construction (Docker + PHP)

PHP environment + Eclipse is linked to Apache using Docker Building FuelPHP development environment using Docker Create CRUD skeleton using initial settings of FuelPHP development environment using Docker and scaffold FuelPHP database migration

Recommended Posts

Finally ... Make a radio control using python on Raspberry Pi 3! (When the magnet is brought closer, the motor moves and stops automatically)
Finally ... Make a radio control using python on Raspberry Pi 3! (The motor moves while the magnet is brought closer)
Finally ... Make a radio control using python on Raspberry Pi 3! (The motor moves while the button is pressed)
Control the motor with a motor driver using python on Raspberry Pi 3!
Detect magnet switches using python on Raspberry Pi 3!
Sound the buzzer using python on Raspberry Pi 3!
Make a Python program a daemon and run it automatically when the OS starts
Using the 1-Wire Digital Temperature Sensor DS18B20 from Python on a Raspberry Pi
Use python on Raspberry Pi 3 and turn on the LED when it gets dark!
The temperature is automatically measured using Raspberry Pi 3 and automatically uploaded to the server (Docker python3 + bottle + MySQL) for viewing!
Install pyenv on Raspberry Pi and version control Python
A program that receives the servo command of the radio control, interrupts the Raspberry Pi and logs it
About the error I encountered when trying to use Adafruit_DHT from Python on a Raspberry Pi
Make a simple CO2 incubator using Raspberry PI and CO2 sensor (MH-Z14A)
Detect analog signals with A / D converter using python on Raspberry Pi 3!
Use python on Raspberry Pi 3 to light the LED with switch control!
"Cython" tutorial to make Python explosive: Handling when a function on the C ++ side is passed by reference.
Run servomotor on Raspberry Pi 3 using python
Detect temperature using python on Raspberry Pi 3!
[Raspberry Pi] Publish a web application on https using Apache + WSGI + Python Flask
Creating a temperature control system with Raspberry Pi and ESP32 (3) Recipient Python file
Detect slide switches using python on Raspberry Pi 3!
Try using a QR code on a Raspberry Pi
Make DHT11 available on Raspberry Pi + python (memo)
Build a Python development environment on Raspberry Pi
When a file is placed in the shared folder of Raspberry Pi, the process is executed.
Control music playback on a smartphone connected to Raspberry Pi 3 and bluetooth with AVRCP
Install PyCall on Raspberry PI and try using GPIO's library for Python from Ruby
There is a pattern that the program did not stop when using Python threading