社会的距離のリマインダー–コロナウイルス
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
なに?
当然のことながら、コロナウイルスの蔓延を遅らせるための最も信頼できるアプローチは、他の人から遠ざけることです。治療よりも予防が大切です。ただし、30秒ごとに向きを変えて、誰かがあなたに近づいているかどうかを確認するのはイライラします。他の人にあなたから遠ざけるように警告することができる装置があれば、それは役に立ちます。それがプロジェクトの背後にある目的です。あなたから2メートルの距離を維持するように他の人に警告することです。サーミスタは距離測定の精度を高めるために使用されるだけでなく(音速は温度によって変化します)、ボタンまたはタッチセンサーを使用して切り替えることにより、2-in-1です。モード– 2つのモードがあります。誰かがあなたに近づいた場合に警告する(モード1)と、温度と距離を測定する(モード2)です。測定モードでは、LCDに温度と距離が表示されます。
どのように機能しますか?
- Arduinoは温度を測定します。
- 温度は、距離をより正確に計算するために使用されます。
Arduinoがモード1の場合:
- 距離が2mから1mの場合、LCDバックライトが点灯し、LCDに「近づかないでください」と人の距離が表示されます。
- 距離が1m〜50cmの場合、LCDのバックライトが点滅し、LCDに「遠ざける」と表示されます
- 距離が50cm未満の場合、バックライトは1秒間に2回オフとオンになり、LCDには「STAYAWAY!」と表示されます。
Arduinoがモード2の場合、LCDには画面の上部に距離が表示され、下部に温度が表示されます。
雨から部品を守るために、雨天時に押し上げることができるペットボトルの半分を取り付けました。
(2本の紐を使って)取り付けたり、リュックサックの底から簡単に取り外したりできます。
<図> <図> <図> <図> <図> <図>タッチセンサーは、モードを切り替えるために使用されます。
<図>
どうすれば構築できますか?
以下の回路図に従ってコンポーネントを接続します。
それが完了したら、「コード」という名前のセクションの下にライブラリをインポートします。これは、(Arduino IDEを開いていると仮定して)「スケッチ」—>「ライブラリを含める」—>「。ZIPライブラリを追加」に移動することで実行できます。 .. 'そしてライブラリ(.zipファイルである必要があります)を選択します。コードが機能するには、両方のライブラリが必要です。
<図> <図>それがすべて完了したら、以下のコードをアップロードできます。
コード
- コード
コード Arduino
Arduinoにアップロードします。#include#include #define trigPin 7#define echoPin 6#define buzzer 9#define backlight 10LiquidCrystal lcd(12、11、5、4、3 、8); UltraSonicDistanceSensor distanceSensor(trigPin、echoPin); int tempReading; double tempK; float tempC; int rounded; int temp_round; volatile boolean mode =0; double distance; void setup(){lcd.begin(16、2); attachInterrupt(0、changeMode、FALLING); pinMode(2、INPUT); pinMode(ブザー、出力); pinMode(バックライト、出力); digitalWrite(バックライト、HIGH); backlightOn();} void loop(){tempReading =analogRead(A0); tempK =log(10000.0 *((1024.0 / tempReading-1))); tempK =1 /(0.001129148 +(0.000234125 +(0.0000000876741 * tempK * tempK))* tempK); tempC =tempK-273.15;距離=distanceSensor.measureDistanceCm(tempC); temp_round =round(tempC); if(modes ==1){backbackOn(); if(distance> =300 || distance <=0){rounded =0; lcd.clear(); lcd.print( "範囲外"); lcd.setCursor(0、1); lcd.print( "Temperature:" + String(temp_round)+ "C"); } else {rounded =round(distance); lcd.clear(); lcd.print( "距離:"); lcd.print(丸め); lcd.print( "cm"); lcd.setCursor(0、1); lcd.print( "Temperature:" + String(temp_round)+ "C"); }} else {if(distance> =300 || distance <=0){rounded =0; lcd.clear(); backbackOff(); } else {rounded =round(distance); if(distance> =200){backbackOff(); lcd.clear(); } else if(distance <=200 &&distance> 100){backbackOn(); lcd.clear(); lcd.print( "遠ざけてください"); lcd.setCursor(0、1); lcd.print( "距離:"); lcd.print(丸め); lcd.print( "cm"); } else if(distance <=100 &&distance> 50){backbackOn(); lcd.clear(); lcd.print( "遠ざける"); lcd.setCursor(0、1); lcd.print( "距離:"); lcd.print(丸め); lcd.print( "cm"); delay(200);バズ(); backbackOff(); delay(100); unbuzz(); backbackOn(); delay(100); } else if(distance <=50){backbackOn(); lcd.clear(); lcd.print( "STAY AWAY!"); lcd.setCursor(0、1); lcd.print( "距離:"); lcd.print(丸め); lcd.print( "cm"); delay(200);バズ(); backbackOff(); delay(200); unbuzz(); backbackOn(); delay(200);バズ(); backbackOff(); delay(200); unbuzz(); backbackOn(); }}} delay(700);} void changeMode(){modes =!modes;} void backlightOn(){digitalWrite(backlight、HIGH);} void backlightOff(){digitalWrite(backlight、LOW);} void buzz() {digitalWrite(buzzer、HIGH);} void unbuzz(){digitalWrite(buzzer、LOW);}
arduino-lib-hc-sr04-master.zip
https://github.com/Martinsos/arduino-lib-hc-sr04LiquidCrystal.zip
https://github.com/arduino-libraries/LiquidCrystal 回路図
coronavirus_distancing_WQxTcxgmYm.fzz 製造プロセス