2024年12月19日木曜日

C言語③ 構造体・プリプロセッサ・デバッグ

 構造体
オンライン開発環境【paiza.io】にサンプルプログラムを入力・実行しながら確認しました。
#include <stdio.h>

struct  member{
        char *name;
        int age;
}taro , hanako;
int main() {
        struct member jiro;//次郎追加
        taro.name = "太郎";
        taro.age = 50;
        hanako.name = "花子";
        hanako.age = 40;
        jiro.name = "次郎";
        jiro.age = 30;
        printf("名前\t年齢\n");
        printf("%s\t%d\n" , taro.name , taro.age);
        printf("%s\t%d\n" , hanako.name , hanako.age);
        printf("%s\t%d\n" , jiro.name , jiro.age);
        return 0;
}

C言語② ポインタ ・関数 ・引数と戻り値・変数・仮引数

 ポインタ
オンライン開発環境【paiza.io】にサンプルプログラムを入力・実行しながら確認しました。
#include <stdio.h>
 
int main( ) {
  int  data;
  int *po; 
  data = 3;
  printf("data(データ)  = %d\n", data);
  printf("data(アドレス)= %08X\n", &data);
  po = &data; 
  printf("po (アドレス) = %08X\n", po);
  printf("po (データ)  = %d\n", *po);  
  return 0;
}



変数 【int data;】[data]データ [&data]データのアドレス
ポインタ変数【int *po;】[*po]データ   [po]データのアドレス

C言語① 変数 ・if・ switch・ for・ while ・配列


オンライン開発環境【paiza.io】にサンプルプログラムを入力・実行しながら確認しました。

#include <stdio.h>
int main()
{
        int X=55 ;
        printf("X 10進数 = %d\n" , X);
        float P = 3.14;
        printf("P 小数点 = %f\n",P);
        char A='A';
        printf("A 10進数 = %d\n" , A);
        printf("A 16進数 = %x\n" , A);
        printf("16進演算 = %x\n",0xff + 0x1);
        return 0;
}

2024年12月1日日曜日

Visual Studio C# SdrStudy モード追加

SdrStudy モードをSSBからLSB・USB・CWL・CWUに追加しました。

動画はTS-830 第2 IF 455KHz出力をPico Stack SDR (Si5351A)のミキサに接続、Si5351A局発を 455KHz固定しTS-830側で周波数選択してSdrStudyで受信しました。









動画




Pico Stack SDR (Si5351A) 7MHz SdrStudy受信

Pico Stack SDR 【Pico Antealog Board】 に【7MHz RFアンプ】を取付けて7MHzのSSB・CWをSDR学習ソフトSdrStudyによる受信を行いました。   

●【SdrStudy】ダウンロード: 【http://www.rf-world.jp/bn/RFW22/RFW22SDR.shtml
●参考本【らくらく!SDR無線機入門】



動画


Pico Stack SDR (Si5351A) AM放送 SdrStudy受信

Pico Stack SDR (Si5351A) IQ信号をパソコンのラインに入力、SDR学習ソフトSdrStudyによるAM放送の受信を行いました。     
 
●【SdrStudy】ダウンロード:【http://www.rf-world.jp/bn/RFW22/RFW22SDR.shtml
●参考本【らくらく!SDR無線機入門】





動画


Visual Studio C# Arduino Servo

Visual Studio 2022 Community C# Windowsアプリを作成してArduinoNano Servo制御を行いました。 (SG90のSIGピンをArduinoデジタルピン5に接続してパソコンとUSB接続) 
















Visual Studio C# Arduino DHT11温度読込

Visual Studio 2022 C# Windowsアプリを作成してArduino DHT11温度読込を行いました。 (DHT11のDATAピンをArduinoデジタルピン5に接続してパソコンとUSB接続)   
 





DHT11モジュール(プルアップ抵抗付)









Visual Studio C# Arduino LED

Visual Studio 2022 Community C# Windowsアプリを作成してArduinoNano LED制御を行いました。

●同ブログ関連記事:【Visual Studio 2022 Community C#  セットアップ】 













