Raspberry Pi3 with Python

peli

Assalamau’alaikum warohmatullohi wabarokatuh,
kembali lagi dengan saya, kali ini saya akan memberikan salah satu tutorial tentang raspberry pi dengan bahasa pemograman python, namun kali ini saya akan di bantu oleh mahasiswa pelita bangsa anak semester I dari kelas TI.17.B3, TI.17.F1 & TI.17.C1 yang cantik-cantik dan ganteng-ganteng serta cerdas, ok sebelum saya membahas tutorial kali ini, seperti biasa saya akan mengucapkan terimakasih terlebih dahulu kepada dosen pelita bangsa yang telah mempercayai untuk memberi kesempatan kepada saya untuk mengisi mata kuliah bahasa pemograman I menggunakan python, dosen tersebut ialah Bpk. Turmudzi dan Bpk. Agung Nugroho selaku dosen mata kuliah bahasa pemograman.

Ok langsung saja kita menuju  tutorialnya, berikut saya sedikit memberi gambaran project apa saja yang akan di bahas disini

  • Turn on Led
  • Blink Led
  • Traffic Led
  • Flip-flop Led
  • Create a led control using a statement
  • Control led and send email

ok lansung kita akan bahas project pertama yaitu turn on led berikut adalah sorce codenya

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(4,GPIO.OUT)


GPIO.output(4,GPIO.HIGH)
time.sleep(2)
GPIO.output(4,GPIO.LOW)
GPIO.cleanup()

video berikut adalah penjelasan dari sorce codenya yang akan di jelaskan oleh adik-adik mahasiswa pelita bangsa yang keren-keren

project kedua adalah project Blink berikut sorce codenya

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(4,GPIO.OUT)

for i in range(3):
    GPIO.output(4, GPIO.HIGH)
    time.sleep(0.5)
    GPIO.output(4, GPIO.LOW)
    time.sleep(0.5)
GPIO.cleanup()

project ketiga adalah membuat led traffic berikut sorce codenya

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

pinList =[4,17,27]

SleepTime = 1

for i in pinList:
    GPIO.setup(i, GPIO.OUT)

for i in pinList:
    GPIO.output(i, GPIO.HIGH)
    time.sleep(SleepTime)
    GPIO.output(i, GPIO.LOW)
    time.sleep(SleepTime)

GPIO.cleanup()

project ke 4 adalah membuat flip-flop led berikut sorce codenya

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

pinList =[4,17,27]

SleepTime = 0.2

for i in pinList:
    GPIO.setup(i, GPIO.OUT)

try:
    while True:
        for i in pinList:
            GPIO.output(i, GPIO.HIGH)
            time.sleep(SleepTime)
            GPIO.output(i, GPIO.LOW)
            time.sleep(SleepTime)
except KeyboardInterrupt:
    pass

GPIO.cleanup()

project  yang kelima yaitu Create a led control using a statement berikut sorce codenya

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(4,GPIO.OUT)
GPIO.setup(17,GPIO.OUT)
GPIO.setup(27,GPIO.OUT)

jawab = "y"

while (jawab == 'y'):
    perintah = input('masukan perintah : ')
    if perintah == 'ON led1':
        GPIO.output(4,GPIO.HIGH)
        status = 'led 1 menyala'
    elif perintah == 'OFF led1':
        GPIO.output(4,GPIO.LOW)
        status = 'led 1 padam'
    elif perintah == 'ON led2':
        GPIO.output(17,GPIO.HIGH)
        status = 'led 2 menyala'
    elif perintah == 'OFF led2':
        GPIO.output(17,GPIO.LOW)
        status = 'led 2 padam'
    elif perintah == 'ON led3':
        GPIO.output(27,GPIO.HIGH)
        status = 'led 3 menyala'
    elif perintah == 'OFF led3':
        GPIO.output(27,GPIO.LOW)
        status = 'led 3 padam'
    elif perintah == 'ON semua':
        GPIO.output(4,GPIO.HIGH)
        GPIO.output(17,GPIO.HIGH)
        GPIO.output(27,GPIO.HIGH)
        status = 'semua led menyala'
    elif perintah == 'OFF semua':
        GPIO.output(4,GPIO.LOW)
        GPIO.output(17,GPIO.LOW)
        GPIO.output(27,GPIO.LOW)
        status = 'semua led padam'
    else :
        status = 'no perintah'
    print ('status : ' + status)
    jawab = input("tambah perintah ?")
