Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //------------------------------------------------------------------------------
- // ATTINY85 Fast PWM
- //
- //------------------------------------------------------------------------------
- //
- // PWM a transistor to control a motor
- //
- //------------------------------------------------------------------------------
- #include <avr/io.h>
- // Global Variables
- uint32_t previousMillis = 0;
- uint16_t interval = 100;
- uint16_t potVal = 0;
- uint16_t duty = 0;
- //------------------------------------------------------------------------------
- // SET UP SET UP SET UP SET UP SET UP SET UP SET UP SET UP SET UP SET UP
- //------------------------------------------------------------------------------
- void setup() {
- DDRB = 0b00010000; // Leave A1 as input, set PB4 as output
- PORTB = 0b00000000;
- // PORTB = 0b00010000; // Set PB4 HIGH
- // delay(500);
- // PORTB = 0b00000000;
- TCCR1 = TCCR1 & 0b11111001 | 0x01; // Adjust Timer1 Prescaler
- }
- //------------------------------------------------------------------------------
- // LOOP LOOP LOOP LOOP LOOP LOOP LOOP LOOP LOOP LOOP
- //------------------------------------------------------------------------------
- void loop() {
- if (millis() - previousMillis >= interval) {
- previousMillis = millis();
- potVal = analogRead(A1);
- duty = map(potVal, 0, 1023, 0, 255);
- analogWrite(4, duty);
- }
- }
- // -----------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement