Handledning: Kommunikation mellan en RaspberryPi och en Attiny85 (2 / 3 steg)
Steg 2: Koden
Detta är koden för RaspberryPi:
/****************************************************************
* Filnamn: Attiny_RPi.c (Program för RaspberryPi)
*
* En signal GPIO i båda riktningarna från en RaspberryPi
* från en Attiny85 mikrokontroller.
*
* När du trycker på knappen växeln bifogas Attiny85
* den lyser lysdioden kopplad till RaspberryPi och vice versa.
*
****************************************************************/
#include < wiringPi.h >
void setup()
{
wiringPiSetup();
pinMode (2, ingång); Växla med pull-down motståndet.
pinMode (1, ingång); Ta emot signal från Attiny, pull-down motstånd.
pinMode (14, OUTPUT); Signal till Attiny när knappen är nedtryckt.
pinMode (11, OUTPUT); Lyser LED när knappen är nedtryckt på Attiny.
}
void loop()
{
digitalWrite (14, digitalRead(2)); Signal till Attiny om du trycker på knappen.
digitalWrite (11, digitalRead(1)); Light LED om signal fått från Attiny.
}
int main)
{
Setup();
for(;;)
{
loop();
}
Return(0);
}
Och detta är koden för Attiny85:
/****************************************************************
* Filnamn: Attiny_RPi.ino (Program för Attiny85)
*
* En signal GPIO i båda riktningarna från en RaspberryPi
* från en Attiny85 mikrokontroller.
*
* När du trycker på knappen växeln bifogas Attiny85
* den lyser lysdioden kopplad till RaspberryPi och vice versa.
*
* Attiny drivs av 3,3 volt från RaspberryP.
*
****************************************************************/
void setup()
{
pinMode (0, ingång); Växla med pull-down reristor.
pinMode (4, ingång); Ta emot signal från RPi, pull-down motstånd.
pinMode (1, OUTPUT); Signal till RPi när knappen är nedtryckt.
pinMode (3, OUTPUT); Lyser LED när knappen är nedtryckt på RPi.
}
void loop()
{
digitalWrite (1, digitalRead(0)); Signal till RPi om du trycker på knappen.
digitalWrite (3, digitalRead(4)); Light LED om signal fått från RPi.
}