Visual Studio 2022 Community C# セットアップ

無償Visual Studio Communityダウンロードサイト:【https://visualstudio.microsoft.com/ja/vs/community/

【ダウンロード】 



2024年11月2日土曜日

Raspberry Pi Donkey Car スマートカー

 
2020年に製作したDonkey Car スマートカー について記事にしました。
Donkey CarはRaspberry Pi のカメラからコースをディープラーニングさせ自動走行を行います。(動画は白線上を自動走行) 











動画

Raspberry Pi Donkey Car タミヤ バギー

2020年に製作したDonkey Car タミヤ バギーについて記事にしました。
Donkey CarはRaspberry Pi のカメラからコースをディープラーニングさせ自動走行を行います。(動画は白線内を自動走行)
●使い方
同ブログ関連記事【Raspberry Pi Donkey Car スマートカー】  






動画

Jetson Nano JetBot ライントレーサー

2019年に購入したJetson Nano JetBot (road_following)ライントレースについて記事にしました。
JetBotはJetson Nanoのカメラからコースをディープラーニングさせ自動走行を行います。
●同ブログ関連記事:【Jetson Nano JetBot






動画

Jetson Nano JetBot 衝突回避

2019年に購入したJetson Nano JetBot (Collision Avoidance)衝突回避ついて記事にしました。
JetBotはJetson Nanoのカメラからコースをディープラーニングさせ自動走行を行います。
●同ブログ関連記事:【Jetson Nano JetBot







動画

Jetson Nano JetBot

 
2019年に購入したJetson Nano JetBotについて記事にしました。
JetBotはJetson Nanoのカメラからコースをディープラーニングさせ自動走行を行います。









2024年10月1日火曜日

GPSロボットカー ESP8266 RemoteXY 手動・自動走行

GPSロボットカーについてRemoteXY操作とGPSによる自動走行を記事にしました。
動画はGPSによる目標ポイントを自動走行する動画です。RemoteXY画面から走行中の目標ポイント・距離・方向が表示され、手動走行操作も出来ます。
※2025年~無料RemoteXYは5変数以内に変更になり6変数以上は10秒しか使用できません。 
●GPS処理プログラムについて入江 博樹(熊本高等専門学校)2019年に公開プログラムを参考にしましたが、現在見つけることが出来ませんでした。 



動画

GPSロボットカー ESP32 自動走行

2019年に製作したESP32によるGPSロボットカー自動走行について記事にしました。
複数のウェイポイント(走行位置)をGPSデータの緯度・経度から方位、距離を計算して順番に走行します。
●GPS処理プログラムは当時、入江 博樹(熊本高等専門学校)公開プログラムを参考にしました。 



GPSロボットカー ESP8266 自動走行

2020年に製作したESP8266によるGPSロボットカー自動走行について記事にしました。
複数のウェイポイント(走行位置)をGPSデータの緯度・経度から方位、距離を計算して順番に走行します。
●GPS処理プログラムは当時、入江 博樹(熊本高等専門学校)公開プログラムを参考にしました。


GPSロボットカー Arduino Uno自動走行


2019年に製作したArduino UnoによるGPSロボットカー自動走行について記事にしました。
複数のウェイポイント(走行位置)をGPSデータの緯度・経度から方位、距離を計算して順番に走行します。
●GPS処理プログラムは当時、入江 博樹(熊本高等専門学校)公開プログラムを参考にしました。




2024年9月1日日曜日

ドローン製作⑬ ESP8266 MPU6050 VL53 フライト

総重量
MPU6050 6軸モーションセンサからMadgwickFilter・PID制御に加えてVL53レーザー測距センサモジュールによる浮上制御とジョイスティックによる左右回転・上下浮上調整を追加しました。
※2025年~無料RemoteXYは5変数以内に変更になり6変数以上は10秒しか使用できません。 

●同ブログ関連記事:【ドローン製作⑫ ESP8266 MPU6050 VL53 テスト













動画

ドローン製作⑫ ESP8266 MPU6050 VL53 テスト

