seriële communicatie

knutselen met drone2...


Bedoeling is een seriële verbinding te maken tussen een Uno en een Nano. De Nano verwerkt de temperatuurdata van een DHT22-sensor en zendt die via de TX,RX-lijn door naar de Uno die deze temperatuur via I2C op een display zet.

In bovenstaande schema kan men eigelijk de verbinding Uno-TX naar Nano-RX weglaten. Bij dit project worden toch geen gegevens verzonden in deze richting.


Echter kan de Nano wel gevoed worden via deze lijn! In praktijk vastgesteld dat de Nano perfect werkt zonder voeding op voorwaarde dat de Uno-TX Nano-RX verbinding aanwezig is.

#include "DHT.h"

#define DHTPIN 2     

#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);



void setup()

    {

      Serial.begin(9600);

      dht.begin();

    }

   

void loop() {

                delay(1000);

                float t = dht.readTemperature();


                if (isnan(t)) {

                               Serial.println("Failed to read from DHT sensor!");

                               return;

                              }

               int value=t;

           

               Serial.write(value);

             }

programma Nano

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20,16,2);

int getal;

void setup() {

  Serial.begin(9600);

   lcd.init();

  lcd.backlight();

 

}


void loop() {


  if (Serial.available()) {

                            delay(100);

                            getal = Serial.read();

                           }

    if (getal < 10)           // bij getallen kleiner dan 10   moet de 0 gewist worden die

    {

      lcd.setCursor(1,0);    // op positie 1 blijft staan

      lcd.print(" ");

    }

    lcd.setCursor(0,0);

    lcd.print(getal);

                }