Arduino att RPi: tre sätt att konvertera 5 volt till 3,3 volt (6 / 6 steg)
Steg 6: Arduino kod
Kopiera denna kod till Arduino IDE och ladda upp den till din Arduino.
Det blinkar tri-color LED ansluten till RaspberryPi igenom en cykel (röd, grön, blå, gul, magenta, cyan, vit) fem gånger. Därefter skickas för puls bredd modulering (PWM) signalerar att blekna LED i sedan ut, första röda och gröna, och slutligen blå, för att demonstrera att en PWM-signal kan skickas med alla tre metoder.
//****************************************************************
Filnamn: _3_Way.ino
//
Arduino programmet för att skicka signaler till programmet 3_Way.c
Kör på RaspberryPi.
//
//****************************************************************
int outpin [3] = {11,10,9}.
//****************************************************************
Setup()
//****************************************************************
void setup()
{
för (int jag = 0; jag < 3; i ++) pinMode (outpin [i], utgång);
}
//****************************************************************
funktion alloff() - ställer in alla stift låg.
//****************************************************************
void alloff()
{
Delay(500);
för (int jag = 0; jag < 3; i ++) digitalWrite (outpin [i], låg);
}
//****************************************************************
Blink() Blink röd, grön, blå, gul, magenta, cyan, vit.
//****************************************************************
void blink()
{
för (int jag = 0; jag < 3; i ++)
{
alloff();
digitalWrite (outpin [i], högt); Röd, grön, blå.
}
alloff();
digitalWrite (outpin [0], högt); Gul, röd + grön.
digitalWrite (outpin [1], högt);
alloff();
digitalWrite (outpin [0], högt); Magenta, röd + blå.
digitalWrite (outpin [2], högt);
alloff();
digitalWrite (outpin [1], högt); Cyan, grön + blå.
digitalWrite (outpin [2], högt);
alloff();
digitalWrite (outpin [0], högt); Vit, röd + grön + blå.
digitalWrite (outpin [1], högt);
digitalWrite (outpin [2], högt);
}
//****************************************************************
loop()
//****************************************************************
void loop()
{
int fördröjningstid = 20;
för (int jag = 0; jag < 5; i ++) blink();
alloff();
Delay(1000);
för (int j = 0; j < 3; j ++)
{
int x = 1;
för (int jag = 0; jag > -1; i += x)
{
analogWrite (outpin [j], i); Tona in och ut,
IF(i==255) x =-1; RGB-sekvens.
Delay(delaytime);
}
}
alloff();
Delay(1000);
}