総重量
MPU6050 6軸モーションセンサからMadgwickFilter・PID制御に加えてVL53レーザー測距センサモジュールによる浮上テストを行いました。距離センサ読み込みにタイムラグありドロンの浮上・降下位置がズレています。
●同ブログ関連記事:【ドローン製作⑪ ESP8266 MPU6050 VL53】 











動画(距離大)


動画(距離小)

ドローン製作⑪ ESP8266 MPU6050 VL53


MPU6050 6軸モーションセンサからMadgwickFilter・PID制御に加えてVL53レーザー測距センサモジュールを取付けテストを行いましたが、VL53の処理に45-12=33㎳かかりました。
※2025年~無料RemoteXYは5変数以内に変更になり6変数以上は10秒しか使用できません。 

2024年8月1日木曜日

ドローン製作⑩ ESP8266 MPU6050 MadgwickFilter PID フライト

MPU6050 6軸モーションセンサからMadgwickFilter・PID制御調整とスロットル操作により一瞬の浮上が出来ました。次回VL53レーザー測距センサによる浮上制御。










動画 


ドローン製作⑨ ESP8266 MPU6050 MadgwickFilter PID

 マイクロドローンにMPU6050を搭載して、Madgwickフィルタ・PID制御による浮上テストを行いました。浮上が低いと反射風により不安定です。浮上を上げすぎると固定ワイヤーが引っ張られ正確なテストができません。 




動画


ドローン製作⑧ ESP8266 MPU6050 MadgwickFilter PID シリアルプロッタ

 ESP8266だと文字表示がされない為?、Arduino Nanoを使いMadgwickFilterのPITCHを変化させて、PID制御Kp・Ki・Kdの定数を変えたArduino IDE シリアルプロッタを確認しました。



2024年7月1日月曜日

ドローン製作⑦ ESP8266 MPU6050 MadgwickFilter フライト

総重量 26.61g
ESP8266のシールド板にMPU6050を両面テープで貼付けて配線しました。
MadgwickFilterによる姿勢制御(PID制御無し)を行いましたが、RemoteXY操作からスロットルを上げ過ぎると反転、少し浮く状態では水平方向に移動します。次回、MadgwickFilterによるPID制御をテストします。 









動画

ドローン製作⑥ ESP8266 MPU6050 MadgwickFilter

マイクロドローンにMPU6050を搭載し、ESP8266開発ボードからMadgwickフィルタを使てROLL・PITCH・YAWの変化によるモーター回転テストをしました。    

動画

ドローン製作 ④ ESP8266 コントローラ フライト

RemoteXY操作を変更し、モータ4個を同時にスロットル操作して浮上を試みましたが真上に浮上しません。次回、MadgwickFilterによる姿勢制御をテストします。 
■緑スライダー
  M1~M4同時操作(スロットル)
青スライダー
■ M1.M2.M3.M4個別操作(微調整)  




動画

ドローン製作⑤ ESP8266 MPU6050 Processing

MPU6050 加速度センサー & ジャイロスコープモジュールを使って姿勢確認を行いました。下記サイトのプログラムを引用して、Processing4による姿勢グラフィックをMadgwickフィルタを使い、傾きを変化したところ自然な姿勢確認できました。


●参考サイト MadgwickフィルタのライブラリをArduinoで使う【https://qiita.com/Ninagawa123/items/9520bad3c78ee40194fc










動画

ドローン製作③ ESP8266コントローラ 組立

フレーム・プロペラ・0615 モーター (JJRC H36 Eachine E010適用)にESP8266コントローラを取付けて、浮上テストを行いましたが、どこに飛んでいくか分からない状態です。

ドローン製作② ESP8266 SI2302Aドライバ

フレーム・プロペラ・0615 モーター (JJRC H36 Eachine E010適用)をSI2302A MOSFETドライバーによるモーター回転制御をテストしました。
実験ブレッドボード

ドローン用LIPO バッテリー3.7V(250mA)をLDO電圧レギュレータ(ドロップアウト電圧:0.4V)を通してESP8266に供給するとモーター回転制御中にRemoteXYのWIFI通信が切れてしまうので、直接バッテリーをESP8266に接続してテストをしました。満充電(4.2v)はESP8266規格を超える (電源電圧 3.0-3.6V)




