�激���≪����篆�
Python��Arduino���f�冴�������激���≪����篆<�у�ゃ������������
Windows�医����喝�����������Mac���������<���c��亜����
Python���f�冴�������������������с����鐚�
- Arduino�ч���������若�帥���違��������������
- Arduino�������������若�帥��������Web���f�冴���������吟��������篏�
- �������������宴����緇�����Arduino����篏���紊�����
Anaconda���ゃ�潟�鴻���若��
Windows��Python��篏帥����������Anaconda���������若���х�医���罕�膀�������
https://www.javadrive.jp/python/install/index5.html
Pyserial���ゃ�潟�鴻���若��
Anaconda Prompt��������篁ヤ����������ュ��������
pip install pyserial
������Python�с�激���≪����篆<��篏帥�������������c����
�潟���潟�����ゃ�潟��UNIX������������Python��絎�茵��с������
python3
�����python
�у�茵�������
python ���<�ゃ����.py
Windows��ls
���後������潟���潟����dir
��cd
��������������篏�������
Arduino����Python���ゃ������
Arduino IDE��������篁ヤ������㏍�違������絎�茵�������
���������銀������榊�ゃ�����究�����������≪���㏍�医�ュ�����ゃ��紊���������違������
int analogInputPin = 5;
/** ����荐㊤����∽�� 筝�綺�����絎�茵������� */
void setup() {
Serial.begin(9600);
}
/** 絎��������茵��������∽�� �糸墾��delay�∽�違�ц��� */
void loop(){
int val = analogRead(analogInputPin);
Serial.println(val); // PC���������篆�
delay(200);
}
�激���≪���≪���帥��荀���������究�����������ゃ��紊����������腆肴�����
�障�����激���≪�����若����篏�������腆肴����������
閩<����Python�����<�ゃ����篏���������
����: https://haizairenmei.com/2019/11/13/pyserial-arduino/
import serial
ser = serial.Serial('COM6', 9600) # ���������若����垩��紊���
ser.readline()
while True:
val_arduino = ser.readline()
val_decoded = int(repr(val_arduino.decode())[1:-5])
print(val_decoded)
ser.close()
�������㏍�違������絎�茵���������Arduino���激���≪���≪���帥�������������医���茵�ず��������
Python����Arduino���ゃ������
int���ゃ������絖���������1罅����ら�����������с������
int led1 = 6;
int led2 = 5;
int led3 = 3;
int input = -1;
int add = 0;
int val = 0;
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop() {
input = Serial.read();
if(input!=-1){
switch(input){
case '0':
add = 0 + add*10;
break;
case '1':
add = 1 + add*10;
break;
case '2':
add = 2 + add*10;
break;
case '3':
add = 3 + add*10;
break;
case '4':
add = 4 + add*10;
break;
case '5':
add = 5 + add*10;
break;
case '6':
add = 6 + add*10;
break;
case '7':
add = 7 + add*10;
break;
case '8':
add = 8 + add*10;
break;
case '9':
add = 9 + add*10;
break;
case 'a':
val = add;
add = 0;
break;
default:
break;
}
}
// �����障�с����val����������
// val��30篁ヤ����������潟��LED��HIGH
if(val >= 30){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
// val��20-29������������筝㏍��LED��HIGH
else if(val >= 20){
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
}
// val��1-19��������綏���LED��HIGH
else if(val > 0){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
}
}
import serial
import time
ser =serial.Serial("COM3", 9600) # ���������若����垩��紊���
time.sleep(2)
val = 100 # �������ゃ��紊��眼��������Arduino��������紊����
a = str(val) + 'a'
ser.write(bytes(a,'utf-8'))
ser.close()
鏆���: API��柑��
Python�ф�莟≦��������ャ����蕭�羂�羝�����緇��������������c���合������LED��紊�������
https://news.mynavi.jp/article/zeropython-75/
������筝�������API�����c���蚊�������宴�����㏍�違�����潟�違��������綵√��с�����潟�㏍�若���с����篁�腟��帥��������
篁������莟≦���API������������JSON������綵√��уぉ羂�篋��宴�������潟�㏍�若���с������
JSON��Python�с���鴻���������������с������
�障����URL���≪���祉�鴻����筝㊧昆��荀����帥����������
���ャ����蕭�羂�羝���30綺�札筝�����20綺�札筝���������篁ュ��������c��Arduino�榊�ゃ���合������LED��紊�������
Arduino�����㏍�違�����������障��
import serial
import time
import urllib.request as req
import json
# JSON�������潟�㏍�若��
url = 'https://www.jma.go.jp/bosai/forecast/data/forecast/010000.json'
filename = 'tenki.json'
req.urlretrieve(url, filename)
with open('tenki.json', 'r', encoding="UTF-8") as f:
data = json.load(f)
nagoya_data = data[11]
nagoya_tomorrow_temps = nagoya_data["srf"]["timeSeries"][2]["areas"]["temps"]
print(nagoya_tomorrow_temps) # ���ャ�����ゅ���[��篏��羝�, ��蕭�羂�羝�]
ser =serial.Serial("COM3", 9600)
time.sleep(2)
val = nagoya_tomorrow_temps[1] # ���ャ�����ゅ�����蕭�羂�羝�
a = val + 'a'
ser.write(bytes(a,'utf-8'))
ser.close()
Python�с�����������吟��������篏����с������
�������吟��������篏�
IFTTT��篏帥�������с��LINE�������f�冴�с������
LINE, �<�若�������f��