質問編集履歴

2 説明文の追加

huroku

huroku score 10

2018/09/28 18:57  投稿

RaspberryPiでBluetoothを生かしつつシリアル通信がしたい
### 前提・実現したいこと
RaspberryPiからArduinoにシリアル通信でデータを送りたいです。
その過程でBluetoothを無効化せずにシリアル通信をしたいです。
### 発生している問題・エラーメッセージ
```
Arduinoへデータが来てない(つまり、シリアル通信ができてない)様子です。
下のコードでいうならLEDが光らないという状態です。
```
### 該当のソースコード
RaspberryPi側
```python
# coding: utf-8
import serial
import time
ser = serial.Serial('/dev/ttyS0', 115200)
time.sleep(2) #Arduinoのブート待ち
print ser.portstr
while 1:
    ser.write('a')
ser.close()
```
Arduino側
```Arduino
#define LED_PIN (3)
byte val;
void setup(){
 Serial.begin(115200);
 pinMode(LED_PIN, OUTPUT);
 pinMode(8,OUTPUT);
 pinMode(9,INPUT);
 digitalWrite(LED_PIN, LOW);
 digitalWrite(8,HIGH);
 //Serial.write(val);
}
void loop(){
 if(Serial.available() > 0){
   val = Serial.read();
   //Serial.write(val);
   if(val == 'a'){
     if(digitalRead(9)==LOW){
       digitalWrite(LED_PIN, HIGH);
     }else{
       digitalWrite(LED_PIN, LOW);
     }
   }else{
     digitalWrite(LED_PIN, LOW);
   }
 }
}
```
### 試したこと
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とシリアル通信をするつもりです
ArduinoとRaspberryPi間でシリアル通信ができたら、後々はRX232Cとシリアル通信をするつもりなので、USB to Type-Bのケーブルを使わない方法を教えていただきたいです
(USB to Type-Bのケーブルを使用したところ、シリアル通信はできました)
PythonもArduino言語もまだまだでプログラマーとして知識も浅く、至らない点も多くありますが、何卒よろしくお願いします
〇〇のファイルを見せてほしい、等ありましたら仰って下さい
また、「このやり方の方がやりやすい/わかりやすいよ」というのがありましたら教えていただきたいです
  • Python

    16086 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Raspberry Pi

    1328 questions

    Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

  • Arduino

    828 questions

    Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

1 可視性の向上の為の文章変更

huroku

huroku score 10

2018/09/28 18:53  投稿

RaspberryPiでBluetoothを生かしつつシリアル通信がしたい
### 前提・実現したいこと
その過程でBluetoothを無効化せずにシリアル通信をしたいです。
### 発生している問題・エラーメッセージ
```
Arduinoへデータが来てない(つまり、シリアル通信ができてない)様子です。
下のコードでいうならLEDが光らないという状態です。
```
### 該当のソースコード
RaspberryPi側
```python
# coding: utf-8
import serial
import time
ser = serial.Serial('/dev/ttyS0', 115200)
time.sleep(2) #Arduinoのブート待ち
print ser.portstr
while 1:
    ser.write('a')
ser.close()
```
Arduino側
```Arduino
#define LED_PIN (3)
byte val;
void setup(){
 Serial.begin(115200);
 pinMode(LED_PIN, OUTPUT);
 pinMode(8,OUTPUT);
 pinMode(9,INPUT);
 digitalWrite(LED_PIN, LOW);
 digitalWrite(8,HIGH);
 //Serial.write(val);
}
void loop(){
 if(Serial.available() > 0){
   val = Serial.read();
   //Serial.write(val);
   if(val == 'a'){
     if(digitalRead(9)==LOW){
       digitalWrite(LED_PIN, HIGH);
     }else{
       digitalWrite(LED_PIN, LOW);
     }
   }else{
     digitalWrite(LED_PIN, LOW);
   }
 }
}
```
### 試したこと
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とシリアル通信をするつもりです
PythonもArduino言語もまだまだでプログラマーとして知識も浅く、至らない点も多くありますが、何卒よろしくお願いします
〇〇のファイルを見せてほしい、等ありましたら仰って下さい
また、「このやり方の方がやりやすい/わかりやすいよ」というのがありましたら教えていただきたいです
  • Python

    16086 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Raspberry Pi

    1328 questions

    Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

  • Arduino

    828 questions

    Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る