print ('terimakasih')

berikut penjelasan dari sorce codenya oleh adik-adik mahasiswa pelita bangsa yang ada dalam video ini,

dan ini adalah project ke enam atau project terakhir yaitu Control led and send email

import RPi.GPIO as GPIO
import time, math
import smtplib, time

SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(4,GPIO.OUT)
GPIO.setup(17,GPIO.OUT)
GPIO.setup(27,GPIO.OUT)

jawab = "y"

def send_email(username, password, recipient, subject, text):
    print(username, password, recipient, subject, text)
    smtpserver = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
    smtpserver.ehlo()
    smtpserver.starttls()
    smtpserver.ehlo
    smtpserver.login(username, password)
    header = 'To:' + recipient + '\n' + 'From: ' + username
    header = header + '\n' + 'Subject:' + subject + '\n'
    msg = header + '\n' + text + ' \n\n'
    smtpserver.sendmail(username, recipient, msg)
    smtpserver.close()

username = "your_email@gmail.com"
password = "your_password(123456)"
recipient = "to_email@gmail.com"
subject = "project sas email"
message_a = "light 1 ON "
message_b = "light 1 OFF"
message_c = "light 2 ON "
message_d = "light 2 OFF "
message_e = "light 3 ON "
message_f = "light 3 OFF "
message_g = "lights ON all "
message_h = "lights OFF all "



while (jawab == 'y'):
    perintah = input('masukan perintah : ')
    if perintah == 'ON led1':
        GPIO.output(4,GPIO.HIGH)
        send_email(username, password, recipient, subject, message_a)
        status = 'led 1 menyala'
    elif perintah == 'OFF led1':
        GPIO.output(4,GPIO.LOW)
        send_email(username, password, recipient, subject, message_b)
        status = 'led 1 padam'
    elif perintah == 'ON led2':
        GPIO.output(17,GPIO.HIGH)
        send_email(username, password, recipient, subject, message_c)
        status = 'led 2 menyala'
    elif perintah == 'OFF led2':
        GPIO.output(17,GPIO.LOW)
        send_email(username, password, recipient, subject, message_d)
        status = 'led 2 padam'
    elif perintah == 'ON led3':
        GPIO.output(27,GPIO.HIGH)
        send_email(username, password, recipient, subject, message_e)
        status = 'led 3 menyala'
    elif perintah == 'OFF led3':
        GPIO.output(27,GPIO.LOW)
        send_email(username, password, recipient, subject, message_f)
        status = 'led 3 padam'
    elif perintah == 'ON semua':
        GPIO.output(4,GPIO.HIGH)
        GPIO.output(17,GPIO.HIGH)
        GPIO.output(27,GPIO.HIGH)
        send_email(username, password, recipient, subject, message_g)
        status = 'semua led menyala'
    elif perintah == 'OFF semua':
        GPIO.output(4,GPIO.LOW)
        GPIO.output(17,GPIO.LOW)
        GPIO.output(27,GPIO.LOW)
        send_email(username, password, recipient, subject, message_h)
        status = 'semua led padam'
    else :
        status = 'no perintah'
    print ('status : ' + status)
    jawab = input("tambah perintah ?")
print ('terimakasih')

untuk penjelasan dan cara kerjanya silakan liat videonya

untuk project lengkapnya dan materi silakan download di akun github saya

ok sekian dari saya, oh… iya sebelum saya menutup tutorial ini ada kata-kata bagus dari mba nana (najwa sihab) yang pernah saya baca dan dengar, kata-kata ini cocok banget untuk anak semester awal-awal nich.

“Kuliah itu bukan cuma mengejar IPK (indeks prestasi kumulatif). IPK itu penting, tetapi itu bukan satu-satunya. IPK itu bisa membuatmu dapat panggilan wawancara kerja, tapi hanya sebatas itu,”  kata Najwa, dikutip dari keterangan tertulis Humas UKSW, Sabtu (26/8/2017).

terimakasih, penulis mohon maaf jika ada salah dalam penulisan.