前提・実現したいこと
RaspberryPiからArduinoにシリアル通信でデータを送りたいです。
その過程でBluetoothを無効化せずにシリアル通信をしたいです。
発生している問題・エラーメッセージ
Arduinoへデータが来てない(つまり、シリアル通信ができてない)様子です。 下のコードでいうならLEDが光らないという状態です。
該当のソースコード
RaspberryPi側
python
1# coding: utf-8 2 3import serial 4import time 5 6ser = serial.Serial('/dev/ttyS0', 115200) 7time.sleep(2) #Arduinoのブート待ち 8print ser.portstr 9while 1: 10 ser.write('a') 11ser.close() 12
Arduino側
Arduino
1#define LED_PIN (3) 2byte val; 3 4void setup(){ 5 Serial.begin(115200); 6 pinMode(LED_PIN, OUTPUT); 7 pinMode(8,OUTPUT); 8 pinMode(9,INPUT); 9 digitalWrite(LED_PIN, LOW); 10 digitalWrite(8,HIGH); 11 //Serial.write(val); 12} 13 14void loop(){ 15 if(Serial.available() > 0){ 16 val = Serial.read(); 17 //Serial.write(val); 18 if(val == 'a'){ 19 if(digitalRead(9)==LOW){ 20 digitalWrite(LED_PIN, HIGH); 21 }else{ 22 digitalWrite(LED_PIN, LOW); 23 } 24 }else{ 25 digitalWrite(LED_PIN, LOW); 26 } 27 } 28}
試したこと
sudo raspi-configにてシリアル通信の設定
/boot/config.txtに「enable_uart=1」と「core_freq=250」と「dtoverlay=pi3-miniuart-bt」を書き込む
ボーレートを115200だけでなく9600なども試す
補足情報
RaspberryPiにはUSB to microUSBのケーブルを差し、USBシリアル変換モジュール(http://akizukidenshi.com/catalog/g/gM-08461/)を介してジャンパー線でArduinoのVin,GND,RXに接続してます
Arduino側からRaspberryPiへはデータを送信しないです
ArduinoとRaspberryPi間でシリアル通信ができたら、後々はRX232Cとシリアル通信をするつもりなので、USB to Type-Bのケーブルを使わない方法を教えていただきたいです
(USB to Type-Bのケーブルを使用したところ、シリアル通信はできました)
PythonもArduino言語もまだまだでプログラマーとして知識も浅く、至らない点も多くありますが、何卒よろしくお願いします
〇〇のファイルを見せてほしい、等ありましたら仰って下さい
また、「このやり方の方がやりやすい/わかりやすいよ」というのがありましたら教えていただきたいです
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/02 08:49
2018/10/02 08:52