ドローン製作① ESP8266 2N2222ドライバ

フレーム・プロペラ・0615 モーター (JJRC H36 Eachine E010適用)を使って、初めてのドローン挑戦です。最初に、ESP8266から2N2222トランジスターによるモーター回転制御をテストしました。 

アマゾン




ESP-WROOM-02ピッチ変換済みモジュール《フル版》
ブランド: スイッチサイエンス(Switch Science)技適製品




2024年6月3日月曜日

Blynk (Legacy )ロボットアーム操作

2020年に製作したロボットアームを旧Blynkが使えるBlynk (Legacy )ローカルサーバーによるスマホアプリBlynk (Legacy )からESP8266制御ロボットアームを操作しました。  













動画

Blynk (Legacy )Raspberry Pi ロボットカー操作

Raspberry Pi ロボットカー


 Raspberry Pi ロボットカーは2018年に製作、旧Blynkアプリによる遠隔操作をしていましたが、2022年に新Blynk2に切替わり旧Blynkアプリが使用出来なくなりました。Blynk2の無料版は制限があり使い難いです。スマホアプリでRaspberry Pi を操作するアプリがBlynkしか見当たらなく残念に思っていましたが、Blynk Legacyローカルサーバーで旧Blynkを使えることを知り、Blynk Legacyローカルサーバーを構築しました。
同ブログ関連記事:【Raspberry Pi ロボットカー回路図



Blynk (Legacy ) Raspberry Pi ローカルサーバー構築

Raspberry Pi 3B+
スマホアプリBlynkでESP32・Raspberry Piを遠隔操作していましが、Blynk2になって今まで設定したアプリが使用できなくなりました。また、Blynk2無料版は大幅に制限されて今までと同様な操作ができません。旧Blynkが使えるRaspberry Pi-Blynk Legacyローカルサーバーがネットに紹介されていましたのでRaspberry Pi 3B+を使い構築しました。 

Blynk (Legacy )Raspberry Pi OSのインストール

Raspberry Pi 3B+
Raspberry Pi OSをmicroSDにインストール 




microSD
32GB(容量は任意)
パソコンにセット




2024年6月2日日曜日

2024年6月1日土曜日

obniz IoT 四足歩行ロボット

2018年に製作した四足歩行ロボットについて記事にしました。

●obniz Pinに4個のサーボモータを直接接続した四足歩行ロボットをパソコン・スマホからWiFiによる遠隔操作します。
●obniz・サーボモータ電源はモバイルバッテリー2.4Aを使用しました。









動画

obniz IoT CAR

 
2018年に製作したobniz Carについて記事にしました。
●obnizのPinにモータを直接接続することにより、パソコン・スマホからWiFiによる遠隔操作できます。
●AI Robot Kit【https://docs.obniz.com/ja/guides/ai-robot-kit/】を参考にobniz CarにAI機能を追加することができます。
●obniz・モータの共通電源はIoT機器対応 モバイルバッテリーを使用しました。



obniz IoT スマホによる温度表示・リレー制御

 
obniz を使って温度センサーSHT31の温度読込とリレー制御をスマホで行いました。

obniz IoT LED・サーボモータ・モータ制御

2018年に購入したobnizについて、購入時は無償クラウドによるIoT制御を行っていましたが途中で有償になり使用していませんでした。かなり前から無償に戻ったのを知り記事にしました。



obniz IoT PIN出力制御

obnizの出力について記事にしてみました。
出力測定のため5Vピンとグランドピンコネクタを追加しました。

ESP32S3 - SDR受信 PCM1808 > フィルタ > PCM5102 

 Tj Lab「 ESP32-S3 AF信号処理ボード 」プログラムを使用してI2SによるIIR・FIRフィルタSSB受信テストを行いました。 Si5351A 7MHz VFO→直交ミキサ→PCM1808モジュール(ADC入力)→ 復調・IIR・FIRフィルタ→PCM1808モジ...