フェイスマスク消毒装置— needlab
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
このプロジェクトについて
フェイスマスク消毒装置
UV-C /熱、Arduino制御、コロナウイルス用フェイスマスク消毒装置(SARS-CoV-2) <図>
これは、クリエイティブ・コモンズの「Attribution-NonCommercial-ShareAlike」CC BY-NC-SA
で共有されているオープンソースプロジェクトです。免責事項: この文書は「善きサマリア人の法則」に該当します。
元の出版物:http://www.needlab.org/face-masks-disinfection-device
<図>
はじめに
FFP1およびFFP2マスクは、エピデミック時に不可欠な保護要素です 。それらは使い捨てを目的としていますが、危機の間は再利用が避けられず、消毒メカニズムが必要です(1)。進行中のSARS-CoV-2パンデミックの間、病院、医療センター、および研究施設は、通常、紫外線殺菌照射(UVGI)および/またはある種の熱を含む、これらのマスクの消毒のさまざまなメカニズムを実装しました。それにもかかわらず、これらの方法は人口の多くの脆弱な部分に利用可能ではありません、それにもかかわらず、不足のために、これらのマスクの再利用は唯一の選択肢になりました。フェイスマスクの実行可能な消毒方法の必要性は、SARS-CoV-2が7日後でもサージカルマスクの表面で非常に安定しているという証拠によってさらに高まっています(2)。
このプロジェクトは、UVGIと乾熱を効果的に使用してSARS-CoVビリオンからフェイスマスクを消毒でき、それを必要とする人々が簡単に複製できる、低予算でポータブルなデバイスを作成することを目的としています。
消毒装置の作り方に関するDIYの指導
デバイス設定図
<図>●温度は65 +/- 5°Cの範囲に維持する必要があります
●ランプはUV-C波長を提供する必要があります。
●消毒サイクルの期間は最低30分です。 (推奨:潜在的なフェイスマスクの劣化と機能の喪失を回避するために、より安全な範囲を確保するために30分以内。)
<図>
デバイスの寸法 <図>
最初の熱テスト <図> <図> <図> <図>
暖房システムの作成
- ハンドルを取り外した直径22センチメートル(誘導対応)のフライパン。
- フライパンをアルミホイルで覆い、UV-C光を反射させます。
- ボックスの中央/デバイスの底面に20センチの穴を開けます。
- フライパンの位置を維持するには、画像に示すように4つの金属製ホルダーを使用します。
重要: フライパンは熱効率を低下させるので、箱の木に触れないようにしてください。したがって、穴の正しい直径を選択し、次の図に従って金属製ブラケットを成形する必要があります。
<図> <図> <図> <図>
トップカバーの作成 <図> <図>
UV-Cシステム <図>
このデバイスのUV-C光源には、「水族館用滅菌器」キットの11Wランプ電球を使用しました。画像に示すように、UV-C電球を取り出し、電球の両端の上部カバーに取り付けました。電球は、トップカバーに4つの穴を開け、ジップタイ/ケーブルタイとソフトパッドを使用して電球をしっかりと固定することで取り付けられます。上面は紫外線を反射するためにアルミニウムで覆われています。
他のソースからのUV-Cランプを自由に使用してください。 (このプロジェクトで使用されている)水晶管にアクセスできない場合は、ガラスが紫外線を遮断するため、代わりにガラスを使用しないでください。
このデバイスのUV-C電球ソース
!!警告:
UV-C放射は目や皮膚にとって非常に危険であることに注意する必要があります。 UV-Cライトは、デバイスの上部カバーが閉じている場合にのみオンにし、デバイスが開いている場合はオフにする必要があります。
ホラーコーダーがこの投稿のコメントに私たちに与えた非常に関連性のある推奨事項も確認してください(彼の貴重な貢献に再度感謝します): "... UVCの目に見えない危険性について押したいので、次のことを確認する必要がありますボックスは非常に軽量です。 殺菌剤チューブの可視放射線は単なる副産物であり、総排出量の3/4%にすぎないことを忘れないでください。目を信頼しないでください。排出漏れの大きなリスクがあり、知覚できません。 チューブのワット数の10倍の定格のボックス内にライトを入れて(ハイパワーLEDトーチなどを使用して)ライトタイトであることを確認する必要があります。 完全に暗い環境でボックス/エンクロージャの周囲に光漏れがないか確認してください 。 すべての穴を埋める必要があります 、ボックスの外側にUV-Cが漏れるリスクを回避するために、フォームガスケットや境界線を使用し、上記の推奨方法で確認してください。
<図> <図> > <図> >
表面をアルミホイルで覆う <図>
UV-Cチューブとワイヤーラックを取り付ける前に、画像のようにボックスの側面と上面をアルミホイルで覆います。目標は、側面でUV-C光を反射し、効果を高めることです。
ヒント: 両面テープを使用して、表面のアルミホイルを所定の位置に維持し、エッジをダクトタップすることができます。
ワイヤーラックの作成-フェイスマスクの配置
フェイスマスクはワイヤーラックの上に配置されます。 Iワイヤーラックは、各ワイヤーから30mm離れた銅の細線を使用して作成されました。ワイヤーラックは底面から120mm上にあります。ワイヤーラックは、ボックスの前面と背面に開けられた小さな穴にワイヤーを通すことによって一緒に保持されます。
<図> <図> <図>
Arduinoとセンサーのセットアップ
Arduinoの概要 <図>
部品表
- Arduino UNO Rev3
https://www.seeedstudio.com/Arduino-Uno-Rev3-p-2995.html
- グローブベースシールドV2、0
https://www.seeedstudio.com/Base-Shield-V2.html
- グローブ赤外線温度センサー
https://www.seeedstudio.com/Grove-Infrared-Temperature-Sensor-p-1058.html
- グローブライトセンサー(P)
https://www.seeedstudio.com/Grove-Light-Sensor-p-1253.html
- プッシュボタン
https://www.seeedstudio.com/12mm-Domed-Push-Button-Pack-p-1304.html
- ピエゾスピーカー
https://www.gotronic.fr/art-capsule-piezoelectrique-dp035f-3856.htm
- クワッド英数字ディスプレイ-I2Cバックパック付きの白0.54インチ桁
https://www.adafruit.com/product/2157
- ACアダプタ電源12VDC
https://www.seeedstudio.com/Wall-Adapter-Power-Supply-12VDC-1-2A-Includes-5-adapter-plugs.html
温度および光センサー: <図> <図>
関連項目: Arduino用の温度センサーのベンチマーク
Arduinoコントロール
INIT:この状態では、LEDディスプレイに温度が表示されますが、状態COUNT
でサイクルのカウントを開始するには、温度がしきい値(70°C)に達するまで待つ必要があります。COUNT:30から0まで経過した分がLEDディスプレイの温度の横に表示されます。温度が低すぎる場合、またはUVライトがオフの場合、状態はERRに変わります。
終了:これは経過時間の終了時の通常の状態です。スピーカーがアドバタイズします。ボタンを押して、もう一度INITに移動します。
ERR:これはエラー状態です。温度が低くなりすぎるか、UVライトがオフになるとアクティブになります。スピーカーが宣伝します。ボタンを押して、もう一度INITに移動します。
アラーム
アラーム状態はほとんどありません-アラームがオンの場合、スピーカーに特定のトーンシーケンスがあり、メッセージがLEDディスプレイに表示されます。
アラーム状態: 1)システムがERR状態にある場合(UVライトがオフ/失われている、または温度が低すぎる場合)2)温度が高すぎる場合( 75°Cを超える)
<図>
Arduinoのソースコード
https://pastebin.com/zgK7zfMh
含める外部ライブラリ
Adafruit_LEDBackpack.h:https://learn.adafruit.com/adafruit-led-backpack/0-54-alphanumeric-9b21a470-83ad-459c-af02-209d8d82c462
Metro.h:https://github.com/thomasfredericks/Metro-Arduino-Wiring
ユーザーマニュアル <図>
1.ボックスを誘導(または抵抗膜方式)ホブの上に置きます。
2.Arduinoの電源をオンにします。
3.ボックスを閉じて、誘導ホブの電力の70〜80%で加熱を開始します。
4.60°Cの温度に達するまで待ちます。次に、誘導ホブの変更電力を30%に減らします。
5.これで、デバイスを開き、マスクを内部に配置して、デバイスを閉じることができます。
7.ボタンを押して開始します=>残り時間が表示されます(30分)。
8.これからは、時間が00分に短縮されるのを待つだけで、スピーカーに信号が届きます。
9.新しいサイクルの初期状態で再開するには、ボタンを押すだけです。
備考: タイマーが経過時間をカウントしているとき(COUNT状態)、タイマー表示と温度表示の間の小さな点が1秒のリズムで点滅します。
温度サイクル <図> <図>
ウイルスの熱による不活化
パスツールの時代から、通常100℃以下の湿熱で微生物を駆除する能力が知られています。この装置では、代わりに乾熱を導入しました。これは、SARS-CoV感染性を効果的に排除すると報告されています。アッセイでは、56°Cで30〜90分間のウイルスのかなりの不活化、65°Cで20〜60分間のほぼ完全な不活化、および75°Cで30〜45分間の完全な不活化が示されています(7、8)。さらに、最近の研究では、SARS-CoV-2は、56°Cで30分間、または70°Cで5分間インキュベートした後、検出可能なすべての感染力を失ったことが示されました(2)。
この証拠と、フェイスマスクの機能に対するこれらの消毒方法の影響に関する追加の考慮事項(次のセクションで説明します)に従って、デバイスで使用するプロトコルの熱暴露を65に設定することにしました。 °Cで30分。
フェイスマスクの殺菌プロトコル
これまで、消毒を適用する予定のフェイスマスクとは異なるサンプルでのウイルス消毒に関する証拠を提示してきました。したがって、ここでは、使用する予定の同じタイプのマスクでのウイルス消毒の報告をいくつか示します。
フェイスマスクの消毒は、約1 J / cm2のUVGI(10)、約18 J / cm2のUVGI、または65±5°Cで3時間の湿熱を使用してインフルエンザウイルスに対して効果的であることが示されています(11) 。コロナウイルスによるマスクの消毒に関する研究はありませんが、インフルエンザウイルスもssRNAウイルスであるため、同様の効果が期待できます。
詳細:
UVGI。 UVCライトの殺菌効果フェイスマスクに対する物理的消毒の有害な効果
フェイスマスクを消毒するための推奨される方法。
使用済みマスクを消毒するプロセスの適切な手順を確立することは非常に重要です。主な質問は、個人化、消毒サイクルの数のカウント、消毒されたフェイスマスクの包装方法についてです。 NebraskaMedicineが発行したこの論文「N95FilteringFacepiece Respirator Ultraviolet Germicidal Irradiation(UVGI)Process for DecontaminationandReuse」からインスピレーションを得ることをお勧めします。
n-95-decon-process.pdf
結論
収集された証拠とデバイスの技術的詳細を考慮して、消毒プロトコルを30分のUVC照射と、65±5°Cの乾熱に設定することにしました。この時間は、デバイスが必要な温度と光強度に達するまでにかかる時間を考慮してカウントする必要があります。これらの仕様でUVCまたは熱だけで、ほぼすべてのSARS-CoV-2感染力を除去するのに十分であり、両方を同時に作用させることで、メソッドの有効性をさらに安全なレベルに高めることができます。
安全上の考慮事項
•UVC放射線は、皮膚や目に有害です。 UVC電球は、ボックスが閉じているときにのみオンにする必要があります。
•加熱後に熱くなり、皮膚を火傷する可能性のある箱の金属部分に注意してください。
免責事項
入手可能な科学的証拠に基づくと、消毒プロトコルは、ほとんどすべてのSARS-CoV感染力を排除する可能性が高く、いかなる種類の消毒も行わない場合よりもマスクの再利用が確実に安全になります。ただし、Needlabおよびこのプロジェクトに取り組んでいるメンバーは、このデバイスの使用について責任を負いません。善意で、私たちの知識と能力を最大限に活用して設計されましたが、次のことを記載する必要があります。
このデバイスによるSARS-CoV-2の不活化に関しては、適切な実験室試験はまだ行われていません。また、フェイスマスクのろ過能力に対する実際の影響を事前に自信を持って評価することもできません。デバイスとこのガイドの使用法は自由に決定できます。
次のステップ
現在、多くの改善を加えたV2に取り組んでいます:
- より多くのマスクを内部に配置するために寸法を大きくする
- 2つの可能性としてCNCフライス盤とレーザーカッターの両方のファイルを提供する
- 暖房システムには、誘導、シンプルな電気調理プレート、赤外線放射(PID温度調整を含む)の3つの選択肢があります。
- HMIに2x16LCDディスプレイを使用する
- 複数のサイクルモード:熱+ UV-C、熱のみ、UV-Cのみ
- さまざまな温度センサーを選択する可能性 https://create.arduino.cc/projecthub/user66015547/benchmarking-of-temperature-sensors-for-arduino-03b33b
赤外線 放射 および 紫外線 (UV-C) から 殺す ウイルス
<図>一方、専門の研究所の支援を受けてプロセスを検証するためのソリューションを探しています。
6月11日のUdtates:
内部に12個のFFP2 / N95マスクを備えたV2
<図> <図>OPT 1等賞を受賞し、モロッコの大学と協力してデバイスを現地生産しています
<図>更新 オン 9月 2番目: V2 プロジェクト オン ハッカデイ:
https://hackaday.io/project/172189-face-mask-disinfection-device/log/183101-version-2-face-mask-disinfection-device
チーム
Jean Noel Lefebvre、Daniel Moreno、Dr Alejandra Duque、DrFelipeGutiérrezArango、Jason Knight、Maria Isabel Velez Isaza、Sameera Chukkapalli
<図>#COVID19DetectProtect
元の出版物 :http://www.needlab.org/face-masks-disinfection-device
参考文献
疾病管理予防センター。ジョージア州アトランタ:米国保健社会福祉省C for DC and P.CDC-医療現場でのN95フィルターフェイスピース呼吸器の長期使用および限定的再利用に関する推奨ガイダンス-NIOSH職場の安全衛生トピック[インターネット]。 2019年[2020年4月2日引用]。 https://www.cdc.gov/niosh/topics/hcwcontrols/recommendedguidanceextuse.html
から入手できます。- Chin A、Chu J、Perera M、Hui K、Yen H-L、Chan M、他さまざまな環境条件でのSARS-CoV-2の安定性。 medRxiv。 2020年3月27日; 2020.03.15.20036673。
- Tseng C-C、LiC-S。紫外線殺菌照射による表面上のウイルスの不活化。 J Occup Environ Hyg [インターネット]。 2007年4月23日[2020年4月2日引用]; 4(6):400–5。利用可能な場所:http://www.tandfonline.com/doi/abs/10.1080/15459620701329012
- ハッカーファーム。 HOWTO:NUKEMETER –UV-C光強度の測定。 2020;利用可能な場所:https://hackerfarm.jp/2020/03/nukemeter/
- van Doremalen N、Bushmaker T、Morris DH、Holbrook MG、Gamble A、WilliamsonBNなど。 SARS-CoV-1と比較したSARS-CoV-2のエアロゾルと表面安定性。 N Engl J Med [インターネット]。 2020年3月17日[2020年4月2日引用]; NEJMc2004973。 http://www.ncbi.nlm.nih.gov/pubmed/32182409 から入手できます。
- 刈羽H、藤井N、高島I.ポビドンヨード、物理的条件、および化学試薬によるSARSコロナウイルスの不活化。巻52、日本J.獣医解像度2004年。
- Duan SM、Zhao XS、Wen RF、Huang JJ、Pi GH、ZhangSXなど。ヒト検体および環境におけるSARSコロナウイルスの安定性と加熱およびUV照射に対するその感受性。 Biomed EnvironSci。 2003年9月1日; 16(3):246–55。
- Darnell MER、Subbarao K、Feinstone SM、TaylorDR。重度の急性呼吸器症候群、SARS-CoVを誘発するコロナウイルスの不活化。 JVirolメソッド。 2004年10月1日; 121(1):85–91。
- Ansaldi F、Durando P、Sticchi L、Gasparini R. SARS-CoV、インフルエンザA、および一般的な消毒剤と紫外線照射に対する同期呼吸器ウイルス耐性産業衛生ワーキンググループ(SItI)プロジェクトを表示産業医学のビッグデータプロジェクトを表示[インターネット]。ジャーナルの記事。 2004年[2020年4月2日引用]。 https://www.researchgate.net/publication/267219876 から入手できます。
- Mills D、Harnish DA、Lawrence C、Sandoval-Powers M、HeimbuchBK。インフルエンザで汚染されたN95フィルターフェイスピース呼吸器の紫外線殺菌照射。 J感染制御です。 2018年7月1日; 46(7):e49–55。
- Lore MB、Heimbuch BK、Brown TL、Wander JD、HinrichsSH。フェイスピース呼吸器のろ過に適用されたインフルエンザウイルスに対する3つの除染処理の有効性。 Ann Occup Hyg [インターネット]。 2012年[2020年4月2日引用]; 56(1):92–101。 https://academic.oup.com/annweh/article-abstract/56/1/92/166111 から入手できます。
- Lindsley WG、Martin SB、Thewlis RE、Sarkisian K、Nwoko JO、MeadKRなど。 N95呼吸器のろ過性能と構造的完全性に対する紫外線殺菌照射(UVGI)の影響。 J Occup Environ Hyg [インターネット]。 2015年8月3日[2020年4月2日引用]; 12(8):509–17。利用可能な場所:http://www.tandfonline.com/doi/full/10.1080/15459624.2015.1018518
- Viscusi DJ、Bergman MS、Eimer BC、ShafferRE。フェースピース呼吸器をろ過するための5つの除染方法の評価。 Ann Occup Hyg [インターネット]。 2009年[2020年4月2日引用]; 53(8):815–27。 https://academic.oup.com/annweh/article-abstract/53/8/815/154763 から入手できます。
- Bergman MS、Viscusi DJ、Heimbuch BK、Wander JD、Sambol AR、ShafferRE。フェースピース呼吸器をろ過するための複数(3サイクル)除染処理の評価。 J Eng Fiber Fabr [インターネット]。 2010年12月15日[2020年4月2日引用]; 5(4):155892501000500。利用可能な場所:http://journals.sagepub.com/doi/10.1177/155892501000500405
- Kampf G、Todt D、Pfaender S、SteinmannE。無生物表面でのコロナウイルスの持続性と殺生物剤によるそれらの不活化。巻104、Journal of HospitalInfection。 W.B. Saunders Ltd; 2020年。p。 246–51。
コード
- TheBox V1
TheBox V1 C / C ++
/ * *作成者:Jean Noel Lefebvre-www.ootsidebox.fr- 2020年3月31日** * /// https://learn.adafruit.com/adafruit-led-backpack/0-54-alphanumeric-9b21a470 -83ad-459c-af02-209d8d82c462 // http://wiki.seeedstudio.com/Grove-Infrared_Temperature_Sensor///http://wiki.seeedstudio.com/Grove-Light_Sensor /// https://github.com/ thomasfredericks / Metro-Arduino-Wiring#include#include "Adafruit_LEDBackpack.h" #include #include //メトロライブラリを含める#defineLIGHT_SENSOR A2#define SUR_TEMP_PIN A0 //アナログ入力ピンを温度センサーに接続SURピン#defineOBJ_TEMP_PIN A1 //アナログ入力ピンを温度センサーに接続OBJピン#defineBUZZER 3#define BP 2#define SEUIL_TEMP 59#define HIGH_TEMP 75#define SEUIL_LIGHT 60#define TIMER 30 // #define TESTfloat temp_calibration =0; //このパラメータは温度のキャリブレーションに使用されました// floatobjt_calibration =0.000; //このパラメータは、オブジェクトの温度を調整するために使用されました。floattemperature_range=10; //センサーのデータシートに従って温度-電圧のマップを作成します。 10は、センサーと//オブジェクトの距離が9CMの場合の温度ステップです。floatoffset_vol=0.014; //このパラメータは中間レベルの電圧を設定するために使用されました。10分後にセンサーを通常の環境に置くと、//センサー出力は0になります。たとえば、周囲温度は29℃ですが、結果はセンサーを介して27℃になります。 、//センサーの変更に応じて、reerenceを0.520以上に設定する必要があります。 //単位はVfloattempValue =0; float objtValue =0; float current_temp =0; float temp =0; float temp1 =0; float temp2 =0; unsigned int temp3 =0; const float reference_vol =0.500; unsigned char clear_num =0; // lcdを使用してfloatR =0; floatを表示する場合電圧=0; longres [100] ={318300,302903,288329,274533,261471,249100,237381,226276,215750,205768、196300,187316,178788,170691,163002,155700,148766,142183,135936,130012 、124400、119038、113928、109059、104420、100000、95788、91775、87950、84305、80830、77517、74357、71342、68466、65720、63098、60595、58202、55916、53730、51645、49652、47746、45924 、44180,42511,40912,39380,37910、36500,35155,33866,32631,31446,30311,29222,28177,27175,26213、25290,24403,23554,22738,21955,21202,20479,19783,19115,18472 、17260、16688、16138、15608、15098、14608、14135、13680、13242、12819、12412、12020、11642、11278、10926、10587、10260、9945、9641,9347、9063、8789、8525、8270、8023 、7785,7555,7333,7118,6911}; float obj [13] [12] ={/ * 0 * / {0、-0.274、-0.58、-0.922、-1.301、-1.721、-2.183、-2.691、-3.247、-3.854、-4.516、-5.236 }、/// * 1 * / {0.271,0、-0.303、-0.642、-1.018、-1.434、-1.894、-2.398、-2.951、-3.556、-4.215、-4.931}、//→周囲温度、from -10,0,10、... 100 / * 2 * / {0.567,0.3,0、-0.335、-0.708、-1.121、-1.577、-2.078、-2.628、-3.229、-3.884、- 4.597}、//↓オブジェクト温度、-10,0,10、... 110 / * 3 * / {0.891,0.628,0.331,0、-0.369、-0.778、-1.23、-1.728、-2.274、 -2.871、-3.523、-4.232}、/ * 4 * / {1.244,0.985,0.692,0.365,0、-0.405、-0.853、-1.347、-1.889、-2.482、-3.13、-3.835}、/ * 5 * / {1.628,1.372,1.084,0.761,0.401,0、-0.444、-0.933、-1.47、-2.059、-2.702、-3.403}、/ * 6 * / {2.043,1.792,1.509,1.191,0.835 、0.439,0、-0.484、-1.017、-1.601、-2.24、-2.936}、/ * 7 * / {2.491,2.246,1.968,1.655,1.304,0.913,0.479,0、-0.528、-1.107、- 1.74、-2.431}、/ * 8 * / {2.975,2.735,2.462,2.155,1.809,1.424,0.996,0.522,0、-0.573、-1.201、-1.887}、/ * 9 * / {3.495,3 .261,2.994,2.692,2.353,1.974,1.552,1.084,0.568,0、-0.622、-1.301}、/ * 10 * / {4.053,3.825,3.565,3.27,2.937,2.564,2.148,1.687,1.177、 0.616,0、-0.673}、/ * 11 * / {4.651、4.43,4.177,3.888,3.562,3.196,2.787,2.332,1.829,1.275,0.666,0}、/ * 12 * / {5.29,5.076,4.83 、4.549,4.231,3.872,3.47,3.023,2.527,1.98,1.379,0.72}}; int Light; float Heat; int Timer =0; int Minute =59; Adafruit_AlphaNum4 alpha4 =Adafruit_AlphaNum4(); Metro ledMetro =Metro(1000 ); enum States {INIT、COUNT、END、ERR}; int Automate =INIT; bool TemperatureOK =false; bool LightOK =false; // ********************* ************************************************** *********** void setup(){pinMode(BP、INPUT_PULLUP); Serial.begin(9600); analogReference(INTERNAL); //参照電圧を1.1Vに設定すると、識別性は最大1mVになります。 alpha4.begin(0x70); //アドレスalpha4.clear();を渡しますalpha4.writeDisplay(); PrintLed(alpha4,"TboX"); tone(3, 3000, 500); delay(1000); Automate=INIT;}void loop() { static int Point=1; float T1=measureSurTemp();//measure the Surrounding temperature around the sensor float T2=measureObjectTemp(); Heat=T1+0; if ((ledMetro.check() ==1) ) {#ifndef TEST if (Automate==COUNT)#endif { if(Point) Point=0; else Point=1; Minute--; if(Minute==0) { Minute=59; if(Timer) Timer--; PrintSensors(); } } if(Automate==END) tone(3, 3000, 100); if(Automate==ERR) tone(3, 300, 200); } #ifdef TEST TemperatureOK=true;#else if (Heat>=SEUIL_TEMP) TemperatureOK=true; else TemperatureOK=false; #endif Light=analogRead(LIGHT_SENSOR)/10; if(Light>=SEUIL_LIGHT) LightOK=true; else LightOK=false; if(Heat>=HIGH_TEMP) { tone(3, 300, 200); delay(500); } switch(Automate) { case INIT:Timer=0; if((!digitalRead(BP)) &&TemperatureOK) { Automate=COUNT; Timer=TIMER; tone(3, 3000, 500); } if((!digitalRead(BP)) &&!TemperatureOK) { PrintLed(alpha4,"lowT"); tone(3, 300, 200); } else PrintLedVal(alpha4,Timer,(int)Heat,Point); //Serial.println("INIT");壊す; case COUNT:if(Timer==0) Automate=END; if(!LightOK || !TemperatureOK) Automate=ERR; PrintLedVal(alpha4,Timer,(int)Heat,Point); //Serial.println("COUNT");壊す; case END:if(!digitalRead(BP)) Automate=INIT; PrintLed(alpha4,"END."); //Serial.println("END");壊す; case ERR:if(!digitalRead(BP)) Automate=INIT; PrintLed(alpha4,"Err."); //Serial.println("ERR");壊す; }}void PrintSensors(){ Serial.print(Timer); Serial.print( "、"); Serial.print((int)Heat); Serial.print( "、"); Serial.print(100); Serial.println();}//*************************************************************float binSearch(long x)// this function used for measure the surrounding temperature{ int low,mid,high; low=0; //mid=0; high=100; while (low<=high) { mid=(low+high)/2; if(x res[mid]) high=mid-1; } return mid;}//************************************************************float arraysearch(float x,float y)//x is the surrounding temperature,y is the object temperature{ int i=0; float tem_coefficient=100;//Magnification of 100 times i=(x/10)+1;//Ambient temperature voltage=(float)y/tem_coefficient;//the original voltage //Serial.print("sensor voltage:\t"); //Serial.print(voltage,5); //Serial.print("V"); for(temp3=0;temp3<13;temp3++) { if((voltage>obj[temp3][i])&&(voltage Github
https://github.com/thomasfredericks/Metro-Arduino-Wiringhttps://github.com/thomasfredericks/Metro-Arduino-Wiring
回路図
製造プロセス