{"id":8236,"date":"2023-02-13T12:09:00","date_gmt":"2023-02-13T11:09:00","guid":{"rendered":"https:\/\/www.fosforoscienza.it\/?p=8236"},"modified":"2023-02-27T12:24:27","modified_gmt":"2023-02-27T11:24:27","slug":"luce-e-sensori","status":"publish","type":"post","link":"https:\/\/www.fosforoscienza.it\/index.php\/2023\/02\/13\/luce-e-sensori\/","title":{"rendered":"Luce e sensori"},"content":{"rendered":"\n<p>La <strong>luce<\/strong> \u00e8 un fattore importante nella crescita delle <strong>piante<\/strong>, poich\u00e9 rappresenta una<strong> fonte di energia<\/strong> per la <strong>fotosintesi<\/strong>. La <strong>fotosintesi<\/strong> \u00e8 il processo attraverso il quale le piante producono energia dai nutrienti e dalla luce solare.<\/p>\n\n\n\n<p>Le piante hanno bisogno di un certo numero di ore di <strong>luce<\/strong> al giorno per crescere <strong>correttamente<\/strong>. In genere, le piante necessitano di almeno 8-12 ore di luce al giorno durante la fase vegetativa e di 12-16 ore di luce al giorno durante la fase di fioritura.<\/p>\n\n\n\n<p>Con una attivit\u00e0 di <strong>Tinkering<\/strong> e <strong>coding<\/strong> possiamo imparare a far <strong>crescere<\/strong> una <strong>pianta <\/strong>dentro un <strong>labirinto<\/strong> verticale e cercare di capire in ogni istante dove si trova.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"770\" height=\"513\" src=\"http:\/\/www.fosforoscienza.it\/wp-content\/uploads\/2023\/02\/sensore-ad-ultrasuoni-srf05.jpg\" alt=\"Sensore HC rs04\" class=\"wp-image-8238\" srcset=\"https:\/\/www.fosforoscienza.it\/wp-content\/uploads\/2023\/02\/sensore-ad-ultrasuoni-srf05.jpg 770w, https:\/\/www.fosforoscienza.it\/wp-content\/uploads\/2023\/02\/sensore-ad-ultrasuoni-srf05-300x200.jpg 300w, https:\/\/www.fosforoscienza.it\/wp-content\/uploads\/2023\/02\/sensore-ad-ultrasuoni-srf05-768x512.jpg 768w, https:\/\/www.fosforoscienza.it\/wp-content\/uploads\/2023\/02\/sensore-ad-ultrasuoni-srf05-391x260.jpg 391w, https:\/\/www.fosforoscienza.it\/wp-content\/uploads\/2023\/02\/sensore-ad-ultrasuoni-srf05-600x400.jpg 600w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><figcaption>Sensore HC rs04<\/figcaption><\/figure>\n\n\n\n<p>Il<strong> sensore HC-SR04<\/strong> \u00e8 un dispositivo a <strong>ultrasuoni<\/strong> che pu\u00f2 essere utilizzato con <strong>Arduino<\/strong> per misurare la distanza da un oggetto. Questo sensore funziona emettendo una serie di impulsi ad alta frequenza, che vengono poi riflessi dall&#8217;oggetto e rilevati dal sensore.<\/p>\n\n\n\n<p>Per utilizzare il sensore<strong> HC-SR04<\/strong> con <strong>Arduino<\/strong>, \u00e8 necessario collegarlo alla scheda utilizzando i pin appropriati. In particolare, il sensore richiede quattro connessioni: due per l&#8217;alimentazione e due per la trasmissione e la ricezione degli impulsi ad ultrasuoni.<\/p>\n\n\n\n<p>Una volta collegato il sensore, \u00e8 possibile programmare <strong>Arduino<\/strong> per gestire le letture della distanza. Il processo di lettura della distanza dal <strong>sensore<\/strong> <strong>HC-SR04<\/strong> \u00e8 relativamente semplice e prevede i seguenti passaggi:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Inizializzare<\/strong> il sensore e stabilire le connessioni di trasmissione e ricezione degli impulsi ad ultrasuoni.<\/li><li><strong>Generare un impulso<\/strong> di trigger che viene inviato al sensore per avviare la trasmissione degli impulsi ad ultrasuoni.<\/li><li><strong>Misurare il tempo<\/strong> impiegato dagli impulsi ad ultrasuoni per raggiungere l&#8217;oggetto e ritornare al sensore. Questo tempo pu\u00f2 essere calcolato utilizzando una funzione specifica di Arduino.<\/li><li><strong>Calcolare la distanza<\/strong> dall&#8217;oggetto in base al tempo impiegato dagli impulsi ad ultrasuoni. La formula per il calcolo della distanza \u00e8 la seguente: distanza = tempo x velocit\u00e0 del suono \/ 2, dove la velocit\u00e0 del suono \u00e8 di circa 340 m\/s.<\/li><li><strong>Ripetere il processo<\/strong> di lettura della distanza ad intervalli regolari per monitorare i cambiamenti nella posizione dell&#8217;oggetto.<\/li><\/ol>\n\n\n\n<p>Ecco un esempio di codice per <strong>Arduino<\/strong> da provare per usare il sensore:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" style=\"font-size:.875rem;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"const int triggerPin = 9;\nconst int echoPin = 10;\n\nvoid setup() {\n  Serial.begin(9600);\n  pinMode(triggerPin, OUTPUT);\n  pinMode(echoPin, INPUT);\n}\n\nvoid loop() {\n  long duration, distance;\n  digitalWrite(triggerPin, LOW);\n  delayMicroseconds(2);\n  digitalWrite(triggerPin, HIGH);\n  delayMicroseconds(10);\n  digitalWrite(triggerPin, LOW);\n  duration = pulseIn(echoPin, HIGH);\n  distance = duration * 0.034 \/ 2;\n  Serial.print(&quot;Distance: &quot;);\n  Serial.print(distance);\n  Serial.println(&quot; cm&quot;);\n  delay(500);\n}\n\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">const <\/span><span style=\"color: #88C0D0\">int<\/span><span style=\"color: #D8DEE9FF\"> triggerPin <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">9<\/span><span style=\"color: #D8DEE9\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">const <\/span><span style=\"color: #88C0D0\">int<\/span><span style=\"color: #D8DEE9FF\"> echoPin <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #D8DEE9\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">void <\/span><span style=\"color: #88C0D0\">setup<\/span><span style=\"color: #ECEFF4\">()<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  Serial<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">begin<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">9600<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">pinMode<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">triggerPin<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> OUTPUT<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">pinMode<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">echoPin<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> INPUT<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">void <\/span><span style=\"color: #88C0D0\">loop<\/span><span style=\"color: #ECEFF4\">()<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  long duration<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> distance;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">digitalWrite<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">triggerPin<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> LOW<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">delayMicroseconds<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">digitalWrite<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">triggerPin<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> HIGH<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">delayMicroseconds<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">digitalWrite<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">triggerPin<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> LOW<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  duration = <\/span><span style=\"color: #88C0D0\">pulseIn<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">echoPin<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> HIGH<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  distance = duration <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0.034<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  Serial<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Distance: <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  Serial<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">distance<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  Serial<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">println<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\"> cm<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">delay<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">500<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Il codice inizializza i pin di trigger e echo del <strong>sensore HC-SR04<\/strong> e definisce una funzione setup() che viene eseguita una volta all&#8217;avvio della scheda Arduino. La funzione loop() viene eseguita continuamente e si occupa di leggere la distanza dall&#8217;oggetto utilizzando il sensore e di visualizzarla sulla seriale.<\/p>\n\n\n\n<p>La lettura della distanza avviene nei <strong>seguenti<\/strong> <strong>passaggi<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Si imposta il pin di trigger a basso e si attendono due microsecondi.<\/li><li>Si imposta il pin di trigger ad alto per 10 microsecondi.<\/li><li>Si imposta il pin di trigger a basso.<\/li><li>Si legge la durata dell&#8217;impulso di eco utilizzando la funzione pulseIn().<\/li><li>Si calcola la distanza in centimetri utilizzando la formula menzionata nel testo precedente.<\/li><li>Si visualizza la distanza sulla seriale.<\/li><\/ol>\n\n\n\n<p>Il codice include anche un ritardo di<strong> 500 millisecondi<\/strong> alla fine del loop() per rallentare la lettura della distanza e evitare di sovraccaricare il <strong>sensore<\/strong> <strong>HC<\/strong>&#8211;<strong>SR04<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Scopri come funziona il sensore da ultrasuoni con Arduino.<\/p>\n","protected":false},"author":1,"featured_media":8243,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[42,19],"tags":[],"class_list":["post-8236","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-techgreen","category-tecnologia","category-42","category-19","description-off"],"_links":{"self":[{"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/posts\/8236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/comments?post=8236"}],"version-history":[{"count":4,"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/posts\/8236\/revisions"}],"predecessor-version":[{"id":10244,"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/posts\/8236\/revisions\/10244"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/media\/8243"}],"wp:attachment":[{"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/media?parent=8236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/categories?post=8236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fosforoscienza.it\/index.php\/wp-json\/wp\/v2\/tags?post=